欢迎访问宙启技术站
智能推送

控制流程函数:if-else语句和switch语句

发布时间:2023-05-20 04:50:32

控制流程函数是编程语言中的重要内容,主要用于控制代码执行的顺序和方式。其中,if-else语句和switch语句是两种常用的控制流程函数。本文将对它们进行详细介绍。

一.if-else语句

if-else语句是一种条件语句,用于根据条件的真假来执行不同的语句块。其基本语法如下:

if (条件1) {
    // 如果条件1成立,执行此代码块
} else if (条件2) {
    // 如果条件1不成立,但条件2成立,执行此代码块
} else {
    // 如果以上条件都不成立,执行此代码块
}

其中,条件1、条件2等条件表达式可以为任何可以求值为布尔值的表达式,如比较表达式、逻辑表达式等。如果条件1的结果为真,则执行 个代码块;否则判断条件2,如果条件2的结果为真,则执行第二个代码块;否则执行最后一个代码块。当条件表达式的结果为真时,才执行对应的代码块;否则跳过此代码块,继续执行后面的代码。

例如,以下程序根据用户输入的分数来输出相应的等级:

#include <iostream>
using namespace std;

int main() {
    int score;
    cout << "请输入分数:";
    cin >> score;
    
    if (score >= 90) {
        cout << "优秀" << endl;
    } else if (score >= 80) {
        cout << "良好" << endl;
    } else if (score >= 60) {
        cout << "及格" << endl;
    } else {
        cout << "不及格" << endl;
    }
    return 0;
}

如果分数大于等于90分,则输出“优秀”;否则判断分数是否大于等于80分,如果是则输出“良好”;否则判断分数是否大于等于60分,如果是则输出“及格”;否则输出“不及格”。

二.switch语句

switch语句也是一种条件语句,可以根据一个变量的值来执行不同的语句块。其基本语法如下:

switch (变量) {
    case 值1:
        // 如果变量的值等于值1,执行此代码块
        break;
    case 值2:
        // 如果变量的值等于值2,执行此代码块
        break;
    ...
    default:
        // 如果变量的值与所有值都不相等,执行此代码块
}

其中,变量可以是任何有值的表达式,如整型、字符型等。case后面跟的是变量可能的值,值可以是常数、变量或常量表达式。如果变量的值等于某个case后面的值,则执行对应的代码块;如果变量的值与所有值都不相等,则执行default后面的代码块。如果case后面没有break语句,则会继续执行下一个case的代码块,直到遇到break语句或结束switch语句为止。

例如,以下程序根据用户输入的运算符进行相应的运算:

#include <iostream>
using namespace std;

int main() {
    char op;
    double a, b;
    cout << "请输入运算符和两个数(中间用空格隔开):";
    cin >> op >> a >> b;

    switch (op) {
        case '+':
            cout << a + b << endl;
            break;
        case '-':
            cout << a - b << endl;
            break;
        case '*':
            cout << a * b << endl;
            break;
        case '/':
            if (b == 0) {
                cout << "除数不能为0!" << endl;
            } else {
                cout << a / b << endl;
            }
            break;
        default:
            cout << "不支持的运算符!" << endl;
            break;
    }
    return 0;
}

如果用户输入的运算符是加号,则输出两数之和;如果是减号,则输出两数之差;如果是乘号,则输出两数之积;如果是除号,则判断除数是否为0,如果是则输出“除数不能为0!”;否则输出两数之商;如果用户输入的运算符不在以上四种运算符中,则输出“不支持的运算符!”。

总之,if-else语句和switch语句是两种常见的控制流程函数,可以根据不同的条件执行不同的代码块,实现复杂的控制功能。程序员需要根据具体场景选择合适的方式进行编码。