选择(分支)

    技术2025-08-13  8

    一、if语句     有三种基本形式     (1)if(表达式)         语句                 只要"表达式"的值为真(非0),就执行语句        "表达式":任意的C语言合法的表达式都可以        语句:             单语句,一个分号;的语句             复合语句,用{}把多条语句括起来                      eg:  int a=200;              int b=100;              if(a>b)              {                 a = a+b;                 printf("%d\n",a);              }                  (2)  if(表达式)             语句1          else             语句2           如果表达式的值为真,则执行语句1,后面的语句2不会执行,           如果表达式的值为假,则不执行语句1,执行语句2                      "表达式":任意的C语言合法的表达式都可以           语句:                 单语句,一个分号;的语句                 复合语句,用{}把多条语句括起来                      (3) if(表达式1)             语句1         else if(表达式2)             语句2         else if(表达式3)             语句3             。。。         else if(表达式n)             语句n         else             语句m                      从上到下执行,当某一个表达式为真时,就执行对应的语句,然后后面的else if结构都不会         执行了,当本次表达式为假时,则会去判断下一个表达式的真假,当所有的表达式都为假时,         则执行最后else的语句m。也可以没有else。              例子:         if(表达式)         {             if(num<=50)             {                 cost = 10;             }             else if(num<=100)             {                 cost = 5;             }             else if(num<=300)             {                 cost = 3;             }             else if(num<=500)             {                 cost = 1;             }             else             {                 cost = 0;             }         }              if语句的嵌套: "条件里面分条件"         if(表达式)             if(表达式) 语句             else   语句         else             if()  语句             else  语句          else的匹配问题:         else总是与它上面的,最近的,同级未配对的if语句配对     编程规范:         写完if或else后,不管它后面有没有语句,请先写{}确定它的范围,         然后在{}内补充语句,请用TAB缩进          二、switch语句(开关语句)

        形式:         switch(表达式)         {             case 常量表达式1:                 语句1             case 常量表达式2:                 语句2                 break;             ...             case 常量表达式n:                 语句n             default:                 语句m         }              (1)"表达式"的值必须为整数值(整型,字符型,枚举),即可以列举的值     (2)"常量表达式"的值也必须为整数值,且每个case后面的常量表达式的值必须不相同。     (3)从上到下执行,当某个常量表达式的值与switch里面的表达式的值相等时,就会       打开"开关",执行冒号后面的语句,直到有break语句,就提前跳出switch,否则       就会轮到下一个case,且不比较常量表达式的值,就执行语句(因为开关已经打开了),       当所有语句执行完后,就结束了switch语句。     (4)break语句,用来提前跳出switch语句,常用的用法是每default后面的语句,个case后面都会有break语句。     (5)当所有的case后面的常量表达式都不匹配时,就会执行且会打开开关。

    Processed: 0.010, SQL: 9