C语言循环知识点总结_第1页
C语言循环知识点总结_第2页
C语言循环知识点总结_第3页
C语言循环知识点总结_第4页
C语言循环知识点总结_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、执行,就造成了死循环。 此时,应该这样改进: /循环变量:控制循环次数 / int count = 0; / while ( /* + 在前,打印两次 */ count /* +在后,打印三次*/ 3 ) / / printf( 今天我真帅、 n); / cou nt = count +1; / / / 此处,+在前在后都不影响打印次数。 / / / 循环增量 / count + II Illi + count; 一些例子: II 练习 II 打印1100 II int num = 0; II while (num 100) II printf( %d n,(num + 1); II II n

3、um +; II II 用while打印能被7整除得1100之间得数。 II int num = 1; II while (num = 100) II II if(num % 7 = 0) II printf(%d t,num); II II num +; II II 用while 循环打印出1100 之间各位为 7得数。 II int num = 0; II II while (num 100) II II if(n um % 10 = 7) II prin tf(%d t,( nu m); II II num + ; II II 用while 循环打印出1100 之间十位为 7 得数。nu

4、m I 10 = 7 II int num = 0; / while (num 100) /if(num / 10 =7) /printf(%d t,num); / /num +; / Do-while 循环 与while不同得只有一个地方,就就是先执行一遍代码,再进行判断。也就就是 说,不管您while得条件表达式成不成立,返回值为不为假,我都执行一遍循环 体得代码。 / do while / do /prin tf(至少执行一次,不管后面得判断条件就是真还就是假); / while (1) ;/ ;分号不能丢 随机数 arc4random() 产生随机数得方法,arc4random() 可

5、以产生int范围内得任意一个随机数, 包括有正数与负数,为什么会出现负数呢?因为,在存储得时候,生成得数得最 高位得数字为1,此时,会认为这个1就是符号位得负,因此会出现负数。这时, 我们应该把这些情况避免掉,在输出之前,用unsigned来定义一个变量来接收 产出得随机数;在输出得过程中,占位符不再用 %d,而就是用%u来代替。 另一个值得注意得就是,随机数产生得时候,数字会很大,而我们在代码过程中, 不需要这么大得数,此时,想要把这个数减小,可以用取余得办法来限制。 / 随机数 arc4random(), /用口来打印,表示无符号。 /由于随机函数给得值很大,我们采用取余得方法,使值变小。

6、取余得随机数得 打印只有010得数 范围就就是,0被除数-1 / printf(%u t, arc4random() % 10);/ 在产生一个随机数得时候,可以让它在固定得区间内产生,那么就会用到这个公 式: /取某区间a,b 得数,用公式:arc4random() % (b-a+1)+a 若就是规定在负空间生成随机数,那么就将公式改成: /arc4ra ndom() % (b-a+1)-a /用户输入一个N,用while打印N个随机数(1030) /int num = 0; /int count = 0; /printf(输入一个数:”); /scan f(%d, /printf(产生%d

7、随机数为:nt,num); /while (co unt num) / /unsigned声明一个无符号int 类型。 /un sig ned unum = (arc4ra ndom()%(30-10+1)+10); /printf(”第 %d 个数为:%d t,(count+1), unum); /count +; / /输入一个数,用while打印n个随机数(3070 ),找出随机数中最大值 / int num = 0; / printf(输入一个数:n); / scan f(%d, / int count = 0; / int max = 0; / while (co unt num )

8、 / un sig ned unum = (arc4ra ndom()%(70-30+1)+30); /printf(”第 %d 个数为:%d n,(count+1), unum); / / if(max unum ) / max = unum; / /count +; / / prin tf(n ); / printf(最大得数为:d n,max); Break 与 continue 这两个关键字在开发过程中经常遇见,她们得区别如下: break :在某个循环得时候,用上 break,意思就就是停止这个循环,不再执行 这个循环,我要跳出这个循环。 continue :在某个循环得时候,在过程

9、中用上continue,意思就就是,我在得 这个循环还在运行,但就是我不运行这一次得循环,我要跳到下一次得循环去, 但就是还就是在这个循环里,没有跳出去,只就是不执行这次罢了。 /循环变量 / int count = 0; / while (co unt 10) / / count +; / / if(co unt = 3) / / 结束本次循环 / con ti nue; / /* / 输出纟 吉果: / / 第1 天 / 第2 天 / 第4 天 / 第5 天 / 第6 天 / 第7 天 / 第8 天 / 第9 天 / 第10 天*/ / / if(co unt = =5) / / 结束循环

10、 / break; / / /* / 输出结果: / / 第1 天 / 第2 天 / 第4 天*/ / / / printf( 第 d 天 n,count); / / for循环 for循环与while差不多,但就是就是将条件与增量,循环变量都一起放在了小 括号里。 值得注意得就是:while与for得比较时,for得一个好处 相比于while 循环:while 中存在浪费内存得情况,因为循环变量 在while循环外边,直到它所在得花括号结束,才释放内存。而for 循环得循环变量在for循环结束后,即释放。 for循环得执行过程就是这样得: for ( int i= 0;i 100; i+ )

11、 循环体 在运行到本处时,先进行赋初值,然后判定条件,满足则跳进循环 体执行代码,执行循环体代码结束后,对i进行自增i+,然后 进行判断,执行,自增四。如此循环下去 / for循环 / int count = 0; / while (co unt 5) / pri ntf(n 我就是while 循环。 / count +; / / for(循环变量; 条件;增量)循环体 / for (i nt i = 0;i 5; i+) / pri ntf(n 我就是for 循环哦。) / /练习 / 打印 0 100 / for (i nt i = 0; i = 100; i +) / pri ntf(%

12、d t,i); / /打印1100 while /相比于while 循环:while中存在浪费内存得情况,因为循环变量在 循环外边,直到它所在得花括号结束,才释放内存。 /而for循环 得循环变量 在for循环结束后,即释放。 / for (i nt j = 0; j 100; j +) / printf(%d t,(j + 1); / /打印* / for (i nt i = 0; i 3; i + ) / prin tf(*); / 循环嵌套 当我们发现,一个循环自身又要循环多次时,用循环嵌套:循环里有循环。 /打印 /* * * * */ /两层for循环 /外层for:负责控制行 /

13、for (int j = 0; j 3; j+) /内层for负责每行打印多少个 / for (i nt i = 0; i 3; i + ) /prin tf(*); / /prin tf(n); / /打印 /* 1 1 2 1 2 3 = */ /里边得个数跟行数一样,(第一行有一个,第二行有2个。)那么只要i j就可以了。 / for (i nt j = 1; j = 3; j+) / for (i nt i = 1; i = j; i +) /printf(%d ,i); / /prin tf(n); / /打印乘法口诀表 / for (i nt i = 0; i 9; i +) /列 / for (i nt j = 0; j = i ; j +) / prin tf( %d *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论