关于逻辑表达式

1. int x=10,z;
2. double y=8.5;
3.z=x++;
4.z=!x || y<1;
5.cout<<z<<endl;
求该程序的第4行详细解释,按我这小白的理解就是逻辑或里面只有0和1对比。
出现1的都是 true,那么!x如何去解释。x=10的反值x又是多少,应该没有这个说法的吧,求解释?
还有第3行运行可不可以赋第4行?
第3行应该没的,主要求第4行里面的!x 求解释啊

用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即“true”或“flase”。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以非0表示“真”,以0表示“假”。
  可以将逻辑表达式的运算结果(0或1)赋给整型变量或字符型变量。
  c语言中,等于是“==”,不等于是“!=”。
  注意:由于浮点数在计算机中不能非常准确地表示,所以,判断两个浮点数是否相同时,通常不使用关系运算符“等于”(==),而是利用区间判断方法来实现。为了判断x是否等于5.003,可利用如下逻辑表达式:
  x>5.002 && x<5.004
  当此逻辑表达式为“真”时,就可以认为x等于5.003。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-09
int的布尔值 0为false 非零为true
x为非零,取非就是0
y<1是false 也是0
或一下还是false 所以z=0
第2个回答  2012-11-08
100000

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网