注册 登录
编程论坛 C++教室

C++的一道作业题

拉C 发布于 2010-05-31 13:53, 3258 次点击
C++ 如果要求在if后一对括号中的表达式,表示a不等于0的时候的值为“真”,则能正确表示这一关系的表达式为“
A.a<>0  B.!a   C.a=0   D.a
顺便说明下原因。

26 回复
#2
lscalin2010-05-31 15:15
应该是 D 吧,,我想

#3
fanfan3202010-05-31 15:39
D、
#4
aiyinsitan2010-05-31 18:04
D
if(a)与if(a!=0)等价
#5
ciweitou1632010-05-31 19:29
语法:
if(Condition)
{
    statement-listA;
}

Condition为bool类型,若为int类型会转化为bool类型,一个不是0的整型会转化
为1,0转化为0;
1为真,0为假。
#6
bcabchappy2010-05-31 19:29
同意四楼!
#7
jiayou_yatou2010-05-31 22:06
同意四楼!
#8
拉C2010-05-31 23:15
回复 4楼 aiyinsitan
为什么是等价的?
#9
aiyinsitan2010-06-01 07:33
回复 8楼 拉C
就是两个语句表达的意思相同啊
反正你记者if(a)就是if(a!=0)  意思是如果a为真时
#10
xuwenbaoacl2010-06-01 10:13
DDDDDDDDDDDDD
#11
xin3109232010-06-01 13:40
确实是D
#12
fhqbgmqj2010-06-01 20:22
这样给你解释吧,布尔类型的数据只有两个,真和假,反应到数值上就是1和0,1为真,0为假。计算机在处理布尔类型的数据的时候,像上边说的if语句中,如果条件表达式的值为0就为假,非零的一切数据为真,所以在a不等于0的时候if(a)就认为a这个表达式是真的。也就是if(a!=0)。
#13
Isilendil2010-06-02 00:08
回复 楼主 拉C
if(a) 等价于 if(a!=0)
if(!a) 等价于 if(a==0)
#14
tb9626832010-06-03 13:33
D,有些问题记住就行了
#15
拉C2010-06-03 13:49
回复 9楼 aiyinsitan
噢。
#16
yinwenzhao2010-06-03 20:16
是D吧    同意四楼
#17
jiayou_yatou2010-06-03 21:47
你可以自己动手试一下,那两个句子是等价的。
#18
zhouyongsdzh2010-06-17 13:58
回复 8楼 拉C
c++中默认的  或者说前者是后者的简写  相当于i=i+1与i++等价一样
#19
冰点小爱2010-06-17 15:09
其实我不是很懂。
#20
LQPhilosophy2010-06-21 10:02
显然是D!
#21
小破鱼2010-06-21 19:56
我也不知道
话说学着喽
#22
laigaoat20052010-06-24 19:30
四楼正解
if(a)  //设a=4,则if(a)等效于  if(4) 等效于 if(true)

//这里可以用数据转换来解释   设a等于一个不为0的数,则这个不为0的数被转换为 true
所以,if(a);这句中,只要a不等于0,意思就是if(true);
if(a!=0);就不用解释了吧?
#23
viptel2010-06-24 23:47
ddddddddd
#24
gtj5202010-07-11 01:47
D
#25
北风1232010-07-11 22:32
如果a=0的话就跳出循环了
#26
gagaaixuexi2010-07-12 16:08
D太简单了
#27
ccmike982010-07-17 14:44
肯定是D啊   0为假  非0为真
1