C语言循环程序设计PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} /* end of 1 */
}
2020/12/12
10
6.7 几种循环的比较
•四种循环可以互相代替,但不提倡用goto型循环 •while 和do while型循环:
循环变量初始化的操作应在while 和do while语 句之前完成;在while后指定循环条件;循环体中 应有可使循环结束的语句,
main()
{
int n,i=1,sum=0;
printf(“input the n=”);
scanf(“%d”,&n);
loop: if (i<=n)
{
sum+=i++; goto loop; }
printf(“the sum is %d\n’,sum);
}
2020/12/12
2
6.3 while语句
break语句 跳出switch语句,终止for,while,do while 循环
while(表达式1) { 语句1;
if(表达式2) break; 语句2; }
假 表达式1
真 语句1
表达式2 真 假
语句2
表达式1为假或表达式2为真,
就结束整个循环。
2020/12/12
12
continue语句 结束本次循环,回到循环的开头,继续下一次循环
•for语句: 在表达式1中初始化循环变量,表达式2指定
循环条件,表达式3含有可使循环结束的语句甚至 循环体。因此,功能最强。
•break,continue 可用于while,do while ,for循环,但不 能用于goto型循环。
2020/12/12
11
6.8 break语句和continue语句
mBaidu Nhomakorabeain()
{ int i=1,s=0;
do {
s=s+i; i++;
} while (i<=100) ;
printf(“the sum is %d/n’,s);
}2020/12/12
5
6.5 for语句
一般形式: for (表达式1;表达式2;表达式3) 语句
表达式1
表达式2
真
假
语句
表达式3
赋初值 循环条件
while(表达式1) { 语句1;
if(表达式2) continue; 语句2; }
表达式1为假才能结束整个循环。
假 表达式1
真 语句1
真 表达式2 假
语句2
2020/12/12
13
【例1】判断m是否是素数.
main() { int m,i, f=1;
scanf(%d”,&m); for (i=2;i<m;i++)
• 表达式3可以省略,但应保证循环正常进行 for ( sum=0,i=1;i<=100; ) { sum=sum+i; i++;}
• 省略表达式1和3,只有表达式2
for (; i<=100; ) { sum=sum+i;
i++;}
•三个表达式都省略 for( ; ; ) 语句
while (i<=100) {sum=sum+i; i++;}
main() { int i=1,s=0;
while (i<=100) s=s+i++; printf(“the sum is %d/n’,s); }
2020/12/12
4
6.3 do while 语句
一般形式: do 语句 while (表达式);
语句
真 表达式
假
当表达式值为真时,返回循环头重新执行语句,直到表达式的值为假。 特点:先执行后判断。至少执行一次循环体.
}
}
printf("%d",s);
for (i=1;i<=9;i++) /* 1 */ { for(j=0;j<=9;j++) /* 2 */
{ for(k=0;k<=9;k++) if(101*i+20*j+101*k==1231) printf("x=%d,y=%d,z=%d\n",i,j,k);
} /* end of 2 */
main() /* break*/
main() /* continue */
{
{
int i,s;
int i,s;
i=1;s=0;
i=0;s=0;
for (;;)
for (;i<=50;)
{ s+=i;
{ i++;
i++;
if (i>10) continue;
if (i>10) break;
s+=i;
while(1) 语句
2020/12/12
8
6.6 循环的嵌套(多重循环 )
三种循环可以互相嵌套,见p113
非法的嵌套
2020/12/12
合法的嵌套
9
【例】编程求三个数字x、y、z (0~9) 满足: xyz+zyx=1231。
#include "stdio.h" main( ) { int i,j,k;
一般形式: while(表达式) 语句
表达式 假 真
语句
当表达式为真(非0)时,执行循环语句。 特点:先判断后执行.
注意:
1 循环语句可以是复合语句,用{}括起来。
2020/122/应12 使循环能够结束.
3
例:求表达式1+2+3+…+100 的结果
main() { int i=1,s=0;
while (i<=100) { s=s+i; i++; } printf(“the sum is %d/n’,s); }
改变循环变量
2020/12/12
6
等价的表示形式: 表达式1 ; While (表达式2) { 语句;
表达式3; } for (表达式1;表达式2;表达式3)
语句
int i, sum; for (i=1,sum=0; i<=100;i++) sum=sum+i;
2020/12/12
7
说明:
• 表达式1可以省略,但分号不可省 for(;i<=100;i++) sum=sum+i;
if (m%i==0) { f=0;
break; } if (f) printf(“yes”); else printf(“no”); }
2020/12/12
for (i=2;i<m/2;i++) for (i=2;i<sqrt(m);i++)
if (f==1) printf(“yes”);
14
【例2】给出程序的含义.(break与continue比较)
第六章 循环程序设计
6.1 概述
1. goto语句和if 语句构成循环 2. while循环 3. do-while循环 4. for循环
6.2 goto语句以及goto语句构成的循环
一般形式 : goto 语句标号 语句标号用表识符表示;这种循环不常用
2020/12/12
1
例:求表达式1+2+3+…+n 的结果