文档详情

《C语言程序设计教程(第3版)》课件第06章 循环结构程序设计.pptx

发布:2022-10-04约3.67千字共45页下载文档
文本预览下载声明
;第6章:循环结构程序设计 ; While、do-while、for语句 循环嵌套 Break、continue、goto语句 exit()函数 循环结构类型的选择及转换 循环结构程序设计举例 本章小结;6.1 循环结构的程序设计 ;【例】 用while语句求1~100的累计和。 ;具体程序如下:;【例】显示1~10的平方;(1)如果while后的表达式的值一开始就为假,循环体将一次也不执行。 (2)循环体中的语句可为任意类型的C语句。 (3)遇到下列情况,退出while循环: 表达式为假(为0)。 循环体内遇到break、return或goto语句(break和goto语句将??随后介绍)。; (4)在执行while语句之前,循环控制变量必须初始化,否则执行的结果将是不可预知的。 (5)要在while语句的某处(表达式或循环体内)改变循环控制变量,否则极易构成死循环。 (6)允许while语句的循环体又是while语句,从而形成双重循环。 ;【例】求两个正整数的最大公因子。;2. do_while语句 ;【例】 用do_while语句求1~100的累计和。 ;(1) 如果do-while后的表达式的值一开始就为假,循环体还是要执行一次。 (2) 在if语句、while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面则必须加分号,否则将产生语法错误。 (3) 循环体中的语句可为任意类型的C语句。 (4) 和while语句一样,在使用do-while语句时,不要忘记初始化循环控制变量,否则执行的结果将是不可预知的。 (5) 要在do-while语句的某处(表达式或循环体内)改变循环控制变量的值,否则极易构成死循环。 (6) do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。 ;3. for语句 ;【例】 用for语句求1~100的累计和。 ; for语句注意事项:;#include stdio.h int main ( ) { int i, sum = 0; i = 1; for ( ; i = 100; i++) sum += i; printf(sum = %d\n, sum); return 0; };for (a = 1; ; a++) printf (d\n, a);; 三种循环可互相嵌套,层数不限 外层循环可包含两个以上内循环,但不能相互交叉 嵌套循环的执行流程;【例】循环嵌套,输出九九表;i10;5. break与continue语句 ; 【例】 将用户输入的小写字母转换成大写字母,直到输入非小写字母字符。 ; 方法:通过设置一标志变量tag,然后在每层循环后加上一条语句:if (tag) break; 其值为1表示跳出循环体,为0则不跳出。 ;continue语句 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。 说明: 仅用于循环语句中。 在嵌套循环的情况下,continue语句只对包含它的最内层的循环体语句起作用。 ;【例】求输入的十个整数中正数的个数及其平均值。;#include stdio.h int main ( ) { int i, a, num = 0; float sum = 0; for (i = 0; i 10; i++) { scanf (%d, a); //输入一整数 if (a = 0) continue; //如果为负,则输入下一个整数 num++; //正数个数增1 sum += a; //正数和累加 } printf (%d plus integers sum: %.0f\n, num, sum); printf (average value: %.2f\n, sum / num); return 0; };6. goto语句 ;例:求1~100的累计和 #include stdio.h int main ( ) { int i = 1, sum = 0; loop: sum += i++; if (i = 100) //如果i小于或等于100 goto loop; //转到标号为loop的语句去执行 printf (sum = %d\n, sum); return 0; };7. exit
显示全部
相似文档