下载此文档

c语言循环知识点总结.docx


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
该【c语言循环知识点总结 】是由【朱老师】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【c语言循环知识点总结 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。循环
特点:在满足特定条件的情况下,反复执行某程序段。
While循环
While循环的格式是这样的:while〔条件表达式〕{语句代码},意思是满足括号内的条件时,执行花括号内的语句代码。或者更专业一点来说,当括号内的条件表达式返回值为真时,执行花括号内的代码,一直到条件表达式的返回值为假时,跳出循环。
While循环很容易出现死循环这种状况,就是因为忘记写了“增量〞这个东西。
//死循环
intcount=0;
//while(count<100){
//printf("今天我真帅...\n");
//}
上面的代码就是少了count++,这个增量,所以,条件表达式一直满足,就一直执行,就造成了死循环。
此时,应该这样改良:
//循环变量:控制循环次数
//intcount=0;
//while(/*++在前,打印两次*/count/*++在后,打印三次*/<3){
//
//printf("今天我真帅...\n");
////count=count+1;
//
////此处,++在前在后都不影响打印次数。
//
////循环增量
//count++;
////++count;
//}
一些例子:
//练习
//打印1~100
//intnum=0;
//while(num<100){
//printf("%d\n",(num+1));
//
//num++;
//}
//用while打印能被7整除的1~100之间的数。
//intnum=1;
//while(num<=100){
//
//if(num%7==0){
//printf("%d\t",num);
//}
//num++;
//}
//用while循环打印出1~100之间各位为7的数。
//intnum=0;
//
//while(num<100){
//
//if(num%10==7){
//printf("%d\t",(num));
//}
//num++;
//}
//用while循环打印出1~100之间十位为7的数。num/10==7
//intnum=0;
//while(num<100){
//if(num/10==7){
//printf("%d\t",num);
//}
//num++;
//}
Do-while循环
与while不同的只有一个地方,就是先执行一遍代码,再进行判断。也就是说,不管你while的条件表达式成不成立,返回值为不为假,我都执行一遍循环体的代码。
//dowhile
//do{
//printf("至少执行一次,不管后面的判断条件是真还是假");
//}while(1);//;分号不能丢
随机数arc4random()
产生随机数的方法,arc4random()可以产生int范围内的任意一个随机数,包括有正数和负数,为什么会出现负数呢?因为,在存储的时候,生成的数的最高位的数字为1,此时,会认为这个1是符号位的负,因此会出现负数。这时,我们应该把这些情况防止掉,在输出之前,用unsigned来定义一个变量来接收产出的随机数;在输出的过程中,占位符不再用%d,而是用%u来代替。
另一个值得注意的是,随机数产生的时候,数字会很大,而我们在代码过程中,不需要这么大的数,此时,想要把这个数减小,可以用取余的
方法来限制。
//随机数arc4random(),
//用%u来打印,表示无符号。
//由于随机函数给的值很大,我们采用取余的方法,使值变小。取余的随机数的范围就是,0~被除数-1
//printf("%u\t",arc4random()%10);//打印只有0~10的数
在产生一个随机数的时候,可以让它在固定的区间内产生,那么就会用到这个公式:
//取某区间[a,b]的数,用公式:arc4random()%(b-a+1)+a
假设是规定在负空间生成随机数,那么就将公式改成:
/arc4random()%(b-a+1)-a
一些例子:
//用户输入一个N,用while打印N个随机数〔10~30〕
//intnum=0;
//intcount=0;
//printf("输入一个数:");
//scanf("%d",&num);
//printf("产生%d随机数为:\n\t",num);
//while(count<num){
//
////unsigned声明一个无符号int类型。
//unsignedunum=(arc4random()%((30-10+1)+10));
//printf("第%d个数为:%d\t",(count+1),unum);
//count++;
//}
//输入一个数,用while打印n个随机数〔30~70〕,找出随机数中最大值。
//intnum=0;
//printf("输入一个数:\n");
//scanf("%d",&num);
//intcount=0;
//intmax=0;
//while(count<num){
//unsignedunum=(arc4random()%((70-30+1)+30));
//printf("第%d个数为:%d\n",(count+1),unum);
//
//if(max<unum){
//max=unum;
//}
//count++;
//}
//printf("\n");
//printf("最大的数为:%d\n",max);
Break和continue
这两个关键字在开发过程中经常遇见,他们的区别如下:
break:在某个循环的时候,用上break,意思就是停止这个循环,不再执行这个循环,我要跳出这个循环。
continue:在某个循环的时候,在过程中用上continue,意思就是,我在的这个循环还在运行,但是我不运行这一次的循环,我要跳到下一次的循环去,但是还是在这个循环里,没有跳出去,只是不执行这次罢了。
//循环变量
//intcount=0;
//while(count<10){
//
//count++;
//
//if(count==3){
////结束本次循环
//continue;
///*
//输出结果:
//
//第1天
//第2天
//第4天
//第5天
//第6天
//第7天
//第8天
//第9天
//第10天*/
//}
//if(count==5){
////结束循环
//break;
//
///*
//输出结果:
//
//第1天
//第2天
//第4天*/
//}
//
//printf("第%d天\n",count);
//
//}
for循环
for循环和while差不多,但是是将条件和增量,循环变量都一起放在了小括号里。
值得注意的是:while与for的比拟时,for的一个好处
相比于while循环:while中存在浪费内存的情况,因为循环变量在while循环外边,直到它所在的花括号结束,才释放内存。而for循环的循环变量在for循环结束后,即释放。
for循环的执行过程是这样的:
for〔①inti=0;②i<100;④i++〕{
③循环体
}
在运行到本处时,先进行①赋初值,然后判定条件,满足那么跳进循环体执行代码③,执行循环体代码结束后,对i进行自增④i++,然后进行②判断,执行③,自增四。。。如此循环下去。
//for循环
//intcount=0;
//while(count<5){
//printf("\n我是while循环。。。");
//count++;
//}
//for(循环变量;条件;增量){循环体}
//for(inti=0;i<5;i++){
//printf("\n我是for循环哦。。。");
//}
//练习
//打印0~100
//for(inti=0;i<=100;i++){
//printf("%d\t",i);
//}
//打印1~100
//相比于while循环:while中存在浪费内存的情况,因为循环变量在while循环外边,直到它所在的花括号结束,才释放内存。
//而for循环的循环变量在for循环结束后,即释放。
//for(intj=0;j<100;j++){
//printf("%d\t",(j+1));
//}
//打印***
//for(inti=0;i<3;i++){
//printf("*");
//}
循环嵌套
当我们发现,一个循环自身又要循环屡次时,用循环嵌套:循环里有循环。
//打印
/*
***
***
***
*/
//两层for循环
//外层for:负责控制行
//for(intj=0;j<3;j++){
////内层for负责每行打印多少个
//for(inti=0;i<3;i++){
//printf("*");
//}
//printf("\n");
//}
//打印
/*
1
12
123
*/
//里边的个数跟行数一样,〔第一行有一个,第二行有2个。。。〕那么只要i<=j就可以了。
//for(intj=1;j<=3;j++){
//for(inti=1;i<=j;i++){
//printf("%d",i);
//}
//printf("\n");
//}
//打印乘法口诀表
//for(inti=0;i<9;i++){
////列
//for(intj=0;j<=i;j++){
//printf("%d*%d=%d\t",j+1,i+1,(j+1)*(i+1));
//}
//printf("\n");
//}
//三维数组合:
//三个for循环
//百位1~9
for(inti=1;i<=9;i++){
//十位0~9
for(intj=0;j<=9;j++){
//个位0~9
for(intk=0;k<=9;k++){
printf("%d\n",i*100+j*10+k);
}
}
}

c语言循环知识点总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人朱老师
  • 文件大小19 KB
  • 时间2023-03-06