单选题若已有定义语句:int a,b,c;且变量已正确赋初值,则以下选项中正确的赋值表达式是(  )。A a=(b=c)+8;B (a=b)=c=9;C a=(b==c)='A';D a+b=c+1;

题目
单选题
若已有定义语句:int a,b,c;且变量已正确赋初值,则以下选项中正确的赋值表达式是(  )。
A

a=(b=c)+8;

B

(a=b)=c=9;

C

a=(b==c)='A';

D

a+b=c+1;


相似考题
更多“若已有定义语句:int a,b,c;且变量已正确赋初值,则以下选项中正确的赋值表达式是(  )。”相关问题
  • 第1题:

    有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。

    A.a=a+b=b++

    B.w%((int)a+b)

    C.(c+w)%(int)a

    D.w=a==b


    正确答案:C
    解析:选项A不是合法的赋值语句,将最右边的第一个赋值表达式加括号即为a=a+(b=b++)才正确,故选项A不正确。选项B中运算符%的对象必须是整型,而在选项B中(int)a+b为double型,故选项B不正确。a,b都为double型,应当避免使用a==b这样的关系表达式,因为通常存放在内存中的实型数据是有误差的,因此不可能精确相等,这将导致关系表达式a==b总为0。所以,4个选项中选项C符合题意。

  • 第2题:

    若下列选项中的变量已正确定义并赋值,则哪个是合法的赋值语句?

    A.a==1;

    B.++i;

    C.a=a+1=5

    D.! (++a! =b--)


    正确答案:B
    解析:赋值运算符分为赋值运算符(=)和扩展运算符。其中“=”赋值运算符必须满足在赋值运算符的左边是一变量,右边是一表达式;扩展运算符是在赋值运算符“=”前加上其他运算符,如:+=,*=,%=等,特殊的一个表达式是++和--,如选项B)++i;中的意思是i=i+1;它其实是个合法的赋值语句。选项A)a==1和选项D)!(++a!=b--)都是布尔逻辑表达式,不属于赋值表达式的范畴。

  • 第3题:

    有以下定义语句

    double a, b; intw; longc;

    若各变量已正确赋值,则下列选项中正确的表达式是

    A.a=a+b=b++

    B.w%(int)a+b)

    C.(c+w)%(int)a

    D.w=a==b;


    正确答案:D
    解析:本题中仅选项D为合法的赋值语句,可以解释为w=(a= =b),即把逻辑运算a = =b的结果(真或假,即1或0)赋给整数w。

  • 第4题:

    若a、b、c、d都是血型变量且都已经正确赋初值,则下列不正确的赋值语句是( )。

    A.a+d;

    B.a++;

    C.a=b=c=d=100;

    D.a=(b=3)+(d=5);


    正确答案:A
    解析: C语言规定,赋值号的右边可以是一个赋值表达式,因此选项C)、选项D)正确;在选项B)中,a++是一个自加1的表达式,a被重新赋值,因此它是一个合法的赋值表达式;在选项A)中,a+d是一个算术表达式,虽然最后有一个分号,但这个表达式中没有赋值操作,因此它不是一条赋值语句。

  • 第5题:

    若变量已正确定义为int型,要通过语句给a赋值l、+给b赋值2、给c赋值 3,以下输入形式中错误的是( )(注:口代表一个空格符)。

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    本题考查的是格式化输入函数scanf()基本用法。使用该语句时,要求除格式控制符以外的字符都要原样输入,“,”为非格式符,要原样输入。选项A)中没有输入非格式符“,”,所.以是不正确的。

  • 第6题:

    若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是( )。

    A.a+d;

    B.a++:

    C.a=b=c=d=100;

    D.a=(b=3)+(d=5);


    正确答案:A

  • 第7题:

    若变量已正确定义为int型,要通过语句“scanf(”%d,%d”,&a,&b,&c);”给a赋值l、给b赋值2、给c赋值3,

    A.

    B.

    C.

    D.


    正确答案:B
    B。【解析】本题考查scanf函数的用法,其调用格式为:scanf(格式字符串,输入项地址表);功能是按格式字符串中规定的格式,在键盘上输入各输入项的数据,并依次赋给各输入项。当需要从键盘上输入数据时,直到按下回车键,scanf函数才会接受从键盘输入的数据。选项B中,每一个变量输入后都有一个空格是不正确的。

  • 第8题:

    若a、b、c、d都是int型变量且都已经正确赋初值,则下列不正确的赋值语句是( )。

    A.a+ d;

    B.a++;

    C.a=b=c=d=100;

    D.a=(b=3)+(d=5);


    正确答案:A
    解析:C语言规定,赋值号的右边可以是一个赋值表达式.因此选项C)、选项D)正确:在选项B)中,a++是一个自加1的表达式,a被重新赋值,因此它是一个合法的赋值表达式:选项A)中,a+d是一个算术表达式,虽然最后有一个分号,但这个表达式中没有赋值操作,因此它不是一条赋值语句。

  • 第9题:

    有定义语句doubld a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

    A.a=a+b=b++

    B.w%((int) a+b)

    C.(c+w)%(int)a

    D.w=a==b;


    正确答案:C
    解析:赋值运算符的左边只能是变量,不能是表达式,选项A)错误;由于“%”两边表达式值的类型必须为整型,所以选项B)错误;题目要求的是正确的表达式,而表达式后面不能有“;”,选项D)错误。

  • 第10题:

    下面关于变量定义且赋值语句正确的是()

    • A、int a=12;
    • B、int a=12.5;
    • C、int a=”12”;
    • D、int a=’12’;

    正确答案:A

  • 第11题:

    设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式()

    • A、a=a-a+b
    • B、a-a=b
    • C、a=a-(a+b)
    • D、a=-a+b

    正确答案:C

  • 第12题:

    单选题
    设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是(  )。
    A

    float *p=&x;

    B

    int*p=(float)x;

    C

    float p=&x;

    D

    float *p=1024;


    正确答案: A
    解析:
    考查指针变量的初始化。A项正确,p是float类型的指针,指向x的存储单元;B项错误,p是int类型的指针,只能指向int变量的存储单元;C项错误,p的float类型的变量,&x是取变量x的地址,不能把地址赋值给float类型变量;D项错误,p是指向float类型的指针,不能使用常整型赋值。答案选择A选项。

  • 第13题:

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

    A.a==1;

    B.++i;

    C.a=a++=5;

    D.a=int (i);


    正确答案:B

  • 第14题:

    设已有定义:floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是()。

    A.int*p=(floatx)

    B.floatp=&x

    C.float*p=1024

    D.float*P=&x


    正确答案:D

  • 第15题:

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

    A.b=double(b);

    B.(int)a=(int)b;

    C.a=a++=5;

    D.a=double(b);


    正确答案:B
    在C语名中规定进行强制类型转换的格式是:(类型名)变量名;并且给表达式赋值。

  • 第16题:

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

    A.a==1

    B.++i

    C.a=a++=5

    D.a=int(i)


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

  • 第17题:

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。A.float*p=&x;S

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。

    A.float*p=&x;

    B.int*p-(float)x;

    C.float p=&x;

    D.float*p=1024;


    正确答案:A
    指针是用来存放地址的变量,用(类型名*指针变量名)的形式定义。赋值时应将某个变量地址即&x赋给指针变量,因此选择A)。

  • 第18题:

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

    A.a==l

    B.++i

    C.a=a++=5

    D.a=int(i)


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

  • 第19题:

    若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&a,&b,&C.;给a赋值l、给b赋值2、给

    若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&;a,&;b,&C.;给a赋值l、给b赋值2、给C赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)


    正确答案:D
    scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符;以保证匹配。所以逗号必须输入。

  • 第20题:

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

    A.a==1

    B.++i;

    C.a=a++=5;

    D.a=int(i);


    正确答案:B
    解析:选项A)缺少分号,是一个表达式,而不是语句;选项C)包含一个不合法的运算符“++=”;选项D)应改为a=(int)i;。

  • 第21题:

    若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是( )。

    A)a d;

    B)a ;

    C)a=b=c=d=100;

    D)a=(b=3) (d=5);


    正确答案:A

  • 第22题:

    若a、b、c、d都是int类型变量且初值为0,()不是正确的赋值语句。

    • A、a=b=c=0;
    • B、a=b;
    • C、c+b;
    • D、d=(c=22)-(b++);

    正确答案:C

  • 第23题:

    单选题
    设a、b、c是整型变量,且已正确赋初值,以下选项中错误的赋值语句是(  )。
    A

    a=1%(b=c=2);

    B

    a=(b=3)*c;

    C

    a=b=c/10;

    D

    a=2=(b=9)=1;


    正确答案: B
    解析:
    D项,“()”具有最高优先级,b先赋值9,再根据赋值运算符号自右向左进行赋值,再给b赋值为1,再计算2=b,赋值运算符左边必须是一个变量,但数值2是常量,语法错误。答案选择D选项。