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

上传人:小飞机 文档编号:3155289 上传时间:2023-03-11 格式:DOCX 页数:8 大小:39.34KB
返回 下载 相关 举报
C语言循环知识点总结.docx_第1页
第1页 / 共8页
C语言循环知识点总结.docx_第2页
第2页 / 共8页
C语言循环知识点总结.docx_第3页
第3页 / 共8页
C语言循环知识点总结.docx_第4页
第4页 / 共8页
C语言循环知识点总结.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言循环知识点总结.docx》由会员分享,可在线阅读,更多相关《C语言循环知识点总结.docx(8页珍藏版)》请在三一办公上搜索。

1、C语言循环知识点总结循环 特点:在满足特定条件的情况下,反复执行某程序段。 While循环 While循环的格式是这样的:while语句代码,意思是满足括号内的条件时,执行花括号内的语句代码。或者更专业一点来说,当括号内的条件表达式返回值为真时,执行花括号内的代码,一直到条件表达式的返回值为假时,跳出循环。 While循环很容易出现死循环这种状况,就是因为忘记写了“增量”这个东西。 /死循环 int count = 0 ; / while (count 100) / printf(今天我真帅.n); / 上面的代码就是少了count+,这个增量,所以,条件表达式一直满足,就一直执行,就造成了死

2、循环。 此时,应该这样改进: /循环变量:控制循环次数 / int count = 0; / while (/* + 在前,打印两次 */count/* + 在后,打印三次*/ 3 ) / / printf(今天我真帅.n); / count = count +1; / / /此处,+ 在前在后都不影响打印次数。 / / /循环增量 / count +; / + count; / 一些例子: /练习 /打印1100 / intnum = 0; / while (num 100) / printf( %d n,(num + 1); / / num +; / /用while 打印能被7整除的110

3、0之间的数。 / intnum = 1; / while (num= 100) / / if(num % 7 = 0) / printf(%d t,num); / / num +; / /用while循环打印出1100之间各位为7的数。 / intnum = 0; / / while (num 100) / / if(num % 10 = 7) / printf(%d t,(num); / / num + ; / /用while循环打印出1100之间十位为7的数。num / 10 = 7 / intnum = 0; / while (num 100) / if(num / 10 =7) / p

4、rintf(%d t,num); / / num +; / Do-while循环 与while不同的只有一个地方,就是先执行一遍代码,再进行判断。也就是说,不管你while的条件表达式成不成立,返回值为不为假,我都执行一遍循环体的代码。 / do while / do / printf(至少执行一次,不管后面的判断条件是真还是假); / while (1) ;/ ; 分号不能丢 随机数arc4random 产生随机数的方法,arc4random可以产生int范围内的任意一个随机数,包括有正数和负数,为什么会出现负数呢?因为,在存储的时候,生成的数的最高位的数字为1,此时,会认为这个1是符号位的

5、负,因此会出现负数。这时,我们应该把这些情况避免掉,在输出之前,用unsigned 来定义一个变量来接收产出的随机数;在输出的过程中,占位符不再用%d,而是用%u来代替。 另一个值得注意的是,随机数产生的时候,数字会很大,而我们在代码过程中,不需要这么大的数,此时,想要把这个数减小,可以用取余的办法来限制。 /随机数 arc4random, /用%u来打印,表示无符号。 /由于随机函数给的值很大,我们采用取余的方法,使值变小。取余的随机数的范围就是,0被除数-1 / printf(%u t, arc4random % 10);/打印只有010的数 在产生一个随机数的时候,可以让它在固定的区间内

6、产生,那么就会用到这个公式: /取某区间a,b的数,用公式:arc4random % (b-a+1)+a 若是规定在负空间生成随机数,那么就将公式改成: /arc4random % (b-a+1)-a 一些例子: /用户输入一个N,用while打印N个随机数 / intnum = 0; / int count = 0; / printf(输入一个数:); / scanf(%d,&num); / printf(产生 %d 随机数为: nt,num); / while (count num) / / /unsigned 声明一个无符号int类型。 / unsignedunum = (arc4ran

7、dom%(30-10+1)+10); / printf( 第 %d 个数为:%d t,(count+1), unum); / count +; / /输入一个数,用while打印n个随机数,找出随机数中最大值。 / intnum = 0; / printf(输入一个数:n); / scanf(%d,&num); / int count = 0; / int max = 0; / while (count num ) / unsignedunum = (arc4random%(70-30+1)+30); / printf( 第 %d 个数为:%d n,(count+1), unum); / /

8、if(max unum ) / max = unum; / / count +; / / printf(n ); / printf(最大的数为:%d n,max); Break和continue 这两个关键字在开发过程中经常遇见,他们的区别如下: break:在某个循环的时候,用上break,意思就是停止这个循环,不再执行这个循环,我要跳出这个循环。 continue :在某个循环的时候,在过程中用上continue,意思就是,我在的这个循环还在运行,但是我不运行这一次的循环,我要跳到下一次的循环去,但是还是在这个循环里,没有跳出去,只是不执行这次罢了。 /循环变量 / int count =

9、 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差不多

10、,但是是将条件和增量,循环变量都一起放在了小括号里。 值得注意的是:while与for的比较时,for的一个好处 相比于while 循环:while 中存在浪费内存的情况,因为循环变量在while循环外边,直到它所在的花括号结束,才释放内存。而 for循环的循环变量在for循环结束后,即释放。 for循环的执行过程是这样的: for 在运行到本处时,先进行赋初值,然后判定条件,满足则跳进循环体执行代码,执行循环体代码结束后,对i进行自增i+,然后进行判断,执行,自增四。如此循环下去。 / for 循环 / int count = 0; / while (count 5) / printf(n我

11、是 while 循环。); / count +; / 循环体 / for(循环变量 ; 条件 ; 增量) 循环体 / for (inti = 0;i 5; i+) / printf(n我是 for 循环哦。); / /练习 /打印 0 100 / for (inti = 0; i= 100; i +) / printf(%d t,i); / /打印1100 / 相比于while 循环:while 中存在浪费内存的情况,因为循环变量在while循环外边,直到它所在的花括号结束,才释放内存。 / 而 for循环的循环变量在for循环结束后,即释放。 / for (int j = 0; j 100;

12、 j +) / printf(%d t,(j + 1); / /打印 * / for (inti = 0; i 3; i + ) / printf(*); / 循环嵌套 当我们发现,一个循环自身又要循环多次时,用循环嵌套:循环里有循环。 /打印 /* * * * */ /两层for循环 /外层for:负责控制行 / for (int j = 0; j 3; j+) / /内层 for 负责每行打印多少个 / for (inti = 0; i 3; i + ) / printf(*); / / printf(n); / /打印 /* 1 1 2 1 2 3 */ / 里边的个数跟行数一样,那么只

13、要i= j 就可以了。 / for (int j = 1; j = 3; j+) / for (inti = 1; i= j; i +) / printf(%d ,i); / / printf(n); / /打印乘法口诀表 / for (inti = 0; i 9; i +) / /列 / for (int j = 0; j = i ; j +) / printf( %d * %d = %d t,j+1,i+1,(j+1)*(i+1); / / printf(n); / /三维数组合: / 三个for循环 /百位 19 for (inti = 1; i= 9 ; i+) /十位 09 for ( int j = 0 ; j = 9; j+) /个位 09 for (int k = 0 ; k = 9 ; k+) printf(%dn,i * 100 + j * 10 + k);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号