在C语言的if 语句中,用作判断的表达式是( )a关系表达式 b逻辑表达式 c算术表达式 d任意表 在C语言表达式中,用作判断的表达式是( )

作者&投稿:俎梦 (若有异议请与网页底部的电邮联系)
一般情况下这个是选逻辑表达式的。因为if是逻辑判断,但如果放在c和C++语言中,所有非零运算结果均识为true,不须强制转换,所以这里选d是正确的。但是在其他语言中是不正确的。

它主要考查的内容就是,C/CPP中并没有真正的布尔值,只是将非零数认作false而已。所以你可以理解为if是判断非零数即可,或者理解为其它。实际上,在C/CPP中的布尔值是用int表示的。也就是16位进制数表示,并不是单纯的一个bit。


int a =5;
if(a)
语句块;

该代码在C/CPP中是合法的,但是C#中是不合法的,无法通过编译器编译。所以若在C/CPP中选逻辑表达式时,很明显算术达式是不能成立的。而关系表达式的结果就是逻辑值(也可以将逻辑值认为是逻辑表达式)。

比如
int a=5, b=6;
a>b是关系表达式,结果是逻辑值false,但false可以看作是逻辑值,也可以看作是逻辑表达式。而a-b则是算术表达式,三者均可以做为if的判断条件。所以即使在C#语言中,严格区分的情况下,关系表达式也是被认为可行的,而逻辑表达式也是可以得到逻辑结果的。所以这里应当是选择了做任意表达式。

任意表达式,只要()里的是非零就要执行if()语句;是零就不执行.
关系表达式成立是1,不成立是0;逻辑表达式成立是1,不成立是0;算术表达式的值是非0就是执行,0就不执行.

if (逻辑表达式)

在C语言的if 语句中,用作判断的表达式是( )a关系表达式 b逻辑表达式 c算术表达式 d任意表达式~

b
IF语句不是一种选择结构,只是一条语句,它在算法较简单的场合下,可以灵活地完成二分叉选择算法。逻辑IF语句判别逻辑表达式的值是否为“真”,并执行一操作。其一般形式为:IF(逻辑表达式) 执行语句。如果条件成立(即逻辑表达式值是‘真’),则执行其后紧跟的执行语句,而后执行下一条语句;如果条件不成立,则整个IF语句不作任何操作,只是起下滑作用,使控制转移到IF语句的下一个语句。
逻辑IF语句当条件为“真”时只能执行一个执行语句而不能执行若干个语句。与块IF相比,逻辑IF语句是在一行中完成的一个选择操作,因此它又称“行IF语句”以与块IF区别。之所以用逻辑IF语句名称,是沿用了Fortrn66的定义,因为在F66中有两种IF语句:算术IF语句(F90/95中已废除)和逻辑IF语句。

if(i==10)
x=1;
else
x=2;
以此为例,if(),()里为你想判断的内容,i等于10,x为1,i不等于10则x为2