- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * 5.4 比较 while 和 do-while循环 while(循环条件) { 循环体; } do { 循环体; }while( 循环条件); do-while 循环是先执行后判断,所以,即使开始条件为假,循环体也至少会被执行一次。 while循环是先判断后执行,所以,如果条件为假,则循环体一次也不会被执行。 比较 while 和 do-while 循环的工作原理 5.4 通过示例比较 int value, r_digit; value = 0; do { printf(\n请输入一个数:); scanf(%d, value); if( value = 0 ) printf(该数必须为正数\n); }while( value = 0 ); printf(\n反转后的数为:); do { r_digit = value % 10; printf(%d, r_digit); value = value / 10; }while( value != 0 ); printf(\n); int value, r_digit; value = 0; while( value = 0 ) { printf(\n请输入一个数:); scanf(%d, value); if( value = 0 ) printf(该数必须为正数\n); } printf(\n反转后的数为:); while( value != 0 ) { r_digit = value % 10; printf(%d, r_digit); value = value / 10; } printf(\n); 该程序用 do- while 循环将数字左右反转 同样的程序用 while 循环将数字左右反转 小结 循环结构的特点是,在给定条件成立时,重复执行某程序段,直到条件不成立为止 while 循环用于在给定条件为真的情况下重复执行一组操作,while循环先判断后执行 do-while循环先执行后判断,因此循环将至少执行一次 在循环中,需要修改循环变量的值以改变循环条件,否则有可能形成死循环 循环嵌套必须将内层循环完整的包含在外层循环中 for( 表达式1 ; 表达式2 ; 表达式3 ) { 语句; } for 循环的一般语法: 6.1 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 6.2 for 循环示例1 #include stdio.h int 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 6.2 逗号运算符 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 int main() { int i,j,max; printf(请输入一个值 \n); printf(根据这个值可以输出以下加法表:); scanf(%d,max); for(i = 0,j = max ; i =max ; i++,j--) printf(\n %d
文档评论(0)