C语言循环知识点总结2.docx
精品名师归纳总结循环特点:在满意特定条件得情形下 ,反复执行某程序段。While 循环While 循环得格式就是这样得 :whil e条件表达式 语句代码 ,意思就是满意括号内得条件时 ,执行花括号内得语句代码。或者更专业一点来说,当括号内得条件表达式返回值为真时 ,执行花括号内得代码 ,始终到条件表达式得返回值为假时,跳出循环。While 循环很简单显现死循环这种状况,就就是由于遗忘写了“增量”这个东西。/死循环int count = 0 ;/while count < 100 /printf"今日我真帅、 n"/上面得代码就就是少了count+, 这个增量 ,所以,条件表达式始终满意 ,就始终执行 ,就造成了死循环。 此时,应当这样改进 :/ 循环变量 :掌握循环次数/int count = 0;/while /* +在前 ,打印两次 */count/* +在后,打印三次 */< 3 /printf"今日我真帅、 n"/count = count +1;/此处,+在前在后都不影响打印次数。/循环增量/count +;/+ count;可编辑资料 - - - 欢迎下载精品名师归纳总结/一些例子 :/练习/打印 1100/int num = 0;/while num < 100 /printf" %d n",num + 1;/num +;/用while打印能被 7 整除得 1100 之间得数。/int num = 1;/while num <= 100 /ifnum % 7 = 0/printf"%d t",num;/num +;/用while循环打印出 1100 之间各位为 7得数。/int num = 0;/while num < 100 /ifnum % 10 = 7/printf"%d t",num;/num + ;/用while循环打印出 1100 之间十位为 7得数。 num / 10 = 7/int num = 0;/while num < 100 可编辑资料 - - - 欢迎下载精品名师归纳总结/ifnum / 10 =7/printf"%d t",num;/num +;/Do-while循环与 whil e 不同得只有一个的方 ,就就是先执行一遍代码 ,再进行判定。也就就是说 , 不管您 whil e 得条件表达式成不成立 ,返回值为不为假 ,我都执行一遍循环体得代码。/ do while/do/printf"至少执行一次 ,不管后面得判定条件就是真仍就是假"/while 1 ;/ ;分号不能丢随机数 arc4random产生随机数得方法 ,arc4random可以产生 int 范畴内得任意一个随机数 ,包括有正数与负数 ,为什么会显现负数了?由于 ,在储备得时候 ,生成得数得最高位得数字为 1,此时,会认为这个 1 就是符号位得负 ,因此会显现负数。这时 ,我们应当把这些情形防止掉 ,在输出之前 ,用 unsigned 来定义一个变量来接收产出得随机数;在输出得过程中 ,占位符不再用 %d,而就是用 %u 来代替。另一个值得留意得就是 ,随机数产生得时候 ,数字会很大 ,而我们在代码过程中 ,不需要这么大得数 ,此时,想要把这个数减小 ,可以用取余得方法来限制。/随机数 arc4random,/用%u来打印 ,表示无符号。由于随机函数给得值很大,我们采纳取余得方法,使值变小。 取余得随机数得范畴就就是 ,0被除数 -1/printf"%u t", arc4random % 10;/打印 只有 010 得数在产生一个随机数得时候 ,可以让它在固定得区间内产生,那么就会用到这个公可编辑资料 - - - 欢迎下载精品名师归纳总结式:/取某区间 a,b得数,用公式 :arc4random % b-a+1+a如就是规定在负空间生成随机数 ,那么就将公式改成 :/arc4random % b-a+1-a一些例子 :/用户输入一个 N, 用 while打印 N个随机数 1030 /int num = 0;/int count = 0;/printf"输入一个数 :"/scanf"%d",#/printf"产生 %d随机数为 : nt",num;/while count < num /unsigned声明一个无符号 int类型。/unsigned unum = arc4random%30-10+1+10;/printf"第 %d个数为 : %d t",count+1, unum;/count +;/输入一个数 ,用 while打印 n个随机数 3070 ,找出随机数中最大值。/int num = 0;/printf"输入一个数 :n"/scanf"%d",#/int count = 0;/int max = 0;/while count < num /unsigned unum = arc4random%70-30+1+30;/printf"第 %d个数为 : %d n",count+1, unum;/ifmax < unum /max = unum;/count +;可编辑资料 - - - 欢迎下载精品名师归纳总结/printf"n "printf"最大得数为 :%d n",max;Break 与 continue这两个关键字在开发过程中常常遇见 ,她们得区分如下 :break: 在某个循环得时候 ,用上 break, 意思就就是停止这个循环 ,不再执行这个循环,我要跳出这个循环。continue :在某个循环得时候 ,在过程中用上 continue, 意思就就是 ,我在得这个循环仍在运行 ,但就是我不运行这一次得循环 ,我要跳到下一次得循环去 ,但就是仍就是在这个循环里 ,没有跳出去 ,只就是不执行这次罢了。/ 循环变量/int count = 0;/while count <10 /count +;/ifcount = 3/终止本次循环/continue;/*/输出结果 :/第 1天/第 2天/第 4天/第 5天/第 6天/第 7天/第 8天/第 9天可编辑资料 - - - 欢迎下载精品名师归纳总结/ break;终止循环/*/输出结果 :/第 1天/第 2天/第 4天 */printf"第 %d天 n",count;/第 10天 */ifcount = 5for循环for 循环与 whil e 差不多 ,但就是就是将条件与增量 ,循环变量都一起放在了小括号里。值得留意得就是 :while 与 for 得比较时 ,for 得一个好处相比于 while循环:while中存在铺张内存得情形 ,由于循环变量在while循环外边 ,直到它所在得花括号终止 ,才释放内存。 而 for循环得循环变量 在for循环终止后 ,即释放。for循环得执行过程就是这样得 :forint i= 0 ; i < 100; i+循环体可编辑资料 - - - 欢迎下载精品名师归纳总结在运行到本处时 , 先进行赋初值 , 然后判定条件 , 满意就跳进循环体执行代码 , 执行循环体代码终止后 , 对i 进行自增 i+,然后进行判定 , 执行 , 自增四。如此循环下去。/ for循环/int count = 0;/while count < 5 /printf"n我就是 while循环。 "/count +;/ for循环变量 ;条件 ;增量 循环体 /for int i = 0;i < 5; i+ /printf"n我就是 for循环哦。 "/ 练习/ 打印 0 100/for int i = 0; i <= 100; i + /printf"%d t",i;/ 打印 1100/相比于 while循环:while中存在铺张内存得情形 ,由于循环变量在 while循环外边 ,直到它所在得花括号终止 ,才释放内存。/而 for循环 得循环变量在for循环终止后 ,即释放。/for int j = 0; j < 100; j + /printf"%d t",j + 1;/ 打印 */for int i = 0; i < 3; i + /printf"*"/可编辑资料 - - - 欢迎下载精品名师归纳总结循环嵌套当我们发觉 ,一个循环自身又要循环多次时 ,用循环嵌套 :循环里有循环。/ 打印/*/ 两层 for循环/ 外层 for:负责掌握行/for int j = 0; j < 3; j+ /内层 for负责每行打印多少个/for int i = 0; i < 3; i + /printf"*"/printf"n"/ 打印/*11 21 2 3*/里边得个数跟行数一样 ,第一行有一个 ,其次行有 2个。那么只要 i<= j就可以了。/for int j = 1; j <= 3; j+ /for int i = 1; i <= j; i + /printf"%d ",i;/printf"n"/可编辑资料 - - - 欢迎下载精品名师归纳总结/ 打印乘法口诀表/for int i = 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循环/ 百位 19forinti = 1; i <= 9 ; i+ /for十位 09intj = 0 ; j <= 9; j+ /个位 09forintk = 0 ; k <= 9 ; k+ printf "%dn",i * 100 + j * 10 + k;可编辑资料 - - - 欢迎下载