C语言基础系列【6】流程控制
流程控制语句主要就是用于控制程序的执行顺序,使程序能够根据条件或循环逻辑执行不同的代码块。
正文
if-else
语句
if-else
语句用于根据条件执行不同的代码块。
作用:
- 如果条件为真(非零),则执行
if
语句块中的代码。 - 否则,如果提供了
else
部分,则执行else
语句块中的代码。
示例代码:
#include <iostream>
using namespace std;
int main() {
int num = 10;
// 你觉得会输出什么?
if (num > 0) {
cout << "Number is positive." << endl;
} else if (num < 0) {
cout << "Number is negative." << endl;
} else {
cout << "Number is zero." << endl;
}
return 0;
}
switch-case
语句
switch-case
语句用于基于变量的值执行不同的代码块。
作用:
- 根据表达式的值选择执行相应的
case
代码块。 break
用于跳出switch
语句,防止执行后续的case
代码块(称为贯穿
)。default
用于处理所有case
都不匹配的情况。
示例代码:
#include <iostream>
using namespace std;
int main() {
int day = 3;
switch (day) {
case 1:
cout << "Monday" << endl;
break;
case 2:
cout << "Tuesday" << endl;
break;
case 3:
cout << "Wednesday" << endl;
break;
case 4:
cout << "Thursday" << endl;
break;
case 5:
cout << "Friday" << endl;
break;
case 6:
cout << "Saturday" << endl;
break;
case 7:
cout << "Sunday" << endl;
break;
default:
cout << "Invalid day" << endl;
break;
}
return 0;
}
for
循环
for
循环用于重复执行一段代码固定次数。
作用:
- 初始化表达式(仅在循环开始时执行一次)。
- 条件表达式(在每次循环迭代前检查,如果为假则退出循环)。
- 迭代表达式(在每次循环迭代结束时执行)。
示例代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
cout << "i = " << i << endl;
}
// int i = 0; 初始化表达式,仅在循环开始时执行一次
// i < 5; 条件表达式(在每次循环迭代前检查,如果为假则退出循环)
// i++ 迭代表达式(在每次循环迭代结束时执行)
return 0;
}
while
循环
while
循环用于在给定条件为真时重复执行一段代码。
作用:
- 在每次循环迭代前检查条件表达式,如果为真则执行循环体。
示例代码:
#include <iostream>
using namespace std;
int main() {
int i = 0;
// 测试下,一共执行几次?
while (i < 5) {
cout << "i = " << i << endl;
i++;
}
return 0;
}
do-while
循环
do-while
循环用于在给定条件为真时重复执行一段代码,但条件检查在循环体之后。
作用:
- 至少执行一次循环体,然后在每次循环迭代后检查条件表达式,如果为真则继续执行循环体。
示例代码:
#include <iostream>
using namespace std;
int main() {
int i = 0;
do {
cout << "i = " << i << endl;
i++;
} while (i < 5);
return 0;
}
总结
if-else
语句用于基于条件执行不同的代码块。switch-case
语句用于基于变量的值执行不同的代码块,适用于多个分支的情况。for
循环用于在给定范围内重复执行代码块。while
循环在条件为真时重复执行代码块,条件检查在循环体之前。do-while
循环至少执行一次代码块,然后在条件为真时继续执行,条件检查在循环体之后。
练习
if-else
:编写一个程序,要求用户输入一个成绩(0-100之间的整数),然后根据成绩输出等级(A, B, C, D, E)。等级划分如下:- 90-100: A
- 80-89: B
- 70-79: C
- 60-69: D
- 0-59: E
switch-case
:编写一个程序,要求用户输入一个数字(1-7),然后输出对应的星期几(Monday, Tuesday, …, Sunday)。- 编写一个程序,使用
for
循环打印1到10的数字。 - 编写一个程序,使用
while
循环计算并打印1到10的累加和。
作者介绍
- 程序喵大人
- 35- 资深C/C++/Rust/Android/iOS客户端开发
- 10年大厂工作经验
- 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
- 《C++20高级编程》《C++23高级编程》等多本书籍著译者
C++训练营
专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,已帮助多名学员获得offer!训练营介绍