1. if 语句

C++if 语句的语法:

if (boolean_expression)
{// 如果布尔表达式为真将执行的语句
}

如果布尔表达式为 true ,则 if 语句内的代码块将被执行。如果布尔表达式为 false ,则 if 语句结束后的第一组代码(闭括号后)将被执行。

C++ 语言把任何非零和非空的值假定为 true ,把零或 null 假定为 false 。因此,在条件语句中,只要表达式的结果不为零(负数或正数),就被视为结果为 true

2. if … else 语句

C++if ... else 语句的语法:

if (boolean_expression)
{// 如果布尔表达式为真将执行的语句
}
else
{// 如果布尔表达式为假将执行的语句
}

3. if…else if…else 语句

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。当使用 if...else if...else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 elseelse 必须在所有 else if 之后;
  • 一个 if 后可跟零个或多个 else ifelse if 必须在 else 之前;
  • 一旦某个 else if 匹配成功,其他的 else ifelse 将不会被执行;

C++ 中的 if...else if...else 语句的语法:

if (boolean_expression 1)
{// 当布尔表达式 1 为真时执行
}
else if ( boolean_expression 2)
{// 当布尔表达式 2 为真时执行
}
else if ( boolean_expression 3)
{// 当布尔表达式 3 为真时执行
}
else
{// 当上面条件都不为真时执行
}

4. 嵌套 if

C++ 中 嵌套 if 语句的语法:

if (boolean_expression 1)
{// 当布尔表达式 1 为真时执行if (boolean_expression 2){// 当布尔表达式 2 为真时执行}
}

5. switch 语句

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case ,且被测试的变量会对每个 switch case 进行检查。

C++switch 语句的语法:

switch (expression) {case constant-expression  :statement(s);break; // 可选的case constant-expression  :statement(s);break; // 可选的// 可以有任意数量的 case 语句default : // 可选的statement(s);
}

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号 :
  • caseconstant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时, case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时, switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break 。如果 case 语句不包含 break ,控制流将会继续后续的 case ,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case ,出现在 switch 的结尾。 default case 可用于在上面所有 case 都不为真时执行一个任务。 default case 中的 break 语句不是必需的。

6. 三目运算符

三目运算符也叫作条件运算符,它的一般形式如下:

Exp1 ? Exp2 : Exp3;

其中, Exp1Exp2Exp3 是表达式。请注意,冒号的使用和位置。? 表达式的值是由 Exp1 决定的。

  • 如果 Exp1 为真,则计算 Exp2 的值,结果作为整个 ? 表达式的值;
  • 如果 Exp1 为假,则计算 Exp3 的值,结果作为整个 ? 表达式的值;

C++ 笔记(12)— 判断(if/if...else/switch、条件运算符)相关推荐

  1. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  2. 2021李宏毅机器学习笔记--12 attack ML models

    2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...

  3. 《JavaScript高级程序设计》读书笔记 -12.1 window对象

    <JavaScript高级程序设计>读书笔记 -12.1 window对象 12.1 window对象 12.1.1 Global作用域 12.1.2 窗口关系[不是很懂] 12.1.3 ...

  4. 【计算机网络学习笔记12】交换技术(上)

    [计算机网络学习笔记12]交换技术(上) 经典局域网的交换技术 概念 以太网是由Xerox公司创建并由Xerox.intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议 ...

  5. 软件测试工程师学习笔记12 - 数据库篇

    软件测试工程师学习笔记 -12 一.入门必读 二.Linux 三.数据库 1.MySQL基础 1)别名与重复记录 2)条件查询 3)聚合函数 4)数据分组 5)一个练习 6)分组后的数据筛选 7)数据 ...

  6. [网络安全学习篇12]:数据链路层及交换机的学习(千峰网络安全视频笔记 12 day)

    引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足:对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以 ...

  7. 顺序结构,判断结构 if,switch

    1:顺序结构:从上往下执行程序代码,为顺序结构 ---------------------------------------------------------------------- 2:判断结 ...

  8. MyBatis-学习笔记12【12.Mybatis注解开发】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  9. 第十八章 12判断string类型字符串是否为空

    // 12判断string类型字符串是否为空 /*#include <iostream> #include <string> using namespace std; int ...

  10. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

最新文章

  1. python元素平方和,模长
  2. android开发系列之多线程
  3. mysql explain详解_数据库mysql(1)——B+TREE索引原理
  4. 【图像分割模型】多感受野的金字塔结构—PSPNet
  5. 百度api:根据经纬度获取地理位置信息
  6. Vue.js前后端分离2
  7. 果断拿下4000万美元D轮融资,Rancher发力中国本土化与国产化!
  8. 精通Windows Sockets 网络开发-基于Visual C++实现
  9. 玩客云pc端_玩客云电脑客户端-玩客云pc端下载 v1.4.5.112官方版--pc6下载站
  10. UVa 12206 (字符串哈希) Stammering Aliens
  11. 记录——《C Primer Plus (第五版)》第十章编程练习第一题
  12. executorservice 重启_iPhone7使用久了突然手机自动重启,多半原因出在这儿,进来看看...
  13. 【codevs1231】最优布线问题
  14. RoaringBitmap 原理
  15. 利用 ASP.NET 2.0 中的 Web 部件和个性化释放站点的潜能 --作者:Steven A. Smith
  16. 计算机在网络通信方面的应用,分析计算机技术在通信中的应用
  17. mac下使用github 上传代码
  18. wps打开word是绿色的怎么解决?
  19. 下单以及订单处理流程描述
  20. 使用@Aspect不起作用

热门文章

  1. html+spring boot简单的ajax数据传输实现
  2. Docker入门六部曲——服务
  3. 2022-2028年中国ABS管行业市场全景调研及发展趋势分析报告
  4. vscode 高效使用指南
  5. Facebook 发布深度学习工具包 PyTorch Hub,让论文复现变得更容易
  6. LeetCode简单题之检查单词是否为句中其他单词的前缀
  7. k8s核心组件详细介绍教程(配超详细实例演示)
  8. 如何在 GPU 上优化卷积
  9. PyTorch 自动微分示例
  10. HarmonyOS系统概述