文档介绍:循环结构程序设计
while语句
do-while语句
for语句
goto语句以及用goto语句构成的循环
break语句和continue语句
多重循环
#include ""
void main()
{ char ch;
int num=0;
ch=getchar();
do
{ num=num+1;
ch= getchar();
}while(ch!='\n');
printf("num=%d\n",num);
}
while (ch!=‘\n’)
{ num=num+1;
ch=getchar();
}
13
注意
在if、while语句中,表达式后面都没有分号,而在do-while语句的表达式后面则必须加分号。
do-while和while语句相互替换时,要注意修改循环控制条件 。
14
for语句
1、for的形式:
for (初始表达式1;条件表达式2;循环表达式3)
{
循环体 ;
}
表达式1:用于循环开始前为循环变量设置初始值。
表达式2:控制循环执行的条件,决定循环次数
表达式3:循环控制变量修改表达式。
循环体语句: 被重复执行的语句。
15
表达式3
计算表达式1
循环体
判断表达式2
零
非零
for的下一条语句
2、执行过程
16
for(i=1;i<=100;i++) /*i=i+1*/
sum=sum+i;
例如:
它相当于以下语句:
i=1;
while (i<=100)
{ sum=sum+i;
i=i+1; /*i++;*/
}
表达式1;
while(表达式2)
表达式3;
17
3、 说明
三个表达式都可以是逗号表达式。
三个表达式都是任选项,都可以省略,但要注意省略表达式后,分号间隔符不能省略。
18
4. for语句中表达式省略的形式
(1)for语句一般形式中的“表达式1”可以省略;
如: sum=0;i=1;
for ( ; i<=100;i++)
sum=sum+i;
19
(2)表达式2省略,即不判断循环条件,循环无终止地进行下去;
如: for(sum=0,i=1; ;i++)
{
if(i>100) break;
sum=sum+i;
}
20
(3)表达式3也可以省略,但此时保证循环能正常结束如:
for(sum=0,i=1;i<=100; )
{
sum=sum+i;
i=i+1; /* i++; */
}
21
(4) 可以省略表达式1和表达式3,只有表达式2,如:
i=1; sum=0;
for (;i<=100;)
{ sum=sum+i;
i++;
}
i=1;sum=0;
while (i<=100)
{ sum=sum+i;
i++;
}
相当于
22
while (1) 循环体;
即不设初值,不判断条件,循环变量不增值。无终止地执行循环体。
(5)三个表达式都可省略,如
for ( ; ; )
循环体;
如: sum=0,i=1;
for(;;)
{ if(i>100) break;
sum=sum+i; i++;
}
相当于
23
(6)循环体为空语句
对for语句,循环体为空语句的一般形式为:
for (表达式1;表达式2;表达式3) ;
如