文档介绍:C语言专业教学课件
第五章
循环程序设计
5
第五章
循环程序设计
在C语言中可用以下语句构成循环:P81 • if … goto • while • do … while • for 其中if … goto是通过编程技巧(if语句和goto 语句组合)构成循环功能。而且goto语句将影响程序流程的模块化,使程序可读性变差,所以结构化程序设计主张限制goto语句的使用。其他三种语句是C语言提供的循环结构专用语句。
名词解释
无限循环循环结构两大要素: 死循环•循环条件 p 结束循环的条件表达式•循环体 A 循环执行的语句或语句组名词解释设置循环条件要特别注意确空循环定: •循环变量的初值•循环变量的终值•循环变量的变化规律
【例一】 1、if … goto语句循环结构
main() { int n=0,sum=0; loop: sum+=n; ++n; if (sum<=10000) goto loop; printf(“n = %d\n”,n); }
当型
直到型
【例二】 main() { int n=0,sum=0; loop: if (sum>=10000) goto end; sum+=n; ++n; goto loop; end: printf(“n = %d\n”,n); }
当
2、while语句循环结构
一般形式 P82 while (条件表达式) 循环体; •用于构成当型循环:先判断后执行。条件为真继续循环, 直到条件为假时结束循环。•【注意】条件表达式或循环体内应有改变条件使循环结束的语句,否则可能陷入“死循环”。P82 • P83例
型
【例三】 main() { int n=0,sum=0; while (sum<=10000) { sum+=n; ++n; } printf(“n = %d\n”,n); }
【例四】 main() 3、do…while语句循环结构{ int n=0,sum=0; •一般形式 P84 do { do { sum+=n; 循环语句(组) ++n; } while (sum<=10000) } while (条件表达式); printf(“n = %d\n”,n); •用于构成直到型循环:先直到sum超过} 执行后判断。条件为真继 10000为止续循环,直到条件为假时结束循环。•【注意】条件表达式或循直环体内同样应有改变条件到使循环结束的语句,否则型可能陷入“死循环”。
3、do…while语句循环结构
main() { int num,c;
示例
【例五】从键盘输入一个整数 12456,分析以下程序运行结果。
结果:
printf(“请输入一个整数:“); 65421 scanf(“%d”,&amp;num); 将各位数字反序显示出来 do { /*取得num的个位数*/ c=num%10; printf(“%d”,c); /*输出num的个位数*/ } while((num/=10)>0); /*直到num/10为0*/ printf(“\n”); }
4、for语句循环结构
一般形式
––
P86
for (表达式1;条件表达式;表达式3) 循环语句(组);
【例六】求∑i =1+2+3+4…+99+100 (i=1~100)