大工c语言第五章PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14
5.8 break和continue语句
3.5.1 break 语句
语法: break ; 功能:终止包含该语句的
最内层循环
main( ) { int n;
for(n=1;n<=10;n++) { if(n%3= =0) break ; printf(“%6d”,n); }
2020/10/13
10
结论:
当while后的表达式为真时,while语句 和do—while语句的结果相同,否则不同
2020/10/13
11
5.6三种循环语句的比较
• for语句和while语句先判断条件,后执行语句, 故循环体有可能一次也不执行,而do—while 语句的循环体至少执行一次。
• 必须在while 语句和do—while语句之前对循环 体变量赋初值,而for语句可在表达式1中对循 环变量赋初值。
• 在循环次数已经确定的情况下,习惯用for语 句;而对于循环次数不确定只给出循环结束 条件的问题,习惯用while语句解决。
2020/10/13
12
5.7 循 环 的 嵌 套
定义:在循环体内又包含一个循环结构,称为循环嵌 套。三种循环(while 、do_while、for)都可以嵌套。 下面几种都是合法的嵌套形式
for(i=1;i<=2;i++) for(j=1;j<=2;j++) { printf(“%3d”,i+j); printf(“\n”); }
output: 2 3 3 4
2020/10/13
for(i=1;i<=2;i++) { for(j=1;j<=2;j++) printf(“%3d”,i+j); printf(“\n”); }
output: 23 34
6
例题1:求和s=1-1/2+1/3-1/4+······+1/n,n由键盘输入。
这个级数的各项正负相同。
解题方法:让变量t的初值等于1,然后反复执行语 句,则t的值就在1和-1之间交替变化。
main( )
{ int i ;
double s, t;
scanf(“%d”, &n);
•for( ; ; ) { while( ) { ··· } }
for循环体嵌套while循环
2020/10/13
while( ) { do { ···} while( );
}
while循环体嵌套 do_while循环
do { for( ; ; ) { ···} }while( );
do_while循环体嵌套for循环
第五章 循环控制
5.1概述
在C语言中可用以下语句来实现循环: •用goto语句和if语句构成循环 •用while语句 •用do — while语句 •用for语句
2020/10/13
1
5.2 goto 语句
一般形式: goto 标号; 其中:标号用标识符表示,即由字母、数字和下
划线组成,且首字符必须为字母或下划线。 不能用整数来作标号 用途: 1. 与if语句一起构成循环结构 2. 从循环体中跳到循环体外

先2判020/断10/1条3 件,后执行语句
先执行语句,后判断条件9
例:求1+2+3+······+n的值,n值通过键盘输入。
main( ) {int n , k=1,s=0;
printf(“Please input an integer:\n”);
scanf(“%d”,&n); while(k<=n)
{ s=s+k; k++; }
printf(“s=%d\n”, s); }
main( ) {int n , k=1,s=0;
printf(“Please input an integer:\n”);
scanf(“%d”,&n); do
{ s=s+k; k++; } while(k<=n) ;
printf(“s=%d\n”, s); }
scanf(“%d”,&x)
}
wk.baidu.com
printf(“sum=%d\n”,s);
}
2020/10/13
8
5.4while语句 “当型”循环结构
while(条件表达式)语句 执行过程:
是 表达式=0?

语句
5.5do—while语句 “直到型”循环结构
do 语句 while(条件表达式);
语句
是 表达式=0?
语法:for([表达式1];[表达式2];[表达式3])语句 执行过程:
表达式1
是 表达式2=0?
否 语句
表达式3
2020/10/13
4
说明:
(1)最简单的应用形式: for(循环变量赋初值;循环条件;循环变量增值) 例如:for(i=1;i<=10;i++) s=s*i;
(2)三个表达式均可缺省,但起分割作用的两个分 号不可省略。 例如:for( ; ; )
• 表达式1省略,应在for之前对循环变量赋初值 • 表达式2省略,则不判断条件,循环无终止进行下去 • 表达式3省略,则应另设法保证循环的结束
(3)表达式1和表达式3可为逗号表达式 例如:for(i=1,j=10;i<=j;i++,j--) k=i+j;
2020/10/13
5
(4)for 语句的循环体还可为另一个循环语句 例如:
for(s=0,t=1, i=1; i<=n;i++)
{s=s+t/i;
t= - t; }
printf(“s=%f\n”,s);
} 2020/10/13
7
例题2:输入一批正数,输入0时表示输入 结束,求这些正数的和
main( )
{ int s , x;
s=0;
while (x!=0)
{ s=s+x;
2020/10/13
2
例如:求和 s=1+2+······+100 main( ) {int i=1,s=0;
L1: if(i>100) goto L2; s=s+i; i++ ; goto L1;
L2: printf(“1+3+······+100=%d\n”,s); }
2020/10/13
3
5.3 for 语句
for( ; ; ) {
··· while( )
{ ···} }
for循环体嵌套while循 环体
2020/10/13
for( ; ; ) {
··· for( ; ; )
{ ··· } }
for循环体嵌套for循环
13
do {
do { ··· } while( ); }while( ); do_while循环体 嵌套do_while循环
相关文档
最新文档