C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓
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
是小写字母。大写字母(If
或 IF
)将生成错误。
在下面的示例中,我们测试两个值,以判断 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";
}
示例解释
在上面的示例中,我们使用两个变量 x
和 y
来测试 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
条件,因为 condition1
和 condition2
均为 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
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓的更多相关文章
- 高性能JavaScript 循环语句和流程控制
前言 上一篇探讨了达夫设备对于代码性能的影响,本文主要探讨并且测试各种常见的循环语句的性能以及流程控制中常见的优化. 循环语句 众所周知,常用的循环语句有for.while.do-while以及for ...
- python之最强王者(3)——变量,条件、循环语句
1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
- Python 2.7 学习笔记 条件与循环语句
本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...
- Python中的条件和循环语句
条件和循环语句 1. 条件语句 if单用 格式:if 条件表达式 例如:if 5 > 3: print('True') >>> 'True' #当条件满足时才会执行上述操作. ...
- Mariadb MySQL逻辑条件判断相关语句、函数使用举例介绍
MySQL逻辑条件判断相关语句.函数使用举例介绍 By:授客 QQ:1033553122 1. IFNULL函数介绍 IFNULL(expr1, expr2) 说明:假如expr1 不为NULL,则 ...
- python 流程控制(条件语句)
1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...
- java基础 流程控制和条件语句,循环语句
顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...
- [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...
- python实例 条件和循环语句
#! /usr/bin/python #条件和循环语句 x=int(input("Please enter an integer:")) if x<0: x=0 ...
随机推荐
- django学习第十五天-modelform的补充
基于form组件和modelform组件改造图书管理系统 详情可以去图书管理系统分类中查看 基于form组件和modelform组件改造图书管理系统 modelform的补充 class BookMo ...
- FPGA MCS文件为什么比BIN文件烧录快
原因 Xilinx FPGA固化FPGA程序到FLASH时,可以选择使用MCS或者BIN格式,BIN是纯二进制文件,MCS是ASCII格式的文本文件. MCS是Intel早期为MCS系列 II ISI ...
- K6 在 Nebula Graph 上的压测实践
背景 对于数据库来说,性能测试是一个非常频繁的事情.优化查询引擎的规则,调整存储引擎的参数等,都需要通过性能测试,查看系统在不同场景下的影响. 即便是同样的代码,同样的参数配置,在不同的机器资源配置, ...
- rust简要笔记
第一个程序, 我们不用安装编辑器,直接在现成的网页编辑器上运行 https://play.rust-lang.org/
- nexus 莫名错误 两个解决的地方
unknown org.sonatype.nexus.reposibory.httpclient.internal.httpclientfaceImpl 也没太解决,先记录下来吧
- buildFast.js node.js 快速发布到gitee上,这样就不用每次点击,并且自动弹出发布页面,再点击发布,完美!
buildFast.js node.js 快速发布到gitee上,这样就不用每次点击,并且自动弹出发布页面,再点击发布,完美! const fs = require('fs-extra'); fs.c ...
- 在使用sudo apt-get -f install的时候,出现了更换介质的问题-依赖问题
这四个选项都选上,然后apt-get update 在修补依赖问题,apt-get -f install 就好了
- c语言之遗漏---标准C的标记化结构初始化语法
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文发布于 2015-12-29 19:22:14 ...
- 智慧党建3D可视化方案,扩大党建文化宣传数字网络影响力
信息技术的快速发展加快了社会分化解构,重构了人际传播渠道.随着党员中网民."数字原住民"比重持续攀升,党员工作生活信息化.网络化.数据化持续加深,传统的党建方式对党员,特别是年轻一 ...
- 05.java多线程问题
目录介绍 5.0.0.1 线程池具有什么优点和缺点?为什么说开启大量的线程,会降低程序的性能,那么该如何做才能降低性能? 5.0.0.3 线程中start和run方法有什么区别?wait和sleep方 ...