|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.编程输出下面各逻辑表达式的值,并分析结果。设a=3,b=4,c=5。
a+b>c && b= =c
② a||b+c && b-c
③ !(a>b)&& !c ||1
④ !(x=a) && (y=b)&& 0
⑤ !(a+b)+c-1 && b+c/2
#include<stdio.h>
void main();
{
int a,b,c;
double d,e,f,g,h;
a=3;
b=4;
c=5;
d=a+b>c && b= =c;
e=a||b+c && b-c;
f=!(a>b)&& !c ||1;
g=!(x=a) && (y=b)&& 0;
h=!(a+b)+c-1 && b+c/2;
printf"(a=%d,b=%d,c=%d,d=%lf,e=%lf,f=%lf,g=%lf,h=%lf",a,b,c,d,e,f,g,h);
return 0;
}
本帖最后由 jackz007 于 2019-11-11 02:49 编辑
d、e、f、g、h 不应该是 double 型,而应该是 bool 型变量。
下面是我修改的代码,请楼主参考 #include <stdio.h>
int main(void)
{
int a = 3 , b = 4 , c = 5 , x , y ;
bool d , e , f , g , h ;
d = a + b > c && b == c ;
e = a || b + c && b - c ;
f = ! (a > b) && ! c || 1 ;
g = ! (x = a) && (y = b) && 0 ;
h = ! (a + b) + c - 1 && b + c / 2 ;
if (d) printf("a + b > c && b == c\t -> true\n") ;
else printf("a + b > c && b == c\t -> false\n") ;
if (e) printf("a || b + c && b - c\t -> true\n") ;
else printf("a || b + c && b - c\t -> false\n") ;
if (f) printf("! (a > b) && ! c || 1\t -> true\n") ;
else printf("! (a > b) && ! c || 1\t -> false\n") ;
if (g) printf("! (x = a) && (y = b) && 0\t -> true\n") ;
else printf("! (x = a) && (y = b) && 0\t -> false\n") ;
if (h) printf("! (a + b) + c - 1 && b + c / 2\t -> true\n") ;
else printf("! (a + b) + c - 1 && b + c / 2\t -> false\n") ;
return 0 ;
}
编译运行实况: C:\Bin>g++ -o x x.c
C:\Bin>x
a + b > c && b == c -> false
a || b + c && b - c -> true
! (a > b) && ! c || 1 -> true
! (x = a) && (y = b) && 0 -> false
! (a + b) + c - 1 && b + c / 2 -> true
C:\Bin>
如果使用 VC6 编译,应该把源代码文件的扩展名改为 .cpp,只有这样,才会支持 bool 型数据类型
|
|