c语言switch语句中怎样在嵌套switch

作者&投稿:臾重 (若有异议请与网页底部的电邮联系)
C语言 switch语句嵌套~

printf("please input second letter
");
letter =getchar(); // 把这句抽出来放在 if 以前;
if (letter =='a') {...}
else if (letter == 'u'){...}
else {...};
-----------------
不抽出来的话,那么 每进一层 else if , 就会又执行 一句 getchar(); 要求 你再输入一个字符,
字符次序就乱了。

switch里面放的是常量表达式,每个case都要跟switch比较,确认switch语句等于他自己时,才会执行对应的语句
if的适用范围不局限于此,但是if中绝对可以嵌套switch,switch也可以嵌套if语句除了影响程序美观,具体看你怎么写程序

就是在第一个switch的某个case语句或default语句中进行嵌套。

例如:

int a=4,i=0;

switch(a)

{

case 1: 

{

printf("abc");

break;

    }

case 2: 

{

printf("abcd");

        break;

}

case 3: 

{

i++;

switch(i)  // switch语句中嵌套switch语句

{

case 1: printf("fff");break;

case 2: printf("111");break;

default: printf("222");

}

break;

}

default :

printf("error");

}

扩展资料:

注意事项

1、witch后面括号里的结果必须是×××值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。

2、break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。

3、default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。

4、不是所有case语句最后都跟有break。我们起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常亮表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。

实际当中,我们还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。 



switch嵌套语句的一般形式:

switch(表达式)

case常量1:语句1

case常量2:switch(表达式)

{case常量1:语句1

case常量2:语句2

......

case常量n:语句n

default:语句n+1

}

.....

case常量n:语句n

default:语句n+1

扩展资料

在使用switch语句注意事项:

1、在case后的各常量表达式的值不能相同,否则会出现错误。

2、在case后,允许有多个语句,可以不用{}括起来。

3、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

4、default子句可以省略不用。



switch中嵌套switch就是在第一个switch的某个case语句或default语句中进行嵌套。


下面以switch嵌套在case语句中进行举例说明。

int a=4,i=0;
switch(a)
{
    case 1: 
    {
        printf("abc");
        break;
    }
    case 2: 
    {
        printf("abcd");
        break;
    }
    case 3: 
    {
        i++;
        switch(i)  // switch语句中嵌套switch语句
        {
            case 1: printf("fff");break;
            case 2: printf("111");break;
            default: printf("222");
        }
        break;
    }
    default :
        printf("error");
}


#include <stdio.h>

int main()
{
 char select[5] = {0};
 int flag = 0;
 printf("please select:");
 gets(select);
 switch(select[0])
 {
 case '0':
 {
  printf("Please select:");
  scanf("%d", &flag);
  getchar();
  switch(flag)
  {
  case 1:
   printf("flag = 1.
");
   break;
  case 2:
   printf("flag = 2.
");
   break;
  default:
   break;
  }
 }
  printf("select[0] = '0'.
");
  break;
 case '1':
  break;
 default:
  break;
 }
 return 0;
}


举个例子吧:
main()
{
int a=1,b=2,c=3;
switch(a〉0)
{
case1:
switch(b〈0)
{
case0:printf("1");
case1:printf("2");
}
case0:
switch(c==3)
{
case0:printf("3");
case1:printf("4");
default:printf("5");
}
default:printf("6");
}
printf("7");
}


switch语句是什么?
C语言中的SWITCH是计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。其一般形式为:switch(表达式)。case 常量表达式1: 语句1 case 常量;表达式2: 语句2 case 常量;表达式n: 语句...

switch语句是什么语言的?
1、Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。2、switch语句的语法如下(switch,case和default是关键字):switch ( 常量表达式 ){ case 常量1 :语句;case 常量2 :语句;case 常量...

switch语句是什么意思?
switch()语句的括号内的表达式必须是整型,它要与case 里的值呼应。Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。switch语句的语法如下(switch,case,break和default是关键字):switch ( 变...

switch语句是什么意思,在哪里?
简单的说switch语句也是属于判断语句,if else语句适合3个以内的判断,但是多了用if就不太方便了,所以这时3个以上的判断用switch语句就比较方便了,结构就像楼上的兄弟们那样写的,大概怎么用我举个例子你就懂了。例:判断一周的食谱,就是星期几的食谱是什么,首先一个星期7天,那么判断七次,用switch...

switch语句格式
switch (表达式){case 常量表达式1: 语句1case 常量表达式2: 语句2┇case 常量表达式n: 语句ndefault: 语句n+1} 说明:1) switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是...

SWITCH语句是什么意思啊?
1、SWITCH语句的字面意思是开关,是用来进行多重选择。具体的用法首先打开C-Free5.0软件,然后新建一个名为switch.c文件,然后在引入头文件和main主函数:2、首先定义一个整型数值,然后从外面写入这个值,这里用到的scanf函数就是从外面读入一个值给a,然后运行一下,输入一个数验证:3、接着用switch...

switch(C语言中)是什么意思
switch的意思是转换。Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。汉语翻译:n. 开关, 电闸, 转换, 软枝, 鞭子, 道岔vt. 转变, 切换, 摆动, 转换, 使转轨vi. 转换, 变换, 摆动相关词组:switch sb onswitch sb offswitch sth out of sb's handasleep at...

if语句和switch语句的区别有哪些?
在C语言中,if语句和switch语句都是非常重要的控制结构。它们之间有一些相似之处和差异。相似之处:都可以实现条件判断,都有分支结构,可以根据某个表达式的值进行条件转移。不同之处:if语句可以进行复杂的条件判断,例如嵌套if-else、多重if等;而switch语句只支持有限的条件转移,比如多值判断,而无法...

switch什么意思?
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。switch语句的语法如下(switch,case和default是关键字):switch ( controllingExpression ){ case constantExpression1 :case constantExpression2...

c语言中的switch语句,使用时应注意哪些?
C语言switch语句使用 switch(a);不要分号 swhich后面没有分号 安全帽的作用及使用时应注意哪些 安全帽的作用: 从安全帽的外型上看十分圆滑.当配戴者受到较小高处落物打击时,物体可顺利地沿帽壳的圆弧滑落;当受到较大高处落物打击时.因帽壳与帽衬之间有25—50的垂直距离,当受到水平方向物体打击时.帽壳与帽村...

阎良区18467222311: c语言switch语句中怎样在嵌套switch -
巫狐金盟: 就是在第一个switch的某个case语句或default语句中进行嵌套. 例如: int a=4,i=0; switch(a) { case 1: { printf("abc"); break;}case 2: { printf("abcd");break;} case 3: { i++; switch(i) // switch语句中嵌套switch语句 { case 1: printf("fff");break; ...

阎良区18467222311: c语言中循环可以嵌套,那选择可以嵌套吗?可以嵌套的话,switch怎么嵌套,举个例子. -
巫狐金盟: int a; 把a的值确定 switch(a) {case 1:switch (a % 3){case 1:break;}break; }

阎良区18467222311: c语言switch语句中怎样在嵌套switch
巫狐金盟: 举个例子吧: main() { int a=1,b=2,c=3; switch(a〉0) { case1: switch(b〈0) { case0:printf("1"); case1:printf("2"); } case0: switch(c==3) { case0:printf("3"); case1:printf("4"); default:printf("5"); } default:printf("6"); } printf("7"); }

阎良区18467222311: C语言switch - case嵌套 -
巫狐金盟: 输出@#& void main() {int a=2,b=7,c=5;switch(a>0)//判断是真(a>0)继续执行{case 1:switch(b<10)//判断为真(b=7<10)继续执行(逻辑真为1,假为0){case 1:printf("@");break;//输出@ 遇到break跳出case1case 0:printf("!");break; }...

阎良区18467222311: C语言 switch语句嵌套 -
巫狐金盟: printf("please input second letter\n"); letter =getchar(); // 把这句抽出来放在 if 以前;if (letter =='a') {...} else if (letter == 'u'){...} else {...};----------------- 不抽出来的话,那么 每进一层 else if , 就会又执行 一句 getchar(); 要求 你再输入一个字符,字符次序就乱了.

阎良区18467222311: C程序中,switch语句的case中可以嵌套其他语句不?如题 谢谢了 -
巫狐金盟: 1楼答非所问. 最近也在复习C语言,这么回答楼主吧,定义不能嵌套,但是调用可以嵌套. 正如case,后面也能跟其他语句,做题目时就碰到过. 所以可以嵌套.希望采纳

阎良区18467222311: c语言switch 结构嵌套 -
巫狐金盟: switch(getchar()) { case'1':printf("ok");break; case'2':{ getchar(); //加上这一行试试------------------------------------------------------ system("cls"); printf("1.新建菜\n"); printf("2.看菜谱\n"); printf("3.删除菜\n"); switch(getchar()) { case'1':...

阎良区18467222311: C语言if和switch的嵌套 -
巫狐金盟: 实现两位数的加减乘除, #include<stdio.h>void main(){int a,b;char h;scanf("%d%c%d",&a,&h,&b);switch(h){ case '+':printf("%d%c%d=%d\n",a,h,b,a+b);break; case '-':printf("%d%c%d=%d\n",a,h,b,a-b);break; case '*':printf("%d...

阎良区18467222311: c语言中多个switch函数能不能并列使用????????? -
巫狐金盟: 如果是嵌套的话可以的,比如:switch(grade1) { case 1 : switch(grade2) { } }是可以的.switch(grade1) {........} switch(grade2) {.....} 也是可以的,就象两个if语句并列一样 但是最好不要用过多的switch语句

阎良区18467222311: c语言怎么用switch结构把2个部分合在一起 -
巫狐金盟: 先提示输入一个数(1或2),int n; cin>>n; 以下是伪代码:switch(n { case(1): 调用计算器; break; case(2): 求平均数; break; } 就行了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网