[TOC]文章目录
目录
前言
本篇文章主要是针对网上学习C语言的阶段性总结三,主要是C语言中的循环结构
循环语句
·while语句
while语句的一般格式: while(表达式)
{语句}
其相对应的程序框图:
用while语句时,需注意:
1、while循环的特点是先判断条件表达式,后执行循环体语句
2、“语句”就是循环体。循环体可以是一个简单的语句(可以不用花括号),可以是复合语句(用花括号括起来的若干语句)
3、表达式的值为“真”(以非0值表示)时,就执行循环体语句;为“假”(以0表示)时,就不执行循环体语句,退出循环
·do...while语句
do...while语句的一般形式: do{语句(循环体)}
while(表达式);
其所对应的程序框图:
由图可知,do...while语句先无条件的执行循环体,然后判断循环条件是否成立。
通过比较while语句与 do..while语句,可以发现 while语句是先判断条件是否成立,然后执行循环体;而do..while语句则是先执行循环体,然后判断循环条件是否成立。
接下来通过例子,可更直观的体会出来:
首先是while语句:
#include<stdio.h>
int main()
{
int i,sum=0;
printf("enter i is ");
scanf("%d",&i);
while(i<=10)
{
sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
输入i为1时,输出结果为
enter i is 1
sum=55
当输入i为11时,输出结果为
enter i is 11
sum=0
接下来是do...while语句:
#include<stdio.h>
int main()
{
int i,sum=0;
printf("enter i is ");
scanf("%d",&i);
do
{
sum=sum+i;
i++;
}while(i<=10);
printf("sum=%d\n",sum);
return 0;
}
输入i为1时,输出结果为
enter i is 1
sum=55
当输入i为11时,输出结果为
enter i is 11
sum=11
·for语句
一般形式:for(表达式1;表达式2;表达式3) 与while语句的关系: 表达式1; {语句} while (表达式2)
{
语句
表达式3
}
其所对应的程序框图如下:
for语句的各种形式
1、for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意,省略表达式1时,其后的分号不能省略。如:
i=1;
for( ;i<=10;i++)
sum=sum+i;
2、如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。如:
for(i=1; ;i++)
sum=sum+i; //死循环
3、表达式3也可省略,但应另外设法保证循环能正常结束。如:
for(i=1;i<=10; )
{ sum=sum+i;
i++;
}
4、可以省略表达式1和表达式3,只有表达式2,即只给循环条件。在这种情况下,完全等同于while语句。可见for语句比while语句功能性强,除了可以给出循环条件外,还可以赋初值,使循环变量自动增值等。如:
I=1;
for( ;i<=10;)
{ sum=sum+i;
i++;
}
5、三个表达式都可省略,例如:
for( ; ; ); // 在for语句之后加上分号,表示语句结束。这种语句相当于while(1)语句
即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体。
6、表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。如:
for(i=1,sum=0;i<=10;i++)
sum=sum+i;
7、表达式2一般是关系表达式(如i<=10)或逻辑表达式(如a<b && x<y),但也可以是数值表达式或字符表达式,只要其值为非0,就执行循环体。如:
for(x=10;x;x--) //其中的x可以看作 x!=0
sum=sum+x;
·break和continue
都有改变循环执行状态的作用
<break>
应用:
while(表达式1)
{
...
if(表达式2)break;
...
}
作用:break语句可以使流程跳出switch结构;还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。
注意:break语句只能用于循环语句和switch语句之中,而不能单独使用。
<continue>
应用:
while(表达式1)
{
...
if(表达式2)continue;
...
}
作用:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
·循环的嵌套
一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环体中还可以嵌套循环,这就是多层循环。3种循环(while循环、do...while循环和for循环)可以相互嵌套。如:
总结
循环结构的总结就到这里,谢谢大家的观看~