「C++系列」判断
·零落· 2024-08-02 16:05:03 阅读 51
文章目录
一、判断1. `if` 语句2. `if-else` 语句3. `if-else if-else` 语句链4. `switch` 语句注意事项
二、应用场景1. 用户输入验证2. 决策逻辑3. 循环控制4. 排序算法
三、相关链接
一、判断
在C++中,判断通常是通过条件语句来实现的,这些语句允许程序根据特定条件执行不同的代码块。C++提供了几种不同的条件语句来支持这种逻辑判断。
1. <code>if 语句
if
语句是最基本的条件语句,用于基于单个条件执行代码块。
if (condition) {
// 如果条件为真,则执行这里的代码
}
2. if-else
语句
if-else
语句在if
语句的基础上增加了一个else
部分,用于在条件为假时执行不同的代码块。
if (condition) {
// 如果条件为真,则执行这里的代码
} else {
// 如果条件为假,则执行这里的代码
}
3. if-else if-else
语句链
你可以将多个if-else
语句链接起来,以测试多个条件。这被称为if-else if-else
语句链。
if (condition1) {
// 如果condition1为真,则执行这里的代码
} else if (condition2) {
// 如果condition1为假但condition2为真,则执行这里的代码
} else {
// 如果所有前面的条件都为假,则执行这里的代码
}
4. switch
语句
switch
语句是另一种在C++中用于基于不同条件执行不同代码块的语句。它通常与枚举或整型表达式一起使用,但也可以通过类型转换与字符串等其他类型一起使用(尽管这需要C++17或更高版本的支持)。
switch (expression) {
case value1:
// 如果expression等于value1,则执行这里的代码
break; // 使用break语句来避免执行下一个case的代码
case value2:
// 如果expression等于value2,则执行这里的代码
break;
// 可以有更多的case...
default:
// 如果没有任何case匹配,则执行这里的代码(可选)
}
注意事项
在使用if
、if-else
、if-else if-else
语句时,确保条件表达式能够清晰地反映你的意图。在switch
语句中,每个case
块后都应该有一个break
语句,除非你确实希望执行下一个case
块的代码(这种情况称为“case穿透”或“case fall-through”,但在实践中应谨慎使用)。C++17引入了对switch
语句中字符串和其他非整型条件的支持,但使用时需要确保编译器支持这一特性。在设计条件逻辑时,考虑代码的清晰性和可维护性,避免创建过于复杂的条件表达式。
二、应用场景
在C++中,判断条件的应用场景非常广泛,几乎涵盖了所有需要基于特定条件执行不同逻辑的代码场景。以下是一些常见的应用场景及详细案例:
1. 用户输入验证
在接收用户输入时,常常需要验证输入是否满足特定条件,如是否为正数、是否在指定范围内等。
案例:验证用户输入的年龄是否合法(假设合法年龄为1到120岁)。
<code>#include <iostream>
using namespace std;
int main() {
int age;
cout << "请输入您的年龄:";
cin >> age;
if (age >= 1 && age <= 120) {
cout << "您输入的年龄是合法的。" << endl;
} else {
cout << "您输入的年龄不合法,请重新输入。" << endl;
}
return 0;
}
2. 决策逻辑
在程序中,根据不同的条件执行不同的逻辑分支是常见的需求。
案例:根据用户的选择(通过输入数字1、2或3)执行不同的操作。
#include <iostream>
using namespace std;
int main() {
int choice;
cout << "请选择操作(1: 加法, 2: 减法, 3: 乘法):" << endl;
cin >> choice;
switch (choice) {
case 1:
cout << "执行加法操作。" << endl;
break;
case 2:
cout << "执行减法操作。" << endl;
break;
case 3:
cout << "执行乘法操作。" << endl;
break;
default:
cout << "无效的选择,请重新输入。" << endl;
}
return 0;
}
3. 循环控制
在循环中,判断条件用于控制循环的继续或终止。
案例:使用while
循环计算1到10的累加和。
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int i = 1;
while (i <= 10) {
sum += i;
i++;
}
cout << "1到10的累加和是:" << sum << endl;
return 0;
}
4. 排序算法
在排序算法中,判断条件用于比较元素的大小,以决定元素的排序顺序。
案例(简化版):冒泡排序算法中的比较逻辑。
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int>& arr) {
int n = arr.size();
bool swapped;
for (int i = 0; i < n-1; i++) {
swapped = false;
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换arr[j]和arr[j+1]
swap(arr[j], arr[j+1]);
swapped = true;
}
}
// 如果没有发生交换,说明数组已经有序,可以提前结束
if (!swapped) break;
}
}
int main() {
vector<int> arr = { 64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
cout << "Sorted array: \n";
for (int i = 0; i < arr.size(); i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
三、相关链接
Visual Studio Code下载地址Sublime Text下载地址「C++系列」C++简介、应用领域「C++系列」C++ 基本语法「C++系列」C++ 数据类型「C++系列」C++ 变量类型「C++系列」C++ 变量作用域「C++系列」C++ 常量知识点-细致讲解「C++系列」C++ 修饰符类型「C++系列」一篇文章说透【存储类】「C++系列」一篇文章讲透【运算符】「C++系列」循环
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。