(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);

题目

(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

A)a=(b=4)=3;

B)a=b=c+1;

C)a=(b=4)+c;

D)a=1+(b=c=4);


相似考题
参考答案和解析
正确答案:A
更多“(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1; C)a= ”相关问题
  • 第1题:

    若有一些定义和语句 include int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q

    若有一些定义和语句 #include <stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是

    A.*q=0;

    B.w=p;

    C.*p=va;

    D.*p=*w;


    正确答案:A
    解析:给一指针赋空值的正确语句是q=NULL;或q='\0';或q=0;。选项B)的含义为使指针p指向指针q所指向的存储单元。选项C)的含义为使指针P指向变量a所在的存储单元。选项D)的含义为把指针a赋给指针p。

  • 第2题:

    若有定义语句:int x=3,y=2,z=1;则表达式x <y?x:y的值是______。


    正确答案:2
    2

  • 第3题:

    若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则

    若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是( )。

    A.*q=0;

    B.w=p;

    C.*p=a;

    D.*p=*w;


    正确答案:A
    解析:本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将q指向NULL。因为q指向NULL,所以选项A中对q所指地址进行写入是非法的。故A选项为所选。

  • 第4题:

    若有定义语句:“int a=3,b=2,c=1;”,以下选项中错误的赋值表达式是( )。

    A.a=(b=4)=3;

    B.a=b=c+1:

    C.a=(b=4)+C;

    D.a=1+(b=c一4);


    正确答案:A
    由等式的规则可知,A选项错误。先对括号的b进行等式运算,得出b=4,然后计算得出a=4=3,所以会导致错误。答案选择A。

  • 第5题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第6题:

    若有定义:inta=2;则正确的赋值表达式是()

    A.a-=(a*3)

    B.double(-1)

    C.a*3

    D.a*4=3


    参考答案:A

  • 第7题:

    若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

    A.a=(b=4)=3

    B.a=b=c+1;

    C.a=(b=4)+c

    D.a=1+(b=c=4)


    正确答案:A

  • 第8题:

    若有定义语句:int x=3,y=2,z=1;,表达式:2*=(x>y?++x:y+)的值是

    A.4

    B.0

    C.1

    D.3


    正确答案:A
    解析:本题考查了条件表达式和自加运算。首先判断x>y这个关系表达式的值,通过计算知其值为真,所以关系表达式的值为++x(为4),最后执行z*=4,z的值为4。

  • 第9题:

    数组定义与赋值语句如下:int[]a={1,2,3,4,5};则a[2]的值是()


    正确答案:3

  • 第10题:

    若有定义:inta=2;则正确的赋值表达式是()

    • A、a-=(a*3)
    • B、double(-1)
    • C、a*3
    • D、a*4=3

    正确答案:A

  • 第11题:

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

    a=(b=c)+8;

    B

    (a=b)=c=9;

    C

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

    D

    a+b=c+1;


    正确答案: A
    解析:
    A项正确,将c赋值给b后又加上8,然后再赋值给a;B、D项错误,赋值运算符左边必须是一个变量;C项错误,(b==c)是个表达式,语法错误。答案选择A选项。

  • 第12题:

    单选题
    若有定义语句:int a[4][10],*P,*q[4];且0≤i<4,则错误的赋值是(  )。
    A

    p=a

    B

    q[i]=a[i]

    C

    p=a[i]

    D

    p=&a[2][1]


    正确答案: C
    解析:
    二维数组名是指向指针的指针,所以a和q都为指向指针的指针,而p为指向int类型的指针,p和a不同类型,故A选项中p=a赋值语句错误。其余选项可以正确赋值,其中D项是用取地址符&返回整数的地址,然后赋值给p。所以答案选择A选项。

  • 第13题:

    以下类定义中可能会引起错误的语句是( )。 Class A { public: ~A(){}//1 int i;//2 private: int j;//3 A(int i){i++;}//4 };

    A.1

    B.2

    C.3

    D.4


    正确答案:D

  • 第14题:

    若有定义int x,*pb;则正确的赋值表达式是()。

    A.pb

    B.int a[2] [ ]{1,2,3,4,5,6};

    C.int a[ ] [3]{1,2,3,4,5,6};

    D.int a[2,3]{1,2,3,4,5,6}


    正确答案:C

  • 第15题:

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

    A.ЦЦЦ1,2,3<回车>

    B.1Ц2Ц3<回车>

    C.1,ЦЦЦ2,ЦЦЦ3<回车>

    D.1,2,3<回车>


    正确答案:B
    解析:scanf()函数的—般格式:scanf(格式控制,地址列表)。在输入多个数值数据时,若“格式控制”字符串中没有非格式字符作输入数据之间的间隔,则可用空格、TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。本题由于格式控制符中用了逗号,所以在输入数据时,必须在输入的各数据间用逗号分隔,故选项B不正确。

  • 第16题:

    若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。

    A.4

    B.8

    C.0

    D.2


    正确答案:B
    2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/1=8,所以结果为8。

  • 第17题:

    设有定义: int a=2,b=3,c=4;, 则以下选项中值为0的表达式是A.(!a==1)&&(!b==0)B.(a

    设有定义: int a=2,b=3,c=4;, 则以下选项中值为0的表达式是

    A.(!a==1)&&(!b==0)

    B.(a<b)&& !c‖1

    C.a && b

    D.all(b+b)&&(c-a)


    正确答案:A
    解析:计算逻辑表达式要注意的问题有三个:一、3个逻辑表达式的优先级从高到低依次是!(逻辑非)、&&(逻辑与)、‖(逻辑或);二、运算符&&或‖的左边运算分量分别为“假”或“真”的时候已经能够得出整个表达式的值,故右边运算分量将被“短路”,即忽略右边的表达式.三、逻辑值能够自动转换为整数值:“真”=1、“假’=0;整数值也能自动转换为逻辑值:0=“假”,非0=“真”。选项A中(!a=1)&&(!b==0)→(12==1)&&(!b==0)→(0==1)&&(!b==0)→0&&(!b==0)→0(&&右边表达式(!b==0)被“短路”);选项B中(ab)&&!c‖1→(23)&&!4‖1→1&&0‖→0‖→1;选项C中a&&b→2&&3→1选项Da‖(b+b)&&(c-a)→2‖(b+b)&&(c,a)→1(‖右边表达式(b+b)&&(c-a)被“短路”)。所以本题选A。

  • 第18题:

    若有定义语句:int a=3'b=2,c=1;,以下选项中错误的赋值表达式是

    A.a=(b=4)=3

    B.a=b=c+1:

    C.a=(b=4)+c;

    D.a=1+(b=c=4):


    正确答案:A
    解析:赋值运算符的左侧只能是变量,不能是常量或表达式。A选项中(b=4)为表达式,故本题选A。  ‘

  • 第19题:

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

    A.ЦЦЦ1,2,3<回车>

    B.1Ц2Ц3<回车>

    C.1,ЦЦЦ2,ЦЦЦ3<回车>

    D.1,2,3<回车>


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

  • 第20题:

    若有定义语句:int a=3,b=2,c=1;,则表达式a<b?a:b的值是【 】。


    正确答案:2
    2 解析:本题考查的知识点是:条件运算符。条件运算是C++中唯一的三目运算,与其对应的运算符?:称为条件运算符。条件运算符的使用格式为:
    表达式1>?表达式2>:表达式3>
    当计算有条件运算符构成的表达式时,首先计算表达式1>,若其值非0,则计算出 表达式2>的值,并用这个值作为整个表达式的值;若表达式1>的值为0,则计算出表达式3>的值,并用这个值作为整个表达式的值。题目中,ab的结果为假(即 0),所以整个表达式的值为b的值2。

  • 第21题:

    若有定义inta=3,b=2,c=1;,以下选项中错误的赋值表达式是()

    • A、a=(b=4)=3
    • B、a=b=c+1
    • C、a=(b=4)+c
    • D、a=1+(b=c=4)

    正确答案:A

  • 第22题:

    单选题
    若有定义:int a,b,c;以下选项中的赋值语句正确的是(  )。
    A

    a=(b=c)+1;

    B

    (a=b)=c=1;

    C

    a=(b==c)=1;

    D

    a+b=c;


    正确答案: C
    解析:
    赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。A项中,将c赋值给b,然后将b加1赋值给a,是正确的赋值语句,正确。B项中,将1赋值给c,赋值运算(a=b)=c中左值为表达式,不是变量不能被赋值,错误。C项中赋值运算(b=c)=1左值为逻辑表达式,不是变量不能被赋值,错误。D项左值a+b为表达式,不是变量不能被赋值,D项错误。答案选择A选项。

  • 第23题:

    单选题
    若有定义语句 int b=2; 则表达式(b<<2)/(3‖b)的值是(  )。
    A

    8

    B

    2

    C

    4

    D

    0


    正确答案: B
    解析:
    b=2,转为二进制即为0010,首先将b左移两位,变成1000,即十进制的8,3‖b的值为真即为1,最后计算8/1=8。答案选择A选项。