2、switch语句 注意,case 只是标志一个位置而已,所以当switch后面表达式等于某个case后面的表达式时,就跳到那个case,执行那个case后面的语句,所以,你一定要记得加break,执行完毕这个case后面的代码块后就跳出switch语句! 如果你不加break,就接着执行下面一个case语句中的打印,直到打印完毕default才跳出switch代码块!因为...
执行switch 时生成一个长度为最大 case+1 的数组,程序首先判断 switch 变量是否大于最大 case 常量,若大于,则跳到 default 分支处理。否则取得数组索引号为 switch 变量值大小,取得数组对应值即为相应 case 代码块地址,程序接着跳到此地址执行,完成分支的跳转。 三:从“选择性”分析 当选择分支较少时,选用 if ...
可以看见其会一行一行的执行,而不像switch语句一样,直接可以跳转到对应的地址。 通过观察堆栈,我们可以发现switch的高明之处: 其将case分支的执行地址都存入到了堆栈中(也就是查找表),而后使用算法去寻找到对应要执行的地址(堆栈存储的地址),这套算法我们可以这样理解: 1.堆栈中会存在一个执行地址的内存表,其顺序...
C: if/else能进行逻辑判断,而Switch不行,因此在需要进行逻辑判断时使用if/else语句; 四、支持的数据类型 Switch/case只支持部分数据类型:int、long和枚举类型,由于byte、short、char都可以隐含转换为int,因此:switch支持的数据类型为:byte、short、char,int、long和枚举类型,不支持:boolean、float、double; if/else...
之前学习C语言的时候,我经常有一个疑问,既然有if-else if-else结构的多分支选择语句,C语言为何还要制定switch这种多分支选择语句呢?直到两年前在分析ARM平台C语言反汇编代码的时候,才终于明白了switch-case这种结构存在的意义及价值。一句话来说,就是switch结构产生的机器代码更为精简、CPU执行起来更加高效。switch结构...
在C语言的学习中我们可以使用if、switch语句实现分支结构,现在我就用这篇博客和大家介绍一下if、switch分支结构。 1.if语句 1.1 if if语句的基本格式如下: if(表达式) 语句; 1. 2. 在上述语法格式中,如果表达式成立,则语句执行;如果表达式不成立,则语句不执行。(在C语言中0为假,非0为真,也就是表达式的结果...
例如if (x > 1 && x < 100),是无法使用 switch…case 来处理的。 所以,switch 只能是在常量选择分支时比 if…else 效率高,但是 if…else 能应用于更多的场合,它比较灵活。 如果你年满18周岁以上,又觉得学【C语言】太难?想尝试其他编程...
switch…case 只能处理 case 为常量的情况,对非常量的情况是无能为力的。 例如if (x > 1 && x < 100),是无法使用 switch…case 来处理的。 所以,switch 只能是在常量选择分支时比 if…else 效率高,但是 if…else 能应用于更多的场合,它比较灵活。
switch语句的形式是: switch(变量) { case: 常量1;语句;break; case: 常量2;语句;break; 注意当上面case后面没有break时将会执行该case后面的语句 } default:语句;break; #include<stdio.h> int main() int a = 1; int b = 2; switch (a) ...
C语言中,switch的执行规则是,判断case后面的常量和switch后面的表达式是否相匹配,如果匹配,就执行case后面的程序代码,直到遇到break退出。 #include<stdio.h> int main() { int num; while(1) { printf(“***\n”); //界面 printf(“———-主菜单界面———\n”); printf(“———...