目录
  • switch 语句:
    • 注意事项:
  • 分支结构的嵌套:
    • 注意事项:
  • 语句形式:
    • 流程图:
    • 示例:
  • 总结

    switch 语句:

    一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。
    

    注意事项:

    • 在case每一行的语句或程序块后面要加上break;(否则程序将会把所有程序块从前到后运行一遍。
    • default是可选的,如果上面的case中没有符合的才会选择default(属于备选情况),但是如果不加default则switch语句则不会做出任何响应。

    语句形式:

    …//其他语句
    switch(表达式)
    {
    case 常量表达式1:语句或程序块1
    case 常量表达式2:语句或程序块2

    case 常量表达式n:语句或程序块n
    default:语句或程序块n+1
    }
    …//其他语句

    流程图:

    从头学习C语言之switch语句和分支嵌套

    示例:根据评级查分数区间:

       #include<stdio.h>
       int main()
       {
         char grade;
         printf("请输入你的成绩:");
         scanf("%c",&grade);
         switch (grade)
        {
          case'A':printf("你的成绩大于九十。\n");break;
          case'B':printf("你的成绩在八十分到九十分之间。\n");break;
          case'C':printf("你的成绩在七十分到八十分之间。\n");break;
          case'D':printf("你的成绩在六十分到七十分之间。\n");break;
          case'E':printf("你的成绩在六十分以下。\n");break;
          default:printf("请输入正确的评级。\n");                                    
        }
       return 0;
      }
    

    分支结构的嵌套:

    套娃,一个if语句套一个if语句或者一个else语句套一个if语句。
    

    注意事项:

    • else总是与其最近的if匹配:无论是switch或if语句,一定要保持写花括号的习惯,否则容易出bug。
    • 在if嵌套时,要加入getchar()来屏蔽回车键,防止在判断下一个表达式时,将回车键算作一个常量。
    • 用if判断单个字符时要加单引号,比如例三。

    语句形式:

    …//其他语句
    if(表达式)
    {
    if(表达式){
    …}
    else{

    }
    }
    else{

    }
    …//其他语句

    上方语句为简写形式,讲花括号的前者放到if后面也可以。

    流程图:

    从头学习C语言之switch语句和分支嵌套

    示例:

    例一:判断两个数的大小

       #include<stdio.h>
       int main()
       {
         int a,b;
         printf("请输入两个数,以供于判断大小:");
         scanf("%d %d",&a,&b);
         if(a<b)
         {
         printf("%d<%d\n",a,b);
        }
        else
        {
          if(a==b)
         {
            printf("%d=%d\n",a,b);
          }
          else
          {
            printf("%d>%d\n",a,b);                                                   
          }
        }
        return 0;
     }
    
    

    例二:约小花出门玩:

       #include<stdio.h>
       int main()
       {
         char israin,isfree;
         printf("是否有空?(Y/N)\n");
         scanf("%c",&isfree);
         if(isfree=='Y')
         {
         printf("这就很好喽!\n");
        getchar();//这里是用getchar()来频屏蔽回车键
        printf("是否下雨?(Y/N)\n");
        scanf("%c",&israin);
          if(israin=='Y')
       {                                                                          
            printf("记得带伞哦!!!\n");
          }
          else
          {
           printf("那你快出来吧!!!\n");
        }
        }
        else
        {
          printf("那算了!\n");
        }
        return 0;
      }
     
    

    例三:小花做我女朋友!!

       #include<stdio.h>
       int main()
       {
         char a,b;
         printf("小花,你有男朋友吗?(Y/N)\n");
         scanf("%c",&a);
        if(a=='Y')
        {
           printf("那你们在一起吧!\n");
        }
        else
        {
          getchar();
          printf("做我女朋友好不好?(Y/N)\n");
         scanf("%c",&b);
        if(b=='Y')
          {
            printf("oh Yeah!\n");
          }
          else 
          {
           printf("啊这!!!\n");
          }
        }
        return 0;                                                                    
      }
    
    

    总结

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。