c++之循环结构
计算机最不怕的就是重复。你让它做10000次同样的事它也不怕啦,但是让他做1亿亿次的话……
一、for语句
- 01
语句格式: 格式1(图一) 格式2(图二) 说明:语句是for循环语句的循环体,它将在满足条件的情况下被重复执行。 说明:循环体部分由多个语句构成,应由一对花括号括起来,构成一个语句块的形式
- 02
语句执行过程: for语句的执行过程可由以下4步来描述: (1)执行“控制变量初始化语句”,使控制变量获得一个初值。 (2)判断控制变量是否满足“条件表达式”,若满足条件则执行一遍循环体,否则结束整个for语句,继续执行for循环下面的句子。 (3)根据增量表达式,计算出控制变量所得到的新值。 (4)自动转到第(2)步。
- 03
语句格式举例: (1)将控制变量从1变到100,增量为1 for(i=1;i<=100;++i) (2)将控制变量从100变到1,增量为-1 for(i=100;i>=1;--i) (3)控制变量从7变到77,增量为7 for(i=7;i<=77;i+=7) (4)控制变量从20变到2,增量为-2 for(int i=20;i>=2;i-=2) (5)按所示数列改变控制变量值:99、88、77、66、55、44、33、22、11、0,增量为-11 for(int j=99;j>=0;j-=11) (6)控制变量i和j共同进行循环控制,i从1变到99,j从2变到100,增量均为2。 for(int i=1,j=2;i<=99&&j<=100;i+=2,j+=2) 需要说明的是:可以在for循环“ 控制变量初始化语句”中声明变量(如上面最后3个例子),这些变量只在for循环结构中有效,离开了该for结构,变量就无效了。
- 04
例:利用for循环,计算输出1+2+…+100的和 #include <iostream> using namespace std; int main() { int sum=0; for (int i=1;i<=100;++i) sum+=i; cout << sum; return 0; }
二、while语句
- 01
语句格式: 格式1(图一) 格式2(图二)
- 02
语句执行过程 (1)计算作为循环控制条件表达式的值,得到逻辑真或假,假定用M表示。 (2)若M为真,则执行了一遍循环体,否则离开循环,结束整个while语句的执行。 (3)循环体的所有语句执行结束后,自动转向第(1)步执行。
- 03
格式举例 (1) i=0; while (i<10) ++i; 功能:当i的值小于10,重复执行++i语句 (2) cin>>x; while(x<0) cin>>x; 功能:当输入的数据小于0时,重复读数据。
- 04
例:求s=1 +2 +3……+n,当加到第几项时,s的值会超过1000? #include <iostream> using namespace std; int main() { int n=0,s=0; while (s<=1000) { ++n; s+=n; } cout<<n; return 0; }
三、do-while语句
- 01
语句格式: 格式1(图一) 格式2(图二)
- 02
语句执行过程 (1)执行一遍循环体。 (2)求出作为循环条件的“条件表达式”的值,若为逻辑值真则自动转向第(1)步,否则结束do循环的执行过程,继续执行其后面的语句。 在do语句的循环体中也可以使用break语句,用它来非正常结束循环的执行。 实际上就是while的变种。