鱼C论坛

 找回密码
 立即注册
查看: 1344|回复: 0

[技术交流] C++ 条件语句 if-else 和 switch-case-default

[复制链接]
发表于 2020-1-7 21:38:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-3-7 13:53 编辑

C++ 条件语句 if-else 和 switch-case-default


if-else 语句

if-else 语句的两种格式:

  1.         if (表达式) {语句 1;}
  2.         if (表达式) {语句 1;} else {语句 2;}
复制代码


表达式为 true 时执行 if 下的语句 1,否则执行 else 下的语句 2(如果有的话)。

注意:if 语句可以没有 else 子句。在 if 语句嵌套中会产生歧义:到底每一个 if 对应哪一个 else?

C++ 中 if 语句嵌套的配对原则:每个 else 子句是和在它之前最近的一个没有 else 子句的 if 配对。


C++ if-else 语句需要注意的几点:

  • 表达式的结果值一般是 true 或 false,它们是 C++ 中的 bool 类型。
    但事实上,表达式也可以为任意表达式,不一定是关系表达式。在 C++ 中 0 为 false,非 0 为 true。
  • 常见错误:表达式是比较两个值是否相等时,用了一个等号(一个等号是赋值,两个等号才是判断)
  • 合理的缩进会使程序结构更加清晰。


switch-case-default 语句

在有多个选择条件的情况下,用 if 语句显得繁琐且效率不高。

在这时,就可以使用 switch 语句。其语法格式如下:

  1. switch (表达式) {
  2.         case 常量表达式 1: 语句 1; break;
  3.         case 常量表达式 2: 语句 2; break;
  4.         ......
  5.         case 常量表达式 n: 语句 n; break;
  6.         default: 语句 n+1; break;
  7. }
复制代码


整个 switch 语句的意思如下:

当表达式符合常量表达式 1,执行语句 1;
符合常量表达式 2,执行语句 2;
……
符合常量表达式 n,执行语句 n;
如果上述都不符合:执行语句 n+1。

注意:

  • default 子句可以省略。
    如果 default 子句省略,那么当表达式不等于常量表达式 1 到常量表达式 n 的值时,则直接跳出 switch 语句。
  • break 语句一定不能少。它用于跳出当前的 switch 语句。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 15:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表