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 ...
随机推荐
- 【LeetCode二叉树#12】合并二叉树(巩固层序遍历)
合并二叉树 力扣题目链接(opens new window) 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果 ...
- 新来个架构师,用48张图把OpenFeign原理讲的炉火纯青~~
大家好,我是三友~~ 在很久之前,我写过两篇关于OpenFeign和Ribbon这两个SpringCloud核心组件架构原理的文章 但是说实话,从我现在的角度来看,这两篇文章的结构和内容其实还可以更加 ...
- Java面向对象之内部类的几类使用场景
介绍 Java内部类是一种特殊的类,它定义在另一个类的内部.内部类提供了许多有用的特性,包括访问外部类的私有成员.隐藏实现细节以及实现回调接口等.以下是Java内部类的一些常用场景及其举例说明: 回调 ...
- 从真实案例出发,全方位解读 NebulaGraph 中的执行计划
本文整理自 NebulaGraph 核心开发 Yee 在直播<聊聊执行计划这件事>中的主题分享.分享视频参见 B站:https://www.bilibili.com/video/BV1Cu ...
- Spark任务性能调优总结
一.shuffle调优 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO.序列化.网络数据传输等操作.因此,如果要让作业的性能更上一层楼,就有必要对shuf ...
- Netty笔记(5) - 编码解码机制 和 Protobuf技术
介绍: 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和 encode ...
- Java 重写equals
1 package com.bytezreo.objectclass; 2 /** 3 * 4 * @Description 重写equals 5 * @author Bytezero·zhengle ...
- 获取一段时间内,以月/季度为单位,第N天在各个月/季度是几几年几月几号
/** * 获取一段时间内(可跨年),以季度为单位,第N天在各个季度是几月几号 * @param $sTime 时间戳 * @param $eTime 时间戳 * @param $number 第N天 ...
- Java多线程转账
Java多线程转账 关键词:多线程,Java 以前的一道面试题,要求是使用Java多线程,实现一个转账业务.不考虑数据库,不考虑其他第三方系统.只考虑当前Java程序内各个账户进行转账,保证转账金额正 ...
- logon scripts后门
Windows登录脚本,当用户登录时触发,Logon Scripts能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截 注册表位置:HKEY_CURRENT_USER\Environment 在命令 ...