06、流程控制

厨子大约 3 分钟C语言基础程序程序厨

流程控制语句主要就是用于控制程序的执行顺序,使程序能够根据条件或循环逻辑执行不同的代码块。

正文

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 循环至少执行一次代码块,然后在条件为真时继续执行,条件检查在循环体之后。

练习

  1. if-else:编写一个程序,要求用户输入一个成绩(0-100之间的整数),然后根据成绩输出等级(A, B, C, D, E)。等级划分如下:
    1. 90-100: A
    2. 80-89: B
    3. 70-79: C
    4. 60-69: D
    5. 0-59: E
  2. switch-case:编写一个程序,要求用户输入一个数字(1-7),然后输出对应的星期几(Monday, Tuesday, ..., Sunday)。
  3. 编写一个程序,使用for循环打印1到10的数字。
  4. 编写一个程序,使用while循环计算并打印1到10的累加和。