上次讲到循环,循环有几种呢?运用条件是什么?它们有什么区别?就一般而言,对于知道要循环多少次的使用for循环,而在循环前要先进行一次循环的使用do-while循环,其余的使用while循环。为什么呢?我们通过一个例子来说明。
int count = 100;
while ( count >= 0){
count --;
printf("%d\n",count);
}
printf("launch!\n");
okay,上述代码需要跑几遍呢?请思考后回答。
结果是101次。是的循环执行了101次。好的循环次数我们知道了,下一个问题便是当循环运行的时候,输出是否有零?答案是是的!那么最后一个问题,循环最后输出什么数字?-1!好的,相信大家都想出这三个问题了,但是大家用多长时间想出来的?这里有个小技巧,对于这种次数很多的循环,我们可以将循环次数设为2次,然后回答上述问题然后推广到原有循环即可得到答案。
yeah,我们设想一下假如把循环里面的代码行交换次序会发生什么呢?
int count = 100;
while ( count >= 0){
printf("%d\n",count);
count --;
}
printf("launch!\n");
仍然是上述3个问题,答案是什么呢?ok,执行101次,循环中出现0,循环输出结果为0.
所以编写代码是=时候一定要严谨,牵一发而动全身!!!
至此万事俱备,我们便可以编写C语言程序了。
首先用一个小游戏做一个引子,让大家知道C语言绝不是枯燥的。这个游戏很普通就是猜数游戏。电脑随机出一个数字,让你去猜数,一个小秘密,任何数字只需要7次绝对能猜到,原理是二分法,这里不再赘述。By the way!一定要善于运用搜索引擎!
猜数字游戏代码如下:
include <stdlib.h>
include <time.h>
srand(time(0));
//int a = rand();//产生随机数
int number = rand()%100+1;
int count = 0;
int a = 0;
printf("我想好了一个1到100之间的数!");
do{
printf("请猜猜看!");
scanf("%d",&a);
count ++;
if ( a > number) {
printf("太大了!");
}else if("a < number"){
printf("太小了!");
}
} while( a != number);
printf("Ok,你只用了%d次就猜到了答案。\n",count);
大家可以运行一下。
|