- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * ACCP V4.0 ACCP V4.0 第六章 循环结构 – II * 回顾 循环结构的特点是,在给定条件成立时,重复执行某程序段,直到条件不成立为止 while 循环用于在给定条件为真的情况下重复执行一组操作,while循环先判断后执行 do-while循环先执行后判断,因此循环将至少执行一次 在循环中,需要修改循环变量的值以改变循环条件,否则有可能形成死循环 循环嵌套必须将内层循环完整的包含在外层循环中 * 目标 熟练使用for循环 理解 break 和 continue 语句的用法 熟练使用嵌套循环 * for( 表达式1 ; 表达式2 ; 表达式3 ) { 语句; } for 循环的一般语法: for 循环 counter = 0; inum = 1; cnt = 100; counter == 10; inum 25; cnt 0 counter ++; inum = inum + 1; cnt-- 分号用于分隔 for 循环的 三个表达式 1、计算表达式1的值,通常为循环变量赋初值; 2、计算表达式2的值,即判断循环条件是否为真,若值为真则执行循环体一次, 否则跳出循环; 3、计算表达式3的值,这里通常写更新循环变量的赋值表达式,然后转回第2步重复执行; 工作原理 1 2 3 4 * for 循环示例1 #include stdio.h void main() { int number,count,factorial=1; printf(\n 请输入任意一个正整数:); scanf(%d,number); for(count = 1; count =number; count++) factorial=factorial*count; printf(\n %d的阶乘 = %d\n,number,factorial); } 请输入任意一个正整数:5 内存 number count factorial 5 1 1 2 120 6 循环执行五次 5的阶乘 = 120 * 逗号运算符 for(i = 0 , j = max ; i =max ; i++, j--) printf(“\n%d + %d = %d”,i, j, i + j); for语句中的三个表达式都可以是逗号表达式 逗号表达式就是通过“,”运算符隔开的多个表达式组成的表达式 逗号表达式从左往右计算。逗号运算符在 C 语言运算符中的优先级最低 * for 循环示例2 #include stdio.h void main() { int i,j,max; printf(请输入一个值 \n); printf(根据这个值可以输出以下加法表:); scanf(%d,max); for(i = 0,j = max ; i =max ; i++,j--) printf(\n %d + %d = %d,i,j,i + j); printf(\n); } 循环执行max次 初始化语句只执行一次 请输入一个值 根据这个值可以输出以下加法表:5 0 + 5 = 5 1 + 4 = 5 2 + 3 = 5 3 + 2 = 5 4 + 1 = 5 * for 循环的表达式 for 循环中有三个表达式 for 语句中的各个表达式都可以省略 分号分隔符不能省略 for(初始化循环变量 ;循环条件 ; 修改循环变量的值) { 循环体语句; } 可省略 不能省略 * 省略表达式1 int num=0; for(;num = 10 ;num ++) { printf(%d\n,num*2); } int a=0,n; printf(\n 输入n的值: ); scanf(%d,n); for(;n0;a++,n--) printf(%d ,a*2); 相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值 * 省略表达式2 for(num=1;;num++) { ... } 即不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环 * 省略表达式3 for(i=1;i=100;) { sum=sum+1; i++; } 即省去修改循环变量的值,但此时应在循环体内设法结束循环 * 省略三个表达式 for( ; ; ) { printf(这将一直进行下去); i = getchar(); if(i == X || i == x) break; } 即不为循环变量赋
文档评论(0)