- C++
C++程序设计语言的三大基本结构笔记教程
- 2025-8-11 14:42:20 @
C++程序设计语言的三大基本结构笔记教程
在程序设计中,任何复杂的程序逻辑都可以通过三大基本结构来实现。这三大结构是结构化程序设计的核心,也是C++编程的基础。它们分别是:顺序结构、选择结构和循环结构。
一、顺序结构(Sequential Structure)
1. 基本概念
顺序结构是程序执行的默认方式,指程序中的语句按照书写顺序依次执行,每条语句执行一次,没有跳转或重复。
可以类比日常生活中的“按步骤做事”,例如:先起床→洗漱→吃早餐→上班,步骤依次进行。
2. 代码示例
#include <iostream>
using namespace std;
int main() {
// 顺序执行的语句
int a = 10; // 第一步:定义变量a并赋值
int b = 20; // 第二步:定义变量b并赋值
int sum = a + b; // 第三步:计算a+b的和
cout << "sum = " << sum << endl; // 第四步:输出结果
return 0; // 第五步:程序结束
}
执行流程:从main()
函数开始,依次执行每一行代码,直到return 0
结束。上述程序的输出结果为sum = 30
。
3. 特点
- 语句执行顺序与代码书写顺序一致;
- 没有分支或重复,是最简单的程序结构;
- 多数程序的基础框架都包含顺序结构(如变量定义、输入输出等)。
二、选择结构(Selection Structure)
1. 基本概念
选择结构用于根据条件判断结果执行不同的代码分支,即“满足条件做A,不满足做B”。C++中主要通过if
语句和switch
语句实现。
2. if
语句(单分支/双分支/多分支)
(1)单分支if
if (条件表达式) {
// 条件为真时执行的语句
}
示例:判断一个数是否为正数
int num = 5;
if (num > 0) {
cout << "这是正数" << endl; // 输出:这是正数
}
(2)双分支if-else
if (条件表达式) {
// 条件为真时执行
} else {
// 条件为假时执行
}
示例:判断奇偶数
int num = 7;
if (num % 2 == 0) {
cout << "偶数" << endl;
} else {
cout << "奇数" << endl; // 输出:奇数
}
(3)多分支if-else if-else
用于判断多个条件,从上到下依次检查,满足第一个条件后执行对应分支并跳出结构。
int score = 85;
if (score >= 90) {
cout << "优秀" << endl;
} else if (score >= 80) {
cout << "良好" << endl; // 输出:良好
} else if (score >= 60) {
cout << "及格" << endl;
} else {
cout << "不及格" << endl;
}
3. switch
语句(多值判断)
用于判断一个变量与多个常量的匹配关系,适合分支条件为离散值(如整数、字符)的场景。
switch (表达式) {
case 常量1:
// 表达式等于常量1时执行
break; // 跳出switch结构
case 常量2:
// 表达式等于常量2时执行
break;
...
default:
// 所有case都不匹配时执行(可选)
break;
}
示例:根据星期数输出对应中文
int day = 3;
switch (day) {
case 1: cout << "星期一" << endl; break;
case 2: cout << "星期二" << endl; break;
case 3: cout << "星期三" << endl; break; // 输出:星期三
default: cout << "无效星期" << endl; break;
}
注意:case
后必须加break
,否则会继续执行下一个case
的代码(“穿透现象”)。
4. 选择结构的嵌套
选择结构内部可以包含另一个选择结构,用于处理更复杂的条件判断。
int num = -3;
if (num != 0) {
if (num > 0) {
cout << "正数" << endl;
} else {
cout << "负数" << endl; // 输出:负数
}
} else {
cout << "零" << endl;
}
三、循环结构(Loop Structure)
1. 基本概念
循环结构用于重复执行一段代码,直到满足终止条件。C++中主要有while
、do-while
和for
三种循环语句。
2. while
循环
先判断条件,再执行循环体(条件为真时执行)。
while (条件表达式) {
// 循环体(重复执行的语句)
}
示例:计算1到10的和
int sum = 0;
int i = 1;
while (i <= 10) { // 当i<=10时循环
sum += i; // 累加i的值
i++; // i自增(避免无限循环)
}
cout << "sum = " << sum << endl; // 输出:sum = 55
3. do-while
循环
先执行循环体,再判断条件(至少执行一次循环体)。
do {
// 循环体
} while (条件表达式); // 注意末尾的分号
示例:输入一个正数(确保至少输入一次)
int num;
do {
cout << "请输入一个正数:";
cin >> num;
} while (num <= 0); // 若输入非正数,重复输入
cout << "你输入的数是:" << num << endl;
4. for
循环
适合已知循环次数的场景,将初始化、条件判断、更新操作合并在一行,结构更紧凑。
for (初始化; 条件判断; 更新操作) {
// 循环体
}
执行流程:
- 执行初始化(仅一次);
- 判断条件,若为真则执行循环体,否则跳出循环;
- 执行更新操作,回到步骤2。
示例:输出1到5的平方
for (int i = 1; i <= 5; i++) {
cout << i << "的平方是:" << i*i << endl;
}
输出结果:
1的平方是:1
2的平方是:4
3的平方是:9
4的平方是:16
5的平方是:25
5. 循环控制语句
-
break
:立即终止当前循环,跳出循环体;
示例:找到第一个能被3和5整除的数for (int i = 1; ; i++) { if (i % 3 == 0 && i % 5 == 0) { cout << "找到:" << i << endl; // 输出:找到:15 break; // 找到后跳出循环 } }
-
continue
:跳过本次循环剩余语句,直接进入下一次循环;
示例:输出1到10中的奇数for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; // 偶数则跳过后续输出 } cout << i << " "; // 输出:1 3 5 7 9 }
6. 循环嵌套
一个循环内部包含另一个循环,常用于多维场景(如矩阵、表格)。
示例:打印5行5列的星号矩阵
for (int row = 1; row <= 5; row++) { // 外层循环控制行数
for (int col = 1; col <= 5; col++) { // 内层循环控制列数
cout << "* ";
}
cout << endl; // 每行结束后换行
}
输出结果:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
四、三大结构的综合应用
复杂程序通常是三大结构的组合,例如:用“循环+选择”计算1到100的偶数和。
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) { // 循环结构:遍历1-100
if (i % 2 == 0) { // 选择结构:判断是否为偶数
sum += i; // 顺序结构:累加
}
}
cout << "1到100的偶数和为:" << sum << endl; // 输出:2550
return 0;
}
总结
- 顺序结构:按顺序执行,是程序的基础;
- 选择结构:根据条件分支执行(
if
/switch
); - 循环结构:重复执行代码(
while
/do-while
/for
)。
掌握这三大结构是编写C++程序的核心,任何复杂逻辑都可通过它们的组合实现。实际编程中需根据场景选择合适的结构,例如:已知循环次数用for
,需至少执行一次用do-while
,多条件判断用if-else if
或switch
。