zoukankan      html  css  js  c++  java
  • if 结构和三目运算和switch语句

    if语句需要注意的地方:

    if判断只能接一个语句,存在多个语句时,用块语句表示{},若在if判断后
    直接加“;”相当于if判断后加一个空语句,即使条件成立什么也不会干!

    1. if的第一种形态(真假)

    如果表达式的值为真, 则执行其后的语句, 否则不执行该语句。

    if(表达式)语句

    void main()
    {
        int a=1, b=2, c=3;
        if (a+b)c=4;
            printf("%d", c);
    }
    View Code
    void main()
    {
        int a=1, b=2, c=3;
        if (a<b);
            {           //养成良好习惯, 加上{}
                c=4;
            }
            printf("%d", c);
    }

    第二种形式为 if - else

    if(表达式)
        语句1;
    else
        语句2;
    void main()
    {
        int a=1, b=2;
        if (a>b)
            {
                printf("我比你大");
            }
        else
            {
                printf("我比你小");
            }
    }

    第三种形式 else if 多次判断

    if(表达式1)
        语句1;
    else if(表达式2)
        语句2;
    else if(表达式3)
        语句3
    .。。。。
    else
        语句;
    void main()
    {
        int a=8;
        if (a>10)
            {
                printf("值大于10");
            }
        else if (a == 10)
            {
                printf("值等于10");
            }
        else if (a == 10)
            {
                printf("值等于10");
            }
        else if (a == 8)
            {
                printf("要的就是你");
            }
        else
            {
                printf("我比你小");
            }
    }

     三目运算

    条件运算符为?和:, 他是一个三目运算符, 即有三个参与运算的量。

    组成条件表达式的形式为:

    条件1? 条件2: 条件3

    如果条件1为真则执行条件2

    如果条件1为假, 则执行条件3

    void main()
    {
        int a=4, b=3, c;
        if (a>b)
            c=a;
        else
            c=b;
            
    }
    #-----------------------------
    void main()
    {
        int a=4, b=3, c;
        c =(a>b)?a:b;
        printf("%d", c);
    }

    注意事项:

    1).条件运算符的运算优先级低于关系运算符和算术运算符, 但高于赋值符:
    
    max=(a>b):c:d
    
    可以去掉括号而写成
    
    max = a>b:c:d
    
    
    
    2)条件运算符?和:是一对运算符, 不能单独分开使用
    
    
    
    3)条件运算符的结合方向是自右向左。
    
    例如:
    
    a>b?a:c>d?c:d
    
    可以理解为a>b?a:(c>d?c:d)

    switch语句

    c语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:

    其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较, 当表达式的值

    与某个常量表达式的值相等时, 即执行其后的语句, 然后不在进行判断, 继续执行后面

    所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时, 

    则执行default后的语句。

    看例子:

    void main()
    {
        int a,b=1;
        printf("please input number: 
    ");
        scanf("%d", &a);
        switch(a)
        {
            case 1:printf("1111
    ");
                {
                   b = 3;
                   printf("b = %d
    ", b);
                }
    
            default: printf("bbbb %d
    ", b);
        }
    
    }

    case 1:printf("1111
    ");break;

    还可以配合三目运算

    switch (a>1?2:3)

    注意事项:

    1)在case后的各常量表达式的值不能相同, 否则会出现错误。
    
    2)在case后, 允许有多个语句, 可以不用{}括起来
    
    3)各case和default子句的先后顺序可以变动, 而不会影响程序执行结果
    
    4)default子句可以省略不用。
  • 相关阅读:
    python3 socketserver服务端
    python3 组合的用法
    python3 面向对象高级一些的
    python3 继承原理
    python3 对象之间的交互
    hadoop配置、运行错误总结
    Hadoop配置项整理(mapred-site.xml)
    Hadoop配置项整理(core-site.xml)
    Hadoop配置项整理(hdfs-site.xml)
    Linux Shell 按Tab键不能补全
  • 原文地址:https://www.cnblogs.com/renfanzi/p/6592030.html
Copyright © 2011-2022 走看看