• 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++中主要有whiledo-whilefor三种循环语句。

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 (初始化; 条件判断; 更新操作) {
    // 循环体
}

执行流程

  1. 执行初始化(仅一次);
  2. 判断条件,若为真则执行循环体,否则跳出循环;
  3. 执行更新操作,回到步骤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 ifswitch

0 条评论

目前还没有评论...