选择(分支)

一、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后面的常量表达式都不匹配时,就会执行且会打开开关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值