循环结构的程序设计
循环:就是在满足一定条件时,重复执行一段程序.
1.while 语句
while语句的语法形式:
while (表达式) 语句;
其中的语句称为子语句,又称循环体,圆括号内的表达式称为循环条件.
[例7.1] 求 s=1+2+3+…+100
#include <iostream>
using namespace std;
int main()
{
int n=1,sum=0;
while (n<=100) {
sum=sum+n;
n=n+1;
}
cout<<"sum="<<sum<<endl;
return 0;
}
注:
1.若循环体包含一条以上的语句,应该以复合语句形式出现.
2.循环前,必须给循环控制变量赋初值.
3.在循环体内,必须有改变循环控制变量值的语句.
while语句的说明
(1)由于while语句先计算表达式的值,再判断是否循环,所以如果表达式的值一开始就为假,则循环一次也不执行,失去了循环的意义.
(2)while语句循环条件可以是C++语言的任意表达式.通常情况下,循环条件是关系表达式或逻辑表达式,应该谨慎出现别的表达式.
2.do while 语句
do while语句的语法形式:
do 语句 while (表达式):
其中的语句即为循环体,圆括号内的表达式称为循环条件.
do语句的说明.
(1) do语句的最后必须用分号(;)作为语句结束,循环体的复合语句形式为:
do {
...//复合语句
} while ( 表达式 );
(2) do语句先执行后判定,while语句则是先判定后执行;do语句至少要执行循环体一次,而while语句可能一次也不执行。
(3) do语句结构和while语句结构是可以相互替换的。
[例7.2] 连续输入多个数据,计算它们的乘积,当输入0时结束。
#include <iostream>
using namespace std;
int main()
{
int n=1,k=1;
do {
k=k*n;
cin>>n;
} while (n!=0); //输入0时结束循环
cout<<k; //输出乘积
return 0;
}
3.for 语句
for语句的语法格式为:
for (表达式1;表达式2;表达式3) 语句;
for语句有煦暖初始和循环控制功能,语句形式为:
(1)整个循环过程中表达式1只求解一次;作用是给循环控制变量赋初值。
(2)表达式2相当于是for的循环条件。
(3)表达式3是重复执行的内容;通常是改变循环控制变量值的语句。
for语句的应用格式
for (循环初始;循环条件;循环控制) 循环体;
如: 求1+2+3+…+100
- 用for循环实现
for (n=1,sum=0;n<=100;n++) sum=sum+n;
2.用while循环实现
int n=1,sum=0;
while(n<=100){
sum=sum+n;
n=n+1;
};
省略表达式1
n=1,sum=0;
for(;n<=100;n++)sum=sum+n;
省略表达式3
for(n=1,sum=0;n<=100;)sum=sum+n,n++;
表达式1和表达式3都省略
n=1,sum=0 for(;n<=100;)sum=sum+n,n++;