1楼:胡说八道小鬼
break在for循环来实现开关语句、while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体。
c语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。例如,输入一个整数,输出该整数对应的星期几的英文表示:
运行结果:
input integer number:3
wednesday
c语言还提供了另外一种多分支选择的语句——switch 语句,它的基本语法格式如下:
switch(表达式)
它的执行过程是:首先计算“表达式”的值,然后从第一个 case 开始,与“常量表达式x”进行比较,如果与当前常量表达式的值不相等,那么就不执行冒号后边的语句 x,一旦发现和某个常量表达式的值相等了,那么它会执行之后所有的语句,如果直到最后一个“常量表达式 n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。
需要注意的是,当找到一个相等的 case 分支后,会执行该分支以及之后所有分支的语句。例如:
运行结果:
input integer number:4
thursday
friday
saturday
sunday
error
输入4,发现和第四个分支匹配,于是就执行第四个分支以及后面的所有分支。这显然不是我们想要的结果,我们希望只执行第四个分支,跳过后面的所有分支。
为了避免这种情况,c语言还提供了一个关键字 break,专门用于跳出switch语句。
switch 的分支语句一共有 n+1 种,而我们通常希望的都是选择其中的一个分支来执行,执行完后就结束整个 switch 语句,而继续执行 switch后面的语句,此时就可以通过在每个分支后加上 break 语句来实现了。如下:
switch (表达式)
加了这个 break 语句后,一旦“常量表达式 x”与“表达式”的值相等了,那么就执行“语句 x”,执行完毕后,由于有了 break 则直接跳出 switch 语句,继续执行 switch 语句后面的程序了,这样就可以避免执行不必要的语句。
使用switch语句修改上面的**:
运行结果:
input integer number:4
thursday
值得一提的是,由于default是最后一个分支,匹配后不会再执行其他分支,所以也可以不用break;语句。
c语言开关语句
2楼:文化厨子
c语言的开关语句即switch语句,一般格式如下:
switch( 条件 )
3楼:倒霉熊
这由数字的大小什么没有关系,它是满足那个case就执行那个case。
例如a = 2;
switch(a)
那么就先执行case2.
如果a=0;
那么就先执行case0.
default是所有条件均不满足的情况下才执行,例如a=3就会执行。
4楼:
default也不是永远匹配,也是可以放在上面的,但是放在上面,应该也是要在语句后面加个break,不然,执行default后,还是会执行它下面的一个语句(不满足case条件也会执行)
5楼:匿名用户
不是,先遇到哪个case先判断。例如
switch (a)
最首先遇到2,会比较a是否等于2,如果是执行一些操作。
所以通常会把最常见的case放在最上面以提高效率。
default是认为默认永远匹配的,你放在最上面它也执行,就没意义了,都是放在最下面处理其他一般默认情况的。
若像lz那样都没有break的,会所有的case都进行判断,符合条件都会执行
6楼:倪世祥
“default是不是不管放哪都是最后执行”是对的,不管放哪,都是先执行完case后再来执行default,而case是从上到下执行。我觉得他第二个问题回答错了,不信的话自己可以写下**执行下
7楼:灰人王
是按顺序执行的,所以一种情况完毕要加break;
8楼:匿名用户
是从上往下执行的,那个不是都最后执行的,也是按顺序的
switch开关语句是指什么 c语言
9楼:匿名用户
就是根据一个表达式的取值,来执行不同的语句,就像一堆开关,可以控制电流往哪个方向流动一样
switch(a)
10楼:傻癫丶
该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同if…else语句,它的所有分支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支……的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。
“?”语句 问号语句也是分支的一种,格式类似(a
11楼:匿名用户
可能之一 吧,分支 之一,满足哪一个条件就选择哪一个语句。
switch(表达式)
12楼:房灵韵辟纯
switch(表达
式)就是switch里面的表达式等于什么值,等于常量表达式1就执行语句1,等于常量表达式2就执行语句2,类推。最后执行
default:就是语句n+1,然后结束。注意,没有break的结果不一样。没有break的话还要执行下一语句,如【
case
常量表达式1:
语句1;】
没有break,就
执行了语句1,然后case
常量表达式2:语句2.后面的类似。
在c语言中开关语句switch中case是什么意思??
13楼:匿名用户
case有实例 情况的意思 实际就是满足case后的标号 那么就这行这个 case的内容 遇到break结束 如果后面一直没break 就会执行到default那里(不管后面的case标号 是否符合switch里的标号)
14楼:萍水e相逢
可能之一 吧,分支 之一
switch(表达式)
15楼:匿名用户
case后面接上匹配的字符串可以转入分支程序执行,同样可以用多个if实现。
16楼:李少龙感谢你
那个情况的意思!比方说:swicth(i)
意思是当i等于1时,把b赋值为2;
当i等于2时,把b赋值为3
17楼:周韵诗堵烟
switch
开关控制语句
一般形式:
switch(c)
根据变量c的不同值。
执行相对应的case语句~
c语言与宏指令有什么关系,plc与C语言有什么关系?
1楼 匿名用户 c语言里面可以用宏定义 都一样了 就像你申明一个变量一样简单 2楼 平凡人生 define m 宏定义名 2 3 表达式 相当于用m替代后面的表达式 3楼 匿名用户 c语言是高级语言。 宏指令是汇编语言程序中的一种伪指令。 最终它们都是编译成cpu能够识别的二进制指令。 4楼 宏指令...
关于switch语句的使用问题,关于C语言问题中switch语句的使用问题
1楼 下海的孤魂 switch结构里少了default语句。 应该如下这样,所有case完成后,最下面加上一个default。 以后请教大家时,出错信息里把行数也拷贝上来,可以更快地看出问题出在 。比如 warning c4060。。。 之前,应该还有出错的行数信息的。 switch int a 1...
c语言for语句中内嵌if"语句的问题
1楼 匿名用户 为满足要求,可修改 如下 include void main else 在vc6下验证通过,与题目 效果一致,如下图 供参考。 2楼 d任意表达式 请采纳。。。。 c语言高手解答 for 语句中嵌套if 如何执行 3楼 拜朋儿 for else for 语句是循环,if是循环里的语句...