1.语法
for(表达式1;表达式2;表达式3)
{
语句;
}
- 表达式1:为循环变量赋初值,可以省略。
- 表达式2:循环执行的条件
- 表达式3:更新循环变量的值,可以省略。
- 分号:分隔3个表达式,不可省略。
for(; ;)是死循环。
2.eg:
const int N = 20;//常量
for(int i = 0; i<N; i++)
printf("再别康桥\n");
和c的区别:
c++变量可以随时定义,所以变量可以定义在表达式中,
c的变量必须定义在语句前面,所以不可以定义在表达式中。
图解分析循环:
3.补充:
常量的定义:
const 类型 常量名=常量值;
推荐使用const而不推荐使用define。
eg: define N 5
会在下文中出现N就进行替换,占用内存,效率不是很高。
而const的N直接指向20,不需要进行替换。
4.实战
- 循环输入6个月的工资数,计算半年内的平均工资。
(1)定义变量
(2)书写循环条件
(3)书写循环体
#include <iostream>
using namespace std;
const int YEAR= 6;
int main()
{
double salary=0;
double s=0;
for(int i=0;i<YEAR;i++){
cout<<"请输入第"<<i+1<<"个月的工资"<<endl;
cin>>salary;
s+=salary;
}
cout<<"6个月的总工资是"<<s<<endl;
cout<<"6个月的平均工资是"<<s/6<<endl;
return 0;
}
输出:
请输入第1个月的工资
2000
请输入第2个月的工资
4359
请输入第3个月的工资
9860
请输入第4个月的工资
7854
请输入第5个月的工资
3421
请输入第6个月的工资
3421
6个月的总工资是30915
6个月的平均工资是5152.5
- 输出1997年7月的日历:
#include <iostream>
using namespace std;
const int YEAR= 6;
int main()
{
int day=31;//7月31天
int dayOfWeek=2;//7.1是周二
cout<<"一\t二\t三\t四\t五\t六\t日"<<endl;
//确认第一个日期的位置
for(int i=0; i<dayOfWeek-1; i++)
cout<<"\t";
//打印日子
for(int i=1; i<=31; i++)
{
if((i+dayOfWeek-1)%7==0)
cout<<i<<"\n";
else cout<<i<<"\t";
}
return 0;
}
输出:
一 二 三 四 五 六 日
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
- 求1到100偶数和
#include <iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=0; i<=100; i+=2)
{
sum+=i;
}
cout<<sum<<endl;
return 0;
}