• C语言_if语句、4.3条件运算符、switch运算符详解


    1、if语句

    选择结构的代表性语句:用来判断给定的条件是否满足,根据判断的结果(真、假)决定执行给出的两种操作之一。

          if语句三种形式:

                    1)、if(表达式) 语句     :如果表达式中的条件满足则执行该语句

    1. int x = 6;
    2. if(x>5)
    3. {
    4. printf("x值>5\n");
    5. printf("x的值为%d\n",x);
    6. }

                     2)、if(表达式) 语句1 else 语句2:如果表达式的条件满足,则执行语句1,否则执行语句2,语句1和语句2中有且只有一个语句能够被执行。

    1. int x=5,y=6;
    2. if(x>6)
    3. {
    4. printf("x>y是OK的");
    5. printf("x>y是OK的2");
    6. }
    7. else
    8. {
    9. printf("x>y是不OK的");
    10. }

                     3)、if(表达式1) 语句1 

                          else if(表达式2) 语句2

                          else if(表达式3) 语句3

                          else if(表达式4) 语句4

                          ..........

                          else if(表达式m) 语句m

                           else 语句n

    如果表达式1成立,则执行语句1;否则表达式2成立,则执行语句2.。。。。

    如果表达式m成立,则执行语句m。。。。。

    如果表达式1~m都成立,则执行表达式n。【只要有一个条件满足,其他条件就会跳过】

    说明:

    (1)if语句后面都有表达式,这个算术表达式一般为逻辑表达式或者关系表达式。

    if(a ==b &&x==y)    // == &&

    printf("OK");

    表达式可以扩展一下:如果表达式值为0,那么按“假”处理,如果表达式的值为非0,则按“真处理”。

    (2)if语句可以单独使用,但是else语句不能单独使用,必须和if语句配对使用,也就是说,如果出现了else,则必然会对应一个if。

    if语句的嵌套:在if语句中又包含一个或者多个if语句,就称为if语句的嵌套。

    if()

        if() 语句1

        else 语句2

    else 

        if() 语句1

        else 语句2

    else和if的配对关系:else总是和他上面的尚未配对的if语句进行配对。

    2、条件运算符

    条件运算符有三个操作对象,也叫三目运算符,它是C语言中唯一一个三目运算符。

    一般形式:

    表达式1 ? 表达式2 :表达式3;

    执行过程:

    条件运算符的优先级比关系运算符低。

    条件运算符的结合顺序是从右到左的,所以:

    a>b?a:c>d?c:d    ==>  a>b?a:(c>?c:d)

    int a =4,b=5,max;max = (a>b)?a:b;  //如果a>b的值为真,则条件表达式取a的值作为整个值,否则取b的值作为整个值。
    

    3、switch语句

    多分支选择结构,用的频率相对较高

    格式:

    switch(表达式)

    {

    case  常量表达式1:

    {

    1行或者多行语句;

    }

    break;

    case  常量表达式2:

    一行或者多行语句;

    break;

    .............

    case  常量表达式n:

    一行或者多行语句;

    break;

    default:

    一行或者多行语句;

    break;

    }

    执行过程:

    switch后边的表达式的值若满足任何某个case后面的常量表达式的值,则执行该case后面的一行或者多行语句,一直遇到break停止,跳出整个switch语句。如果所有case条件都不满足,则会执行default中包含的一行或多行语句,然后跳出整个switch语句。

    说明:

    a、switch后面表达式一般都是整型变量或表达式,其他类型也允许,但是都罕见;

    b、每个case后面的常量表达式必须互不相同,不然会出现编译错误;

    c、各个case语句之间,case和default语句之间,顺序没有影响,谁在上边,谁在下边,都不所谓。

    d、绝对不要忘记break语句,否则后果严重;如果忘记break语句的后果是:如果一个case语句末尾不加break的话,会导致执行完一个case中包含的语句后,流程继续会执行下一个case条件中包含的语句(而不管该case条件是否满足);也就是说,从满足条件的case语句那里作为入口一直执行下去,除非遇到break语句或者整个switch语句执行完毕。

    e、case后面可以有多行语句,而且不用加{},系统会自动顺序执行case后面的所有语句,一直到break,当然有人习惯加{}也是可以的。

    f、default 可以没有,当没有的时候,那么当所有case条件都不满足,则整个switch都不被执行。

    g、多个case语句可以共用一组执行语句。

  • 相关阅读:
    优化用户体验:直播带货系统源码的界面设计与互动功能
    LC-2300. 咒语和药水的成功对数(排序+贪心、排序+二分)
    传统考勤太复杂怎么办?这个小技巧,我必须吹爆!
    程序员大厂之鹅厂探秘
    全志F1C芯片参数对比,供查阅
    诈骗分子投递“大闸蟹礼品卡”,快递公司如何使用技术手段提前安全预警?
    通过实例理解 .gnu.hash section
    Redis原理学习
    私募基金CRM客户关系管理系统软件开发应该具备的功能清单
    【组成原理-IO系统】IO控制方式
  • 原文地址:https://blog.csdn.net/qq_48516121/article/details/126918616