×

算法设计 算法 语言

C语言算法设计主要需要掌握哪些?如何学习C语言

admin admin 发表于2022-05-10 08:48:08 浏览130 评论0

抢沙发发表评论

C语言算法设计主要需要掌握哪些

你如果只问C语言的话,它与其他语言最大的不同就是指针了,很多针对C语言的算法都会用到它,每种语言虽然大体相同但都有独特之处的。我们老师常说:不懂指针的人,就等于不会C/C++不懂委托、引用的人,就等于不会C#除此之外就是算法设计的共同基础了,像楼上所说的,你需要熟悉各种数据结构的特性,才能在设计你的算法时用最适合的方法你需要熟悉各种变量的结构,C语言是可以手动管理内存的,灵活掌握物理地址与逻辑地址对C语言算法设计很有帮助你需要熟悉各种循环控制结构,这才是程序的真谛,让计算机代替人完成重复性的工作,而算法就是教机器该如何这样做的命令集

如何学习C语言

  1. 淘宝一些视频课程,几块钱也有,跟着视频学和写(一般VC6即可)。

  2. 如果有一些C基础,会简单的if switch while main等运用后。淘宝“51开发板“,便宜的开发板不到100元,会赠送针对此开发板的视频课程和软件包。看着视频学着对开发板进行编程操作,会简单的流水灯,按键检测、动态数码管。

  3. 基本的完成后,用开发板做一个日历/时钟吧,显示当前时分秒,通过按键改变当前时间。

  4. 此时已经属于单片机C语言的小入门了,离参与工作还需要经验和C语言的熟悉深造。此时可以参与一些校园或者省、国家电子竞赛,一定要主动找老师想参加比赛。如果是大专的话部分学习可能没有参加省比赛的习惯,部分会有。-算法

  5. 《《C语言深度解剖》》加深对C语言的理解,书的内容极少,基本就是对 指针、共同体、结构体、结构体链表等等对新手来说极少用到的知识。基本用VC6软件就可以检验和学习。推荐。

C语言问题求解,二分查找

二分查找也称折半查找,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

#include 《stdio.h》

int cnt;

int binfind(int a,int l,int r,int x)

{ cnt++;

  int m=(l+r)/2;

  if(l》m)return -1;

  if(x==a[m])return m;

  if(x》a[m])return binfind(a,m+1,r,x);

  return binfind(a,l,m-1,x);

}

int main()

{ int n,i,x,a;

  scanf(“%d“,&n);

  for(i=0; i《n; i++)

    scanf(“%d“,&a[i]);

  scanf(“%d“,&x);

  i=binfind(a,0,n-1,x);

  printf(“%d\n%d\n“,i,cnt);

  return 0;

}