C语言算法设计主要需要掌握哪些
如何学习C语言
淘宝一些视频课程,几块钱也有,跟着视频学和写(一般VC6即可)。
如果有一些C基础,会简单的if switch while main等运用后。淘宝“51开发板“,便宜的开发板不到100元,会赠送针对此开发板的视频课程和软件包。看着视频学着对开发板进行编程操作,会简单的流水灯,按键检测、动态数码管。
基本的完成后,用开发板做一个日历/时钟吧,显示当前时分秒,通过按键改变当前时间。
此时已经属于单片机C语言的小入门了,离参与工作还需要经验和C语言的熟悉深造。此时可以参与一些校园或者省、国家电子竞赛,一定要主动找老师想参加比赛。如果是大专的话部分学习可能没有参加省比赛的习惯,部分会有。-算法
《《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;
}