C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓

news/发布时间2024/5/8 1:45:30

C++ 条件和 If 语句

您已经知道 C++ 支持数学中的常见逻辑条件:

  • 小于:a < b
  • 小于或等于:a <= b
  • 大于:a > b
  • 大于或等于:a >= b
  • 等于:a == b
  • 不等于:a != b

您可以使用这些条件来针对不同的决定执行不同的操作。

C++ 具有以下条件语句:

  • 使用 if 来指定一个代码块,如果指定的条件为 true,则执行该代码块
  • 使用 else 来指定一个代码块,如果相同的条件为 false,则执行该代码块
  • 使用 else if 来指定一个新的条件进行测试,如果第一个条件为 false,则执行该条件
  • 使用 switch 来指定许多替代代码块来执行

if 语句

使用 if 语句来指定一个代码块,如果条件为 true,则执行该代码块。

语法

if (condition) {// 如果条件为 true,则执行的代码块
}

请注意,if 是小写字母。大写字母(IfIF)将生成错误。

在下面的示例中,我们测试两个值,以判断 20 是否大于 18。如果条件为 true,则打印一些文本:

示例

if (20 > 18) {cout << "20 is greater than 18";
}

我们也可以测试变量:

示例

int x = 20;
int y = 18;
if (x > y) {cout << "x is greater than y";
}

示例解释

在上面的示例中,我们使用两个变量 xy 来测试 x 是否大于 y(使用 > 运算符)。由于 x 是 20,y 是 18,我们知道 20 大于 18,因此我们打印到屏幕上的是 "x is greater than y"。

如果 x 大于 y,则打印 "Hello World"。

int x = 50;
int y = 10;
if (x > y) {cout << "Hello World";
}

else 语句

使用 else 语句来指定一个代码块,如果条件为 false,则执行该代码块。

语法

if (condition) {// 如果条件为 true,则执行的代码块
} else {// 如果条件为 false,则执行的代码块
}

示例

int time = 20;
if (time < 18) {cout << "Good day.";
} else {cout << "Good evening.";
}
// 输出 "Good evening."

示例解释

在上面的示例中,时间(20)大于 18,因此条件为 false。因此,我们进入 else 条件,并打印到屏幕上 "Good evening"。如果时间少于 18,则程序会打印 "Good day"。

else if 语句

使用 else if 语句在第一个条件为 false 时指定一个新条件。

语法

if (condition1) {// 如果 condition1 为 true,则执行的代码块
} else if (condition2) {// 如果 condition1 为 false 且 condition2 为 true,则执行的代码块
} else {// 如果 condition1 和 condition2 均为 false,则执行的代码块
}

示例

int time = 22;
if (time < 10) {cout << "Good morning.";
} else if (time < 20) {cout << "Good day.";
} else {cout << "Good evening.";
}
// 输出 "Good evening."

示例解释

在上面的示例中,时间(22)大于 10,因此第一个条件为 false。在 else if 语句中的下一个条件也为 false,因此我们进入 else 条件,因为 condition1condition2 均为 false,并打印到屏幕上 "Good evening"。

然而,如果时间为 14,我们的程序将打印 "Good day"。

C++ 简写 If Else

简写 If...Else(三元运算符)

还有一种简写的 if else,称为三元运算符,因为它由三个操作数组成。它可以用来用单行代码替换多行代码。通常用于替换简单的 if else 语句:

语法

variable = (condition) ? expressionTrue : expressionFalse;

而不是编写:

示例

int time = 20;
if (time < 18) {cout << "Good day.";
} else {cout << "Good evening.";
}

您可以简单地编写:

示例

int time = 20;
string result = (time < 18) ? "Good day." : "Good evening.";
cout << result;

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/42168176.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

《从0到1:CTFer成长之路》题目-SQL注入-2

《从0到1:CTFer成长之路》题目 SQL注入-2: 题目类型:web 题目描述:打开靶机,出现下面这种界面:我们访问login.php:我们再访问一下user.php:解题方法:这里我们知道login.php是一个后台管理系统的登陆界面,user.php显示的是一句话,看了一下user.php的源码并没有发现什么…

SQL Server Profilter - 简单使用

介绍 SQL Server Profiler 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤。 使用 SQL Server Profiler Microsoft SQL Server Profiler 是 SQL 跟踪的图形用户界面,…

毕设进度3.26

在订单入库同步设置冷库设定温度 明日计划 增加随机数值生成器,在温度控制范围内控制设备

P2143 [JSOI2010] 巨额奖金 题解

qwqP2143 [JSOI2010] 巨额奖金 题解矩阵树定理+Kruskal最小生成树计数。 思路 MST 都是喵喵题。 引理 1:所有合法的权值相同边的连边方案,得到的连通块情况是相同的。 感性理解:如果不相同意味着至少有一条边可以连通一对连通块。 所以我们可以这么做:先跑 Kruskal 标记树边…

MAT确认导致OOM的具体功能表单的过程

MAT发现导致OOM的具体功能表单的过程背景 愚人节这一天公司项目出现了 大量FullGC的情况. 群里发出来之后这边进行了一些简单的问题查找.堆区设置的事 30G 然后 dump文件是 35G左右. 下载和解压缩耗时 15min 使用40G堆区 全闪的Window虚拟机进行解析 耗时 30分钟.最近自己眼神不…