6写出下面各逻辑表达式的值。设a=3,b=4,c=5。(1)a+b>c&&b-=c (2)allb+c&&b-c (3)!(a>b)&&!c/1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2
时间: 2023-12-20 14:06:56 浏览: 215
(1) a+b>c && b-=c
这个表达式的值为 false。因为 a+b=7,c=5,所以 a+b>c,但是 b-=c 会使得 b 变为 -1,-1 不大于 5,所以整个表达式为 false。
(2) allb+c && b-c
这个表达式存在语法错误。可能是拼写错误或者缺少操作符。
(3) !(a>b) && !c/1
这个表达式的值为 true。因为 a=3,b=4,所以 a>b 为 false,取反后为 true。c/1 的结果为 5/1=5,取反后为 false。true && false 的结果为 false。
(4) !(x=a) && (y=b) && 0
这个表达式的值为 false。因为 x=a 会将 x 的值设为 3,取反后为 false。y=b 会将 y 的值设为 4,0 的布尔值为 false。所以整个表达式为 false。
(5) !(a+b)+c-1 && b+c/2
这个表达式的值为 true。因为 a+b=7,取反后为 false。c-1=5-1=4。b+c/2=4+5/2=6.5。false+4-6.5 的结果为 true。
相关问题
求解下面各表达式的值,再用C语言编写代码验证) 写出下面各逻辑表达式的值。设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. a b>c的值为0(false)。
C语言代码:
```c
#include <stdio.h>
int main() {
int a = 3, b = 4, c = 5;
int result = a * b > c && b < c;
printf("%d\n", result); // 输出0
return 0;
}
```
写出下面各逻辑表达式的值。设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)a+b>c&&b==c的值为false,因为a+b=7,b==c为false,所以整个表达式为false。
(2)a||b+c&&b-c的值为true,因为b+c=9,b-c=1,所以b+c&&b-c为true,而a的值为非0(即true),所以整个表达式为true。
(3) !(a>b)&&!c||1的值为true,因为!(a>b)&&!c的值为true,所以整个表达式为true。
(4)!(x=a)&&(y=b)&&0的值为false,因为x=a的赋值表达式返回的值是a(即3),所以!(x=a)为false,而整个表达式为与0做与运算,结果为false。
(5)!(a+b)+c-1&&b+c/2的值为true,因为a+b=7,!(a+b)为false,所以整个表达式为false,但是整个表达式又与c-1&&b+c/2做与运算,而c-1=4,b+c/2=6,所以c-1&&b+c/2的值为true,因此整个表达式为false与true做与运算,结果为true。
阅读全文