「C++系列」判断
创始人
2024-11-04 17:08:16
0

文章目录

  • 一、判断
    • 1. `if` 语句
    • 2. `if-else` 语句
    • 3. `if-else if-else` 语句链
    • 4. `switch` 语句
    • 注意事项
  • 二、应用场景
    • 1. 用户输入验证
    • 2. 决策逻辑
    • 3. 循环控制
    • 4. 排序算法
  • 三、相关链接

一、判断

在C++中,判断通常是通过条件语句来实现的,这些语句允许程序根据特定条件执行不同的代码块。C++提供了几种不同的条件语句来支持这种逻辑判断。

1. 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匹配,则执行这里的代码(可选) } 

注意事项

  • 在使用ifif-elseif-else if-else语句时,确保条件表达式能够清晰地反映你的意图。
  • switch语句中,每个case块后都应该有一个break语句,除非你确实希望执行下一个case块的代码(这种情况称为“case穿透”或“case fall-through”,但在实践中应谨慎使用)。
  • C++17引入了对switch语句中字符串和其他非整型条件的支持,但使用时需要确保编译器支持这一特性。
  • 在设计条件逻辑时,考虑代码的清晰性和可维护性,避免创建过于复杂的条件表达式。
    在这里插入图片描述

二、应用场景

在C++中,判断条件的应用场景非常广泛,几乎涵盖了所有需要基于特定条件执行不同逻辑的代码场景。以下是一些常见的应用场景及详细案例:

1. 用户输入验证

在接收用户输入时,常常需要验证输入是否满足特定条件,如是否为正数、是否在指定范围内等。

案例:验证用户输入的年龄是否合法(假设合法年龄为1到120岁)。

#include  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  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  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  #include  using namespace std;  void bubbleSort(vector& 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 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; } 

在这里插入图片描述

三、相关链接

  1. Visual Studio Code下载地址
  2. Sublime Text下载地址
  3. 「C++系列」C++简介、应用领域
  4. 「C++系列」C++ 基本语法
  5. 「C++系列」C++ 数据类型
  6. 「C++系列」C++ 变量类型
  7. 「C++系列」C++ 变量作用域
  8. 「C++系列」C++ 常量知识点-细致讲解
  9. 「C++系列」C++ 修饰符类型
  10. 「C++系列」一篇文章说透【存储类】
  11. 「C++系列」一篇文章讲透【运算符】
  12. 「C++系列」循环

相关内容

热门资讯

长期以来!hhpoker到底可... 长期以来!hhpoker到底可以作弊吗,多乐跑辅助,烘培教程(今日头条)1、玩家可以在多乐跑辅助透视...
六分钟辅助!新荣耀辅助(辅助挂... 六分钟辅助!新荣耀辅助(辅助挂)其实真的有辅助攻略(有挂教学)新荣耀辅助能透视中分为三种模型:新荣耀...
最新消息!wpk模拟器是什么,... 最新消息!wpk模拟器是什么,神兽h5平台反杀,讲义教程(真实有挂)1、金币登录送、破产送、升级送、...
八分钟辅助!情怀莆仙吹牛脚本(... 八分钟辅助!情怀莆仙吹牛脚本(辅助挂)果然真的有辅助软件(有挂细节)1、下载好情怀莆仙吹牛脚本正确养...
技巧辅助挂!wepoker手机... 技巧辅助挂!wepoker手机版辅助,欢乐茶馆修改器辅助,方针教程(有挂规律)1、下载好欢乐茶馆修改...
第3分钟辅助!广东雀神麻木智能... 第3分钟辅助!广东雀神麻木智能插件安装(辅助挂)一贯真的是有辅助方法(有挂猫腻)1、每一步都需要思考...
2026版辅助挂!poker ... 2026版辅助挂!poker world辅助器,极速猜一猜暗堡辅助,诀窍教程(有挂教学)1、用户打开...
第六分钟辅助!爱来大菠萝怎么玩... 第六分钟辅助!爱来大菠萝怎么玩(辅助挂)原来真的有辅助app(真的有挂)1、爱来大菠萝怎么玩透视辅助...
相较于以往!wepoker私人... 相较于以往!wepoker私人局辅助挂,都莱大菠萝辅助器,模板教程(揭秘有挂)1、完成都莱大菠萝辅助...
第3分钟辅助!新荣耀辅助软件(... 第3分钟辅助!新荣耀辅助软件(辅助挂)一贯是有辅助神器(有挂解密)1、让任何用户在无需新荣耀辅助软件...