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\n");

     break;

     case 4:

     printf("4\n");

     break;

     case 5:

     printf("5\n");

     break;

     case 2:

     printf("2\n");

     break;

     default:

     break;

     }

     */

   

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

    /*

     int num = 2;

     switch (num) {

    

     case 1:

     printf("1\n");

     break;

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

     printf("2\n");

     case 3:

     printf("3\n");

     default:

     printf("ddddd\n");

     }

     */

   

    return 0;

}

 

posted @ 2016-10-25 21:25  zero的小纸条  阅读(471)  评论(0编辑  收藏  举报