更多“单选题设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其他三个不同的是(  )。A b=a==cB a=b=cC a=c==bD c=a!=c”相关问题
  • 第1题:

    设有定义:int k=1,m=2;float f=7;则以下选项中错误的表达式是( )。

    A.k=k>=k

    B.-k++

    C.k%int(f)

    D.k>=f>=m


    正确答案:C
    解析:强制类型转换的一般形式为:(类型名)(表达式),而选项C)中没有给类型名加括号,所以选项C)错误。

  • 第2题:

    有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。

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

    B.(a<b)&&!c

    C.

    D.1

    E.a&&b

    F.a

    G.

    H.(b+b)&&(c-a)


    正确答案:A
    本题考查逻辑与运算“&&”与逻辑或运算“||”。在选项A中,因为!a=0,所以关系表达式!a=1为0,又因为逻辑与运算符“&&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A正确。在选项8中,关系表达式a<b为真,表达式(a<b)&&!C为假,而表达式(a<b)&&!||1为真,所以整个表达式的值为真。选项C中,a&&b的结果为真。在选项D中,a||(b+b)&&(C-a)的结果为真。

  • 第3题:

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

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

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

    C.a&&b

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


    正确答案:A
    解析:在选项A)中,因为!a=0,所以关系表达式!a==1的值为0,又因为逻辑与运算符“&&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A)正确。在选项B)中,关系表达式ab为真,表达式(ab)&&!c为假,而表达式(ab)&&!c‖1为真,所以整个表达式的值为真。选项C)中,a&&b的结果为真。在选项D)中,a‖(b+b)&&(c-a)的结果为真。

  • 第4题:

    设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

    A.++k

    B.k+=1

    C.k++

    D.k+1


    正确答案:C
    先使k的值自增l后再使用,k++是先取得k的值再将k的值自增l,所以c选项中表达式的值为0,而其他三个表达式的值均为1,所以选择c。

  • 第5题:

    设有定义:int a=0,b=1;,以下表达式中,会产生“短路”现象,致使变量b的值不变的是

    A.a++&&b++

    B.a++||++b

    C.++a&&b++

    D.+a ||++b


    正确答案:A
    运算符“++”放在变量前面时,表示将变量+1,再参与其他操作,a++&&b++时,由于a值是0直接判定与运算结果为0,忽视b++的值。因此b值不发生改变,答案为A选项。

  • 第6题:

    设有以下C语言说明语句,则值为210的表达式是(33)。 struct s { int a;int *b;}; Int x0[]={110,120},x1[]={210,220}; struct s x[]={{100},{200}},*p=x; x[0].b=x0;x[1].b=x1;

    A.(++p)->a

    B.*p->b

    C.*(p++)->b

    D.*(++p)->b


    正确答案:D
    解析:注意到本试题中x为结构体数组,则数组名x代表数组首地址。x[0]、x[1]代表结构体数组元素。对于指向结构体数组的指针变量p,每次“+1”则指向下一个结构体数组元素。本题中++p后,由x[0]改指向x[1]。结构体数组x在定义时赋初值,但未对结构体成员b赋初值。语句“x[0].b=x0;x[1].b=x1;”的作用是对结构体数组x的成员b赋初值。对于选项A,(++p)->a等价于x[1].a==200。选项B,*p->b等价于*(x->b)==*x0==110。选项C,*(p++)->b等价于*(x[0].b)==110=x0[0]。选项D,*(++p)->b等价于*(x[1].b)==210=x1[0]。注意,在测试以上1个选项的输出值时,不能放在同一个printf函数中进行输出。因为函数中的参数运算顺序在C语言中是自右向左进行的,而p的值又是不断变化的,所以相互之间会产生影响。

  • 第7题:

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

    • A、a%b%c
    • B、a/b/c
    • C、a=b=c
    • D、a,b,c

    正确答案:B

  • 第8题:

    设有说明语句:inti=2;,以下选项的四个表达式中与其他三个表达式的值不相同的是()

    • A、i++
    • B、i+=1
    • C、++i
    • D、i+1

    正确答案:A

  • 第9题:

    单选题
    以下选项中,值为1的表达式是(  )。
    A

    '1'-0

    B

    1-'0'

    C

    1-'\0'

    D

    '\0'-'0'


    正确答案: D
    解析:
    ASCII码表,'0'~48,'1'~49,'\0'~0,答案选择C选项。

  • 第10题:

    单选题
    设有定义: int a=64,b=8; 则表达式(a&b)‖(a&&b)和(a|b) && (a‖b)的值分别为(  )。
    A

    1和1

    B

    1和0

    C

    0和1

    D

    0和0


    正确答案: C
    解析:
    逻辑或运算符“‖”,计算左表达式值,如果为真,则不计算右表达式,而整个表达式为真,若左表达式为假,再计算右表达式然后做或运算。逻辑与运算符“&&”,计算左表达式值,如果为假则不计算右表达式,而整个表达式为假,若左表达式为真,再计算右表达式然后做与运算。a=64=10000008,b=8=1000B,a&b=0为假,a&&b为真,(a&b)‖(a&&b)为真,值为1。a|b=1001000B为真,a‖b为真,则(a|b) && (a‖b)为真,值为1。答案选择A选项。

  • 第11题:

    单选题
    设有定义:int a=0,b=1;以下表达式中,会产生“短路”现象,致使变量b的值不变的是(  )。
    A

    +a‖++b

    B

    a++‖++b

    C

    ++a&&b++

    D

    a++&&b++


    正确答案: D
    解析:
    产生“短路”现象,即逻辑表达式靠后的部分不会被运算。对于逻辑或运算,表达式前半部分运算结果为1时产生“短路”现象,A选项,+a的值是0,需要计算后半部分,B选项,a的值是先使用再自增1,a++值是0,也需要计算后半部分;对于逻辑与运算,表达式前半部分运算结果为0时产生“短路”现象,C选项,a的值是先自增1再传递,传值是1,需要计算后半部分;D项,a的值是先传递再自增1,传值是0,无需要计算后半部分,可忽视b++的值,因此b值不发生改变。答案选择D选项。

  • 第12题:

    单选题
    设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是(  )。
    A

    ++k

    B

    k+=1

    C

    k++

    D

    k+1


    正确答案: D
    解析:
    后缀表达式,先赋值,后自增。k++表达式值为k的值0;其余三项为k+1的值,即1。答案选择C选项。

  • 第13题:

    设有定义:int k=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是( )。

    A.k++

    B.k+=1

    C.#NAME?

    D.k+1


    正确答案:A

  • 第14题:

    设有定义: 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。

  • 第15题:

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11S

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。

    A.0

    B.1

    C.11

    D.3


    正确答案:A
    本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。

  • 第16题:

    设有定义:int m=0;。以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

    A.++m

    B.m+=1

    C.m++

    D.m+1


    正确答案:C
    选项中的四个表达式执行后,m的值都递增1。选项c)中,表达式的值是m递增前的值,为0。选项A)、B)、D)中,表达式的值都是m递增后的值,为1。

  • 第17题:

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

    有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。

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

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

    C.a&&b

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


    正确答案:A

    本题考查逻辑与运算“&&”与逻辑或运算“||”。在选项A中,因为!a=0,所以关系表达式!a=1 为0,又因为逻辑与运算符“&&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A正确。在选项8中,关系表达式a<b为真,表达式(a<b)&&!C为假,而表达式(a<b)&&!||1为真,所以整个表达式的值为真。选项C中,a&&b的结果为真。在选项D中,a||(b+b)&&(C- a)的结果为真。

  • 第18题:

    有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。A.(a<b)&&!c‖1

    有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。

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

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

    C.a&&b

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


    正确答案:B
    对于这种问题可以用真假来判断,当数值不为0时都一律为真,只有是0才是假A:(a<b)为真,!c为假,所以(真&&假)为假,后来(假‖真)为真,不是0B:(真&&假)为假,是0C:(真&&真)为真,不是0D:(真||真)为真,c-a为真,(真&&真)为真,不是0

  • 第19题:

    设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

    • A、k++
    • B、k+=1
    • C、++k
    • D、k+1

    正确答案:D

  • 第20题:

    设有定义:intk=0;以下选项的四个表达式值相同的是()

    • A、a=++k
    • B、a=k++
    • C、a=k+=1
    • D、a=k+1

    正确答案:A,C,D

  • 第21题:

    单选题
    设有说明语句:inti=2;,以下选项的四个表达式中与其他三个表达式的值不相同的是()
    A

    i++

    B

    i+=1

    C

    ++i

    D

    i+1


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    若有定义:int a=0,b=0,c=0,d=0;以下关于C语言表达式:(++a‖++b)? ++c:++d执行顺序的叙述正确的是(    )。
    A

    先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,由此可确定(++a‖++b)值为1,因此执行++c

    B

    先执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c

    C

    先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c

    D

    先执行++a,++b,++c,++d,使得a,b,c,d的值都为1,由此可确定(++a‖++b)值为1,因此执行++c


    正确答案: A
    解析:
    ++a表示先将变量a+1,再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式(++a‖++b)中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2,即++c,B项正确。答案选择B选项。

  • 第23题:

    单选题
    若在程序中变量均已定义成int类型,且已赋大于1的值,则下列选项中能正确表示代数式1/abc的表达式是(  )。
    A

    1.0/a/b/c

    B

    1/(a*b*c)

    C

    1.0/a*b*c

    D

    1/a/b/(double)c


    正确答案: A
    解析:
    abc均大于1,所以表达式1/abc小于1,需要用浮点类型表示。若要计算表达式值,需要使其自动转化成浮点类型,A项正确。B项变量与常量均为整型,不会自动转换为浮点类型,B项错误。C项表示表达式bc/a,错误。D项,算数运算法结合性自左向右,先计算1/a,结果为0,之后的计算无论是否转换数据类型结果均为0,D项错误。答案选择A选项。