niusouti.com
参考答案和解析
正确答案:B
解析:赋值运算符分为赋值运算符(=)和扩展运算符。其中“=”赋值运算符必须满足在赋值运算符的左边是一变量,右边是一表达式;扩展运算符是在赋值运算符“=”前加上其他运算符,如:+=,*=,%=等,特殊的一个表达式是++和--,如选项B)++i;中的意思是i=i+1;它其实是个合法的赋值语句。选项A)a==1和选项D)!(++a!=b--)都是布尔逻辑表达式,不属于赋值表达式的范畴。
更多“若下列选项中的变量已正确定义并赋值,则哪个是合法的赋值语句?A.a==1;B.++i;C.a=a+1=5D.! (++a! ”相关问题
  • 第1题:

    若变量a,i已正确定义,且i已正确赋值,合法的语句是A.a==1 B.++i; C.a=a++=5; D.a=int(i);


    正确答案:B
    本题主要考查C语言合法语句的定义。
    在选项A中,a==1不是一个合法的语句,因为它没有语句结束标识符“;”,不能说是一条语句,如果作为一个表达式,它是正确的。
    在选项B中,由于变量i已被正确定义并有初值,“++i;”是正确的语句。
    在选项C中,由于正确的赋值语句中,赋值符号的左边不能为常量或表达式,而右边不能为变量或表达式,很明显,“a=a++=5;”违背了赋值语句的原则。
    在选项D中,“a=int(i);”语句是不正确的,在C语言中没有这种表示形式,如果是想将变量i强制转换为整型的操作,应该为“a=(int)i;”。

  • 第2题:

    若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。

    A.a==l;

    B.++i;

    C.a=a++=5 ;

    D.a=int(i);


    正确答案:B
    选项A为表达式,因此不正确,选项C中a++本身就是表达式,无需再赋值,选项D中,在强制类型转换时,类型名应用括号括起来,故选择B选项。

  • 第3题:

    若整型变量a与i已正确定义,且i已正确赋值,合法的语句是()。

    A.a=a++=5;

    B.++i;

    C.a==1

    D.a++=i;


    B 本题考查C语言中语句的格式。 A选项“==”是等于运算,用来判断a是否等于1,但是a只有正确的定义,并没有说明正确赋值,该语句无效。如果要对a进行赋值,要用赋值运算符“=”。 B选项是对变量i进行++操作,因为变量i已经正确赋值,故该语句正确。 C选项中“++=”这样的用法是错误的,“=”左边只能跟算术运算符,构成赋值运算符,如+=、-=。 D选项中,int是定义一个整型的数据,后面可以跟变量名、函数名,不能够直接跟运算符()。如果要将i的数据类型强制转换为整型,该语句应该写为a=(int)i;。

  • 第4题:

    若变量a、i已正确定义,且i已正确赋值,合法的语句是______。

    A.a==1

    B.++i;

    C.a=a++=5;

    D.a=int(i);


    正确答案:B
    解析:选项D显然是错的,而选项A没有分号结束,不是C语句:a++=5违反了赋值表达式左侧必须为一个变量(不能是常量或表达式)的规定。

  • 第5题:

    若变量a、i已正确定义,且i已正确赋值,合法的语句是______。

    A.a=1;

    B.++1;

    C.a=a++=5;

    D.a=int(i);


    正确答案:B