跳转到内容

C++ 条件语句

来自代码酷

C++条件语句是控制程序执行流程的基本结构之一,允许程序根据特定条件的真假选择不同的执行路径。本教程将详细介绍C++中的条件语句,包括`if`、`if-else`、`else-if`和`switch`语句,并提供实际案例和代码示例。

概述[编辑 | 编辑源代码]

在编程中,条件语句用于根据布尔表达式(真或假)决定是否执行某段代码。C++提供了以下条件语句:

  • `if`:当条件为真时执行代码块。
  • `if-else`:当条件为真时执行一个代码块,否则执行另一个代码块。
  • `else-if`:用于检查多个条件,依次执行第一个为真的代码块。
  • `switch`:根据表达式的值选择多个分支之一执行。

`if` 语句[编辑 | 编辑源代码]

`if`语句是最简单的条件语句,语法如下:

  
if (条件) {  
    // 条件为真时执行的代码  
}

示例[编辑 | 编辑源代码]

以下代码检查一个数是否为正数:

  
#include <iostream>  
using namespace std;  

int main() {  
    int num = 10;  
    if (num > 0) {  
        cout << "数字是正数。" << endl;  
    }  
    return 0;  
}

输出

  
数字是正数。  

`if-else` 语句[编辑 | 编辑源代码]

`if-else`语句允许在条件为假时执行另一段代码,语法如下:

  
if (条件) {  
    // 条件为真时执行的代码  
} else {  
    // 条件为假时执行的代码  
}

示例[编辑 | 编辑源代码]

以下代码检查一个数是奇数还是偶数:

  
#include <iostream>  
using namespace std;  

int main() {  
    int num = 7;  
    if (num % 2 == 0) {  
        cout << "数字是偶数。" << endl;  
    } else {  
        cout << "数字是奇数。" << endl;  
    }  
    return 0;  
}

输出

  
数字是奇数。  

`else-if` 语句[编辑 | 编辑源代码]

当需要检查多个条件时,可以使用`else-if`语句,语法如下:

  
if (条件1) {  
    // 条件1为真时执行的代码  
} else if (条件2) {  
    // 条件2为真时执行的代码  
} else {  
    // 所有条件均为假时执行的代码  
}

示例[编辑 | 编辑源代码]

以下代码根据分数输出等级:

  
#include <iostream>  
using namespace std;  

int main() {  
    int score = 85;  
    if (score >= 90) {  
        cout << "等级:A" << endl;  
    } else if (score >= 80) {  
        cout << "等级:B" << endl;  
    } else if (score >= 70) {  
        cout << "等级:C" << endl;  
    } else {  
        cout << "等级:D" << endl;  
    }  
    return 0;  
}

输出

  
等级:B  

`switch` 语句[编辑 | 编辑源代码]

`switch`语句根据表达式的值选择执行的分支,语法如下:

  
switch (表达式) {  
    case 值1:  
        // 表达式等于值1时执行的代码  
        break;  
    case 值2:  
        // 表达式等于值2时执行的代码  
        break;  
    default:  
        // 表达式不匹配任何case时执行的代码  
}

示例[编辑 | 编辑源代码]

以下代码根据星期数输出对应的名称:

  
#include <iostream>  
using namespace std;  

int main() {  
    int day = 3;  
    switch (day) {  
        case 1: cout << "星期一" << endl; break;  
        case 2: cout << "星期二" << endl; break;  
        case 3: cout << "星期三" << endl; break;  
        default: cout << "无效的星期数" << endl;  
    }  
    return 0;  
}

输出

  
星期三  

实际应用案例[编辑 | 编辑源代码]

用户登录验证[编辑 | 编辑源代码]

以下代码模拟用户登录验证:

  
#include <iostream>  
#include <string>  
using namespace std;  

int main() {  
    string username = "admin";  
    string password = "12345";  

    string inputUser, inputPass;  
    cout << "请输入用户名:";  
    cin >> inputUser;  
    cout << "请输入密码:";  
    cin >> inputPass;  

    if (inputUser == username && inputPass == password) {  
        cout << "登录成功!" << endl;  
    } else {  
        cout << "用户名或密码错误!" << endl;  
    }  
    return 0;  
}

流程图[编辑 | 编辑源代码]

以下为`if-else`语句的流程图:

graph TD A[开始] --> B{条件是否为真?} B -- 是 --> C[执行if代码块] B -- 否 --> D[执行else代码块] C --> E[结束] D --> E

数学表达式(可选)[编辑 | 编辑源代码]

条件语句中的布尔表达式可以包含数学比较,例如:

  • x>y
  • ab

总结[编辑 | 编辑源代码]

C++条件语句是控制程序逻辑的核心工具,通过`if`、`if-else`、`else-if`和`switch`语句,开发者可以根据不同条件执行不同的代码块。掌握这些语句是编写高效、灵活程序的基础。