循环
要素:1 循环条件
2 循环体
循环前准备:while (循环条件)
{
循环体
}
结果输出;
循环思维的建立
Que:求1+2+3+…+100
Sol:
#include<iostream>
using namespace std;
int main ( )
{
int i=1,sum=0;
while (i<=100)
{
sum=sum+i; 或者 sum+=sum 执行效率更高
i=i+1; 或者i++,++i
}
cout<<sum<<endl;
return 0;
}
Que: 求1+1/2+1/3+…+1/20
Sol: #include<iostream>
using namespace std;
int main ()
{
int i=1;
float sum=0;
while (i<=20)
{
sum=sum+1.0/i;
i=i+1;
}
cout<<sum<<endl;
return 0;
}
Int i;
Double(i-1)/i ; 带入循环改变数据类型
F=1;
S=F*1/i;
F=-F; 带入循环可以改变每一项前的符号,使得相邻项符号不同
用while语句构成循环 ‘当’条件语句
While()
{
}
死循环
Do while 语句构成循环
Do 语句
语句 ======= while (表达式)
While (表达式) 语句
While语句可能一次都不执行,do while语句至少执行一次
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}while (i<=100);
等价于
int i=0,sum=0;
do
{
i++;
sum=sum+i;
}while (i<=99);
用for语句构成循环
For(表达式1;表达式2;表达式3)
语句
表达式1只执行一次,在循环之前进行,准备工作
表达式2一般是条件表达式或逻辑表达式,循环条件,判断后为真则执行语句
表达式3实际是循环体里的一部分,语句执行后执行该表达式
计数型循环
For 语句的使用技巧
1.
Int i=1,sum=0;
For(;i<=100;i++)
2.
For (i=1; ;i++)
{
Sum=sum+i;
If (i>=100)
Break; 无条件判断则为死循环
}
3.
Int i,sum;
For (i=1;i<=100;)
{
Sum=sum+i;
i++;
}
4.
Int i=1,sum=0;
For (;i<=100;)
{
Sum+=i;
i++;
}
5.
……
For (;;)
{
}
6.
For (i=1;i<=100;sum+=i,i++); 注意最后一个分号
空循环
For不一定全有固定的循环次数
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
char c;
int i;
for (i=0;(c=getchar())!='\n';i++) getchar()指从键盘输入一个字符,类似cin,将该字符赋值给c ‘/n’为换行符,相当于键盘中的回车键,即表示在键入回车键以前可以无限输入键盘上的字符
cout<<c+4; 可以更改为cout<<char(c+4) 就同样输出字符(乱码)
Cout <<endl;
Cout<<i<<endl;
return 0;
}
功能:加密
几种循环的比较
While可以跟do while转换
For语句也可以参与转换
构造循环
循环前的准备(for循环可以将其放入表达式1)
循环进行的条件
循环中要完成的工作,循环体
循环结束后
循环的嵌套
Break语句
1 可以使流程跳出switch结构,继续执行switch语句下面的一个语句
2 可以用于循环体内,使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句
3 只能作用于循环语句和switch语句内,不能单独使用于其他语句
一般格式
Break;
While(表达式1)
{
If (表达式2)break;
}
该表达式有两个出口:表达式1为假或者表达式1为真且表达式2也为真
Continue语句
作用:结束本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
一般格式:
Continue;
While(表达式1)
{
If(表达式2)continue; 不再执行下面的语句,直接回到while重新开始一次循环
}
For(E1;E2;E3)
{
If (E4)continue;
}
对比:
Continue语句只结束本次循环,而不终止整个循环的执行
Break语句结束整个循环过程,不再判断执行循环的条件是否成立