《C语言程序设计教程(第3版)》课件第06章 循环结构程序设计.pptx
文本预览下载声明
;第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
显示全部