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 ...
随机推荐
- shell之sort,uniq,cut,tr
# sort主要是要理解域 # sort选项 -c 测试文件是否已经分类 -m 合并两个分类文件 -u 删除所有复制行 -o 存储sort结果的输出文件名 -b 使用域进行分类时,忽略第一个空格 -n ...
- 【Docker】使用 Docker 部署 .Net Core 项目 (四)
系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...
- [python]将多张图片合并为单个pdf文件
前言 最近有个个人需求是要把多个图片文件合并为一个PDF文件,这样方便用PDF阅读器连续看,避免界面点一下,只会图片放大.(比如看漫画) 主要思路是先把单张图片转换成单个PDF文件,然后把PDF文件进 ...
- C++socket服务器与客户端简单通信流程
服务器和客户端简单通信的流程,做一个简单的复习: 1.服务器创建的流程 代码如下,各个重要函数已经写注释: #include <iostream> // 推荐加上宏定义 #define W ...
- Beckhoff 倍福 漏洞-整理(持续更新)
工控漏洞整理网站 http://ivd.winicssec.com/index.php/Home/Search/search.html?keyword=Beckhoff
- Landsat 7的热红外波段有2个该如何选择?
本文介绍Landsat 7遥感影像数据中B61.B62两个热红外波段的区别,以及研究应用时二者选择的依据. Landsat 7遥感影像数据具有2个热红外波段,分别是Band 61与Band 6 ...
- JS5-PC端网页特效
常见offset系列属性作用 常见client系列属性作用 常见scroll系列属性作用 封装简单动画函数 写出网页轮播图案例 offset 偏移量,使用offset相关属性可以动态的得到该元素的位置 ...
- [学习笔记]在CentOS7中用Docker方式安装Jenkins
@ 目录 原理: 创建Docker网桥网络 安装DinD 创建镜像 构建镜像 运行容器 原理: Docker in Docker (以下简称 DinD)可以在 Container 中直接运行一个 Do ...
- Mybatis中没有返回值的查询方法
最近在项目开发中发现一件非常有意思的事情,一个Mapper.java文件中有一个查询方法没有返回值,这引起了我的好奇心, 没有返回值查询还有什么用呢? 仔细去看这个Mapper.java文件对应的xm ...
- TimeLine 时间轴 网站 分享 time.graphics - nodejs 10年图
话说20年 弹指一挥间 https://time.graphics/line/682014 nodejs 10年图 https://time.graphics/line/598790 资料 2022, ...