while语句
while循环语句的基本语法:
while(表达式)
{
循环体;//或者称为语句块
}
语义:
判断表达式是否成立,如果成立,则执行循环体语句,否则跳过循环体语句;
例如:
求1加到100值:
#includestdio.hintmain(){inti=1;intsum=0;while(i=){sum=sum+i;i++;}printf(d,sum); return0; }
运行结果是:5050
while循环需要注意的地方:
1.防止死循环,即确保循环体内存在可以改变表达式值的语句,如i++。
2.循环和if语句一样的地方是:大括号可以省略。但只能控制离它最近的一条语句。也就是说当循环体只有一条语句的的时候,可以省略大括号。但这条语句不能是声明语句(如:intnum=10;这样则不行。)
do…while语句
do…while循环语句的基本语法
do{
循环体;//或者称为语句块
}while(表达式);
语义:
1.执行循环体
2.判断表达式是否成立,如果成立,则跳转到1,否则跳转到3;
3.跳出循环,循环结束。
所以do…while循环中,循环体至少会被执行1次。
用do…while求1加到100值:
#includestdio.hintmain(){inti=1,sum=0;;do{sum=sum+ii++;}while(i=);return0;}
for语句
for循环语句的基本语法
for(表达式1;表达式2;表达式3){
循环体;
}
语义:
1.执行表达式1
2.判断表达式2是否成立,如果成立,则跳转到3,否则跳转到5;
3.执行循环体,执行完毕,跳转到4;
4.执行表达式3,执行完毕,跳转到2;
5.跳出循环,循环结束。
用for语句求1加到100值:
#includestdio.hintmain(){inti,sum=0;for(i=1;i=;i++){sum=sum+i}printf(%d,sum);return0;}
for循环的其他格式:
表达式1、表达式2、表达式3都可以省略。
注意:
表达式2没写的话会进入死循环。就算表达式1、表达式3不写,也要记得写分号。
表达式1、表达式3可以写任意语句,要用逗号隔开。
小结
同一个问题,往往既可以用while语句解决,也可以用do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:
(1)如果循环次数在执行循环体之前就已确定,一般用for语句。如果循环次数是由循环体的执行情况确定的,一般用while语句或者do-while语句。
(2)当循环体至少执行一次时,用do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。
C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。
三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。