
在C ++编程语言中,有一些判断语句,例如if,C ++ switch-case语句等. 在本文中,我们将介绍C ++ switch-case语句的基本用法. 细节,希望能给您带来帮助.
The
if语句处理两个分支. 如果使用多个分支,则需要使用if-else-if结构,但是如果分支更多,则if语句层的嵌套更多. 深度嵌套的else-if语句在语法上通常是正确的,但在逻辑上不能正确反映程序员的意图. 例如,不正确的else-if匹配很容易被忽略.
通过添加新条件和逻辑关系或对语句进行其他更改来确保正确性是困难的. 因此,C / C ++语言提供了一个条件选择语句,专门用于处理多分支结构,称为switch语句,也称为switch语句. 它可以轻松实现深层嵌套的if / else逻辑.

使用C ++ switch-case语句直接处理多个分支(当然包括两个分支). 其一般形式为:
- switch(表达式)
- {
- case 常量表达式1:
- 语句1;
- break;
- case 常量表达式2:
- 语句2;
- break;
- ……
- case 常量表达式n:
- 语句n;
- break;
- default:
- 语句n+1;
- break;
- }
C ++ switch-case语句的执行流程是: 首先在开关之后的括号中计算表达式的值,然后使用该值与每种情况的常量表达式进行顺序比较. case相等后的常量表达式,case后的语句,执行break语句后退出switch语句;如果大小写后括号中的表达式的值不等于所有常量表达式,则执行该语句. 默认后执行语句n + 1,然后退出switch语句,程序流转到该语句的下一个语句切换语句.
上面是switch-case的正则表达式. 默认语句始终写在末尾. 但是,如果将默认语句放在案例的中间,执行的结果是什么?作者测试了几种代表性情况switch case语句例子,并简要列出了以下结果:

A. 每个句子都整齐休息
- switch(c)
- {
- case '1':
- printf("1\n");
- break;
- default:
- printf("default\n");
- break;
- case '2':
- printf("2\n");
- break;
- case '3':
- printf("3\n");
- break;
- }
这种情况是最常见的. 中间的默认写入与最后的写入具有相同的效果.
B. 默认语句后不中断

- switch(c)
- {
- case '1':
- printf("1\n");
- break;
- default:
- printf("default\n");
- // break;
- case '2':
- printf("2\n");
- break;
- case '3':
- printf("3\n");
- break;
- }
在这种情况下,输入为1、2、3、4,相应的输出为1、2、3和默认值2(省略换行switch case语句例子,并且在实际操作中有换行符);也就是说,在这种情况下,请遵循A中的执行顺序和一般标签规则.
C. 在最后一种情况下不会中断
- switch(c)
- {
- case '1':
- printf("1\n");
- break;
- default:
- printf("default\n");
- break;
- case '2':
- printf("2\n");
- break;
- case '3':
- printf("3\n");
- // break;
- }

在这种情况下,输入为1、2、3、4,对应的输出为默认1、2、3. 可以看出,实际的运行效果与将默认语句移动到最后的运行效果不同. . 否则,当输入为3时,输出应为默认值3.
D. 默认值和最后一种情况都不会中断
- switch(c)
- {
- case '1':
- printf("1\n");
- break;
- default:
- printf("default\n");
- // break;
- case '2':
- printf("2\n");
- break;
- case '3':
- printf("3\n");
- // break;
- }
从上面三种情况A,B和C的运行结果中,我们可以推断D的运行结果. 当输入分别为1、2、3、4时,输出为1、2、3,默认值2. 结果与B的情况相同.
到此结束我们对C ++ switch-case语句的介绍
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-159293-1.html
我反正不行要不给大家个毒誓