内容正文:
第5章 聪明的循环
-循环结构
C语言技能教程
第五章
5.1 技能1:用while语句进行循环结构的程
序设计
5.2 技能2:用 do-while语句实现循环结构的程
序设计
5.3 技能3:灵活应用for语句设计循环程序
5.4 技能4:使用循环的帮手-break和continue
5.5 技能5:不得不说的朋友-goto 语句
C语言技能教程
5.1 技能1
5.1.1 循环结构与while 语句
【知识点】
while 语句的一般形式:
while ( 表达式)
语句
C语言技能教程
5.1 技能1
【典型例题】
例5.3 写出下面程序的运行结果。
main ( )
{ int n=1;
while (n<=20)
{n+=4; if (n%3==0) printf("%4d",n);
}
}
C语言技能教程
5.1 技能1
5.1.2 应用while 编制程序
【典型例题】
例5.5 从键盘依次输入学生的C语言成绩,当输入-1时,停止输入,输出学生人数,及平均成绩。
C语言技能教程
5.1 技能1
main ( )
{
int n=0; /* 计数器清0 */
float sum=0,score; /*累加器sum清0*/
scanf ("%f",&score);
while (score!=-1)
{
n++;
sum+=score;
scanf ("%f",&score);
}
printf("学生人数是:%d ,平均成绩是:%5.2f
", n, sum/n);
}
C语言技能教程
5.2 技能2
5.2.1 深刻认识do-while 语句
【知识点】
do-while 语句的一般形式:
do
{ 语句 }
while (表达式) ;
C语言技能教程
5.2 技能2
【典型例题】
例5.7 写出下面程序的运行结果
main ( )
{
int a=1,b=10;
do
{b-=a; a+=3; }
while(b>=0);
printf("a=%d,b=%d",a,b);}
C语言技能教程
5.2 技能2
5.2.2 应用do-while 编制程序
【典型例题】
例5.9 编写程序,累加用户所输入的整数,直到输入0为止。
main ( )
{
int i,sum=0;
do
{
scanf("%d",&i);
sum=sum+i;
}
while (i!=0);
printf("sum is %d",sum);
}
C语言技能教程
5.3 技能3
5.3.1 for 的形式和特点
【知识点】
for语句一般格式:
for(表达式1; 表达式2; 表达式3)
语句 /*可以是单条语句,也可以是
复合语句*/
C语言技能教程
5.3 技能3
5.3.2 for 的省略形式
【知识点】
省略表达式1时,表达式1的功能可以放在for语句之前实现。for(i=1;i<=100;)
省略表达式3时,表达式3的功能可以放在for语句循环体中实现。for(i=1;;i++)
省略表达式2时,表示无条件循环,此时可以在循环体内使用if语句和break语句相配合来实现循环的结束。
C语言技能教程
5.3 技能3
【典型例题】
例5.11 写出下面程序的运行结果。
main ( )
{
int n;
for(n=1;n<=20;n+=2)
if (n%3 ==0) printf("%d",n);
}
C语言技能教程
5.3 技能3
5.3.3 应用for 编制程序
【典型例题】
例5.12 编写程序,打印出所有的“水仙花数”。(“水仙花数”是指一个三位数,其各位数字的立方之和等于该数的本身。例:407=43+03+73。)
C语言技能教程
5.3 技能3
main ( )
{
int i,a,b,c;
for (i=100;i<=999;++i)
{a=i/100; /*是i的百位数字*/
b=i/10-a*10; /*是i的十位数字*/
c=i%