• C语言之switch


    一 switch的语法

                

    switch(表达式){

     

     case 常量表达式1:

       代码块1

     break;

     

     case 常量表达式2:

        代码块2

     break;

     

     case 常量表达式3:

        代码块3

     break;

     

     .......

     

     default:

       代码块n;

     break;

     }

     

     语义:根据表达式的结果,直接跳转到与之对应的常量表达式1的代码块里去执行,如果常量表达式都没有与它对应的值,那么就会跳转到default语句里面执行代码块n

    二 switch的注意事项

    1.千万不要在小括号后面加;,否则可能引起报错

     2.switch小括号里面的表达式的结果只能为整数,字符可以,因为字符本质上是整数

     3.case后面的常量表达式,只能放常量,不能放变量

     4.只要是常量的表达式都可以(所以case后面可以写常量运算式)

     5.case后面的常量表达式的结果不允许有相同的

     6.default位置可以写在任意位置

     7.default可以省略

     8.break可以省略,因为break关键字的作用:结束当前所在的switch语句

     9.一般情况下,记得不要省略每个case后面的break;

    tips:代码例子如下

        #include <stdio.h>

     

    int main(int argc, const char * argv[]) {

       

        //千万不要在小括号后面加;

        /*

         //int num = 3;

         //    switch (num); {    //会报错

         //

         //        case 1:

         //            break;

         //        case 2:

         //            break;

         //        case 3:

         //            break;

         //        default:

         //            break;

         //    }

         */

        //switch小括号里面的表达式的结果只能为整数

        /*

         float f = 10.3f;

         char ch = 'a';

         switch (f) { //会报错

         case 1:

         break;

         default:

         break;

         }

         */

        //char可以

        /*

         char ch = 'a';

    switch (ch) {

     

         case 'a':

         break;

         case 'b':

         break;

         default:

         break;

         }

         */

       

        //case后面的常量表达式,只能放常量,不能放变量

        /*

         int num1 = 1,num2=2,num3=3;

         switch (1) {

         case num1:           //报错

         break;

         default:

         break;

         }

         */

       

        //只要是常量的表达式都可以

        /*

         switch (1) {

        

         case 1+1;

         break;

         case 2-1:

         break;

         default:

         break;

         }

         */

       

        //case后面的常量表达式的结果不允许有相同的

        /*

    switch (1) {

     

         case 1:

         break;

         case 2:

         break;

         case 3:

         break;

         case 3-2: //报错

         break;

         default:

         break;

         }

         */

       

        //是直接跳转到与之对应的case块

        /*

         int num = 2;

         switch (num) {

        

         case 1:

         printf("1 ");

         break;

         case 4:

         printf("4 ");

         break;

         case 5:

         printf("5 ");

         break;

         case 2:

         printf("2 ");

         break;

         default:

         break;

         }

         */

       

        //因为break关键字的作用:结束当前所在的switch语句

        /*

         int num = 2;

         switch (num) {

        

         case 1:

         printf("1 ");

         break;

         case 2: //会从这里开始一直往下直到执行完毕

         printf("2 ");

         case 3:

         printf("3 ");

         default:

         printf("ddddd ");

         }

         */

       

        return 0;

    }

    不忘初心,方得始终
  • 相关阅读:
    关于全景漫游
    webgl圈中物体
    css3の极限
    reactjs弹幕视频播放
    数值积分I
    显出你的h5逼格
    奇葩のbeforeunload
    面试问题搜集及解析
    TCP拥塞控制(滑动窗口机制)
    如何使CPU占用率为50%
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/5998323.html
Copyright © 2020-2023  润新知