C++中的循环结构
注意
学习循环语句只需要抓住一点——
代码执行顺序!
一、 while循环
1.循环版的if语句
If语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断,如果成立,则执行循环体中的语句,否则停止。
2.死循环
循环永久执行,无法结束。
我们要避免写出死循环。
二、 do while循环
1.do while循环不常用
2.执行一次循环然后判断条件
三、 for 循环
1.基本思想:
把控制循环次数的变量从循环体中剥离
(每一次for循环只是执行一次完整操作)
2.基本形式
准备
:循环中需要用到的变量
(1)init-statement可以是声明语句、表达式、空语句,一般用来初始化循环变量
;
(2)condition 是条件表达式
,和while中的条件表达式作用一样;可以为空,空语句表示true
(3)expression 一般负责修改循环变量
,可以为空
(4) statement 循环体
循环体前部:本次操作
循环体后部:下次准备
四、 跳转语句
1. break
提前从循环中退出(一层)。
2. continue
可以直接跳到当前循环体的结尾,接着执行修改循环变量
。
五、 多层循环
六例题求解
1.c++ 可以实现一切
2.按逻辑,一变量只能做一件事
课内例题
1.偶数
#include <iostream>
using namespace std;
int main()
{
for (int i = 2; i <= 100; i += 2) cout << i << endl;
return 0;
}
2.奇数
#include <iostream>
using namespace std;
int main()
{
int x;
cin >> x;
for (int i = 1; i <= x; i += 2) cout << i << endl;
return 0;
}
3.正数
#include <iostream>
using namespace std;
int main()
{
int cnt = 0;
for (int i = 0; i < 6; i ++ )
{
double x;
cin >> x;
if (x > 0) cnt ++ ;
}
cout << cnt << " positive numbers" << endl;
return 0;
}
4.连续奇数的和
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int x, y;
cin >> x >> y;
if (x > y) swap(x, y);
int sum = 0;
int i = x + 1;
while (i < y)
{
if (i % 2) sum += i;
i ++;
}
cout << sum << endl;
return 0;
}
5.最大数和它的位置
#include <iostream>
using namespace std;
int main()
{
int max_value = 0, position;
for (int i = 1; i <= 100; i ++ )
{
int value;
cin >> value;
if (value > max_value)
{
max_value = value;
position = i;
}
}
cout << max_value << endl << position << endl;
return 0;
}
6.递增序列
//第一种输入方式
#include