• 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a + b > c && b == c (2)a || b + c && b


    写出下面各逻辑表达式的值。设a=3,b=4,c=5。

    (1)a + b > c && b == c

    (2)a || b + c && b - c

    (3)!(a > b) && !c || 1

    (4)!(x = a) && (y = b) && 0

    (5)!(a + b) + c - 1 && b + c / 2

     

    解题思路:

    1. 关系运算符的优先级高于赋值运算符,但是低于算术运算符;

    2. &&表示两边条件同为真则成立,||表示两边条件任意一个为真则成立,!取条件反义。

    3. 逻辑运算符优先级: ! > && > ||

    4. 有括号优先括号。

    3.1 题目:a + b > c && b == c -> 3+4>5&&4==5

    解析: 3+4>5 优先3+4得到结果7,因此7>5结果为真; 4==5为假,一真一假逻辑与最终结果为假。

    答案: 0

    #include <stdio.h>
    int main()
    {
    int a = 3, b = 4, c = 5;
    printf("%d ", a || b + c && b - c);
    system("pause");//这一句是为了让控制台不退出
    return 0;
    }

    a + b > c && b == c -> 3+4>5&&4==5

    3.2 题目:a || b + c && b - c -> 3||4 + 5 && 4-5

    解析: 优先算术运算4+5得到7,非0则为真,4-5得到-1,非0则为真,接下来逻辑与判断,最终逻辑或判断

    答案: 1

    #include <stdio.h>
    int main()
    {
    int a = 3, b = 4, c = 5;
    printf("%d ", a || b + c && b - c);
    system("pause");//这一句是为了让控制台不退出
    return 0;
    }

    a || b + c && b - c -> 3||4 + 5 && 4-5

    3.3 题目:!(a > b) && !c || 1 -> !(3>4) && !5 || 1

    解析: !优先级最高,!(3>4)最终结果为真,!5为假; 其次 &&,真&&假得到假,最终||,1为真,假或真为真

    答案: 1

    #include <stdio.h>
    int main()
    {
    int a = 3, b = 4, c = 5;
    printf("%d ", !(a > b) && !c || 1);
    system("pause");//这一句是为了让控制台不退出
    return 0;
    }

    写出下面各逻辑表达式的值。设a=3,b=4,c=5。####  写出下面各逻辑表达式的值。设a=3,b=4,c=5。  (1)a + b > c && b == c    (2)a || b + c && b - c  (3)!(a > b) && !c || 1  (4)!(x = a) && (y = b) && 0  (5)!(a + b) + c - 1 && b + c / 2

    3.4 题目:!(x = a) && (y = b) && 0 -> !(x=3) && (y=4)&&0

    解析: 这里&&优先级最低是最后一个逻辑运算,因此不管如何,最终&&0,则肯定为假

    答案: 假-0

    #include <stdio.h>
    int main()
    {
    int a = 3, b = 4, c = 5;
    int x, y;
    printf("%d ", !(x = a) && (y = b) && 0);
    system("pause");//这一句是为了让控制台不退出
    return 0;
    }

    写出下面各逻辑表达式的值

    3.5 题目:!(a + b) + c - 1 && b + c / 2 -> !(3+4)+5-1 && 4+5/2

    解析: 在vs中优先对(a+b)取非得到0,0+5-1结果为4,因此最终为真(此题涉及不同平台结果不同的问题,因为在有的平台下编译器会优先算术运算,则最终取非得到结果为假)

    答案: 1

    #include <stdio.h>
    int main()
    {
    int a = 3, b = 4, c = 5;
    printf("%d ", !(a + b) + c - 1);
    printf("%d ", !(a + b) + c - 1 && b + c / 2);
    system("pause");//这一句是为了让控制台不退出
    return 0;
    }

    写出下面各逻辑表达式的值。设a=3,b=4,c=5。 写出下面各逻辑表达式的值。设a=3,b=4,c=5。  (1)a + b > c && b == c    (2)a || b + c && b - c  (3)!(a > b) && !c || 1  (4)!(x = a) && (y = b) && 0  (5)!(a + b) + c - 1 && b + c / 2

    写出下面各逻辑表达式的值。设a=3,b=4,c=5。 写出下面各逻辑表达式的值。设a=3,b=4,c=5。  (1)a + b > c && b == c    (2)a || b + c && b - c  (3)!(a > b) && !c || 1  (4)!(x = a) && (y = b) && 0  (5)!(a + b) + c - 1 && b + c / 2

     

  • 相关阅读:
    DIV 模拟模式窗体
    存储过程传递参数时出现类型转换错误!如:varchar转换为int时出错
    数据库改名附加
    VC++动态链接库(DLL)编程深入浅出
    JS获取各种宽度,高度解释
    IE6 中的最大最小寬度和高度 css 高度 控制(兼容版本)
    CSS浏览器兼容大总结
    js获取屏幕宽度高度
    FF下文本无法撑开容器的高度解决办法
    浏览器兼容手册(JS+CSS)
  • 原文地址:https://www.cnblogs.com/inta/p/13220800.html
Copyright © 2020-2023  润新知