目录
基本控制结构
1、顺序结构
C/C++程序是由一条条语句所组成,程序的运行过程就是语句逐条执行的过程,而语句执行的次序被称为流程。而所谓顺序结构指的就是语句以其出现的顺序执行,一条语句执行完会自动转到下一条语句开始执行,这样的执行被称为顺序执行。所以在C/C++中,语句的顺序是很重要的
//示例代码 三位数字反转
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a, b, c;
a = n / 100; //百位
b = (n / 10) % 10; // 十位
c = n % 10; //个位
cout << c * 100 + b * 10 + a * 1 << endl;
return 0;
}
//例如:输入数字123,输出321
2、选择结构
选择结构的意思是依据条件是否满足,有选择的执行相应功能,主要有if 和 swith语句
2-1、单分支的if语句
//单条件的if语句
if (条件) {
逻辑语句;
}
//示例:
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n > 2) cout << "hello pointer";
return 0;
}
//如果n>2,输出
2-2、多分支的if语句
//多条件的if语句
if (条件) {
逻辑语句;
}
else if (条件) {
逻辑语句;
}
else {
逻辑语句;
}
//示例代码
#include<iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score >= 90) cout << "优秀" << endl;
else if (score >= 80) cout << "良好" << endl;
else if (score >= 60) cout << "及格" << endl;
else cout << "不及格" << endl;
return 0;
}
//判断成绩分布情况
2-3、if语句的嵌套以达到更精准的条件判断
//if语句的嵌套以达到更精准的条件判断
if (条件) {
if (条件) {
逻辑语句;
}
else {
逻辑语句;
}
}
else {
if (条件) {
逻辑语句;
}
else {
逻辑语句;
}
}
//示例:判断体重
#include<iostream>
using namespace std;
int main() {
int weight;
cin >> weight; //输入体重(单位kg)
if (weight >= 100) {
cout << "超重" << endl;
}
else {
if (weight >= 50) {
cout << "偏瘦" << endl;
}
else if (weight >= 80) {
cout << "正常" << endl;
}
}
return 0;
}
2-3、switch语句
//switch语句示例及代码实现
switch (控制表达式) {
case 常量: 语句;
case 常量: 语句;
default: 语句;
}
//示例代码:星期
#include<iostream>
using namespace std;
int main() {
int days;
cin >> days;
switch (days) {
case 1:
cout << "星期一" << endl;
case 2:
cout << "星期二" << endl;
case 3:
cout << "星期三" << endl;
case 4:
cout << "星期四" << endl;
case 5:
cout << "星期五" << endl;
case 6:
cout << "星期六" << endl;
default:
cout << "星期日" << endl;
}
return 0;
}
//值得注意的是
//switch case语句的结果只能是int类型
//控制表达式只能是整数型的结果
//常量可以是常数,也可以是常数计算的表达式
3、循环结构
在C++中,循环结构用于重复执行一段重复的代码,直到满足某个条件为止。循环主要分为三种:while循环, do……while循环, for循环
3-1、while循环:while循环在每次开始前检查条件是否为真,如果条件为真,则执行循环体中的代码块,然后继续检查条件
//语法结构
while (条件) {
循环体语句;
}
//示例: 求1到100的和
#include<iostream>
using namespace std;
int main() {
int n = 100;
int sum = 0, i = 1;
while (n--) {
sum += i;
i++;
}
cout << sum;
return 0;
}
3-2、do……while循环:do while循环先执行循环体再判断循环条件,do while循环至少执行一次
//语法结构
do {
循环体;
} while(条件);
//示例: 求1到100的和
#include<iostream>
using namespace std;
int main() {
int n = 99;
int sum = 0, i = 1;
do {
sum += i;
i++;
} while (n--);
cout << sum;
return 0;
}
//此时n的值只能为99,因为do while循环先执行循环体在判断循环条件,do while循环至少执行一次;
//相同条件下while循环会比do while循环多执行一次
3-3、for循环:for循环是一种计数循环,通过初始化、条件判断和更新计数器来控制循环次数
//语法结构
for (初始化数据; 循环条件; 更新计数器) {
循环体语句;
}
//示例代码:求1~100和
#include<iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
cout << sum;
return 0;
}
值得注意的是,循环与循环之间可以相互转换,他们之间只是初始化、循环条件、更新数据的位置不同本质上是一样的,但是根据不同的场景选择不同的循环结构可以让代码看起来更具有可读性
break和continue在循环中的作用
- continue:continue 会致使循环跳过循环体中余下的语句,转而判断循环条件是否仍然成立,然后选择是否再次进入循环体。
- break:作用是跳出循环。如果 break 位于循环嵌套中的一个内循环,则仅跳出该内循环