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`语句的流程图:
数学表达式(可选)[编辑 | 编辑源代码]
条件语句中的布尔表达式可以包含数学比较,例如:
总结[编辑 | 编辑源代码]
C++条件语句是控制程序逻辑的核心工具,通过`if`、`if-else`、`else-if`和`switch`语句,开发者可以根据不同条件执行不同的代码块。掌握这些语句是编写高效、灵活程序的基础。