更多“设有定义:int k=0;,以下选项的四个表达式中与其他三个表达”相关问题
  • 第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语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项 B,先计算k++的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。

  • 第2题:

    设有如下定义语句以下选项中,表达式的值为6的是()

    A.*(k+2)

    B.k+2

    C.*k+2

    D.*k+=2


    正确答案:A
    考察数组和指针的概念,本题中*k指向数组m的首地址。*(k+2)现将指针后移两个元素,即为m[2]的首地址,然后取出m[2]的值6,所以选择A选项。选项B的值是一个地址无意义。选项C的值为4。选项D使得m[0]的值为4。fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

  • 第3题:

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

  • 第4题:

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

    A.k=k>=k

    B.-k++

    C.k%int(f)

    D.k>=f>=m


    正确答案:C
    解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项B),先计算k什的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。

  • 第5题:

    设有如下定义语句: int m[]={2,4,6,8,10},*k=m; 以下选项中,表达式的值为6的是( )。

    A.*(k+2)

    B.k+2

    C.*k+2

    D.*k+=2


    正确答案:A
    本题考查数组和指针,*k指针是指向rn数组的首地址,所以要使表达武的值为6,只需要指针指向第m[2],所以答案选择A。-

  • 第6题:

    设有定义: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)的结果为真。

  • 第7题:

    若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—Y)等价的是( )。

    A.(x—Y<01Ix—Y>O)

    B.(x—y<0)

    C.(x—Y>0)

    D.(x—Y==0)


    正确答案:A
    条件表达式:x=表达式17表达式2:表送式3的含义是:先求解表达式1,若为非0(真),则求解表达芪2,将表达式2的值赋给x。若表达式1的值为0(假),则求辞表达式3,将表达式3的值赋给x。在本题中与表达式1::x—y)等价的是(x—Y<0I|x—Y>O)。

  • 第8题:

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

  • 第9题:

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

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

    正确答案:A

  • 第10题:

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

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

    正确答案:A,C,D

  • 第11题:

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

    i++

    B

    i+=1

    C

    ++i

    D

    i+1


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

  • 第12题:

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

    b=a==c

    B

    a=b=c

    C

    a=c==b

    D

    c=a!=c


    正确答案: A
    解析:
    赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A项,逻辑表达式a==c不成立,则b=0,表达式值为0;B项,将c赋值给b,b=1,再将b赋给a,a=1,表达式值为1;C项,逻辑表达式c==b成立,则a=1,表达式值为1;D项,逻辑表达式a!=c成立,则c=1,表达式值为1。A项与其他项不同。答案选择A选项。

  • 第13题:

    设有定义: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的值为“(!2==1)&&(!3==0)=0&&(!3==0)=0”,选项B的值为“(2>3)&&!4||1=0&&!4||1=0&&0||1=0||1=1”。选项C的值为“2&&3=1”。选项D的值为“2||(6)&&(2)=2||1=1”。所以只有选项A的值为0。注意:在进行逻辑与运算时,若“&&”的左边运算结果已经为0,则“&&”右边的表达式将不再进行计算,结果总为0;在进行逻辑或运算时,若“||”的左边运算结果已经为1,则“||”右边的表达式也将不再进行计算,结果总为1。

  • 第14题:

    当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是()。

    A.K%2

    B.K%2==1

    C.(K%2)!=0

    D.!K%2==1


    正确答案:D

  • 第15题:

    当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是

    A.k%2

    B.k%2==1

    C.(k%2)!=0

    D.!k%2==1


    正确答案:D
    解析:本题考查的是判断奇偶数。选项A、B和c中都是当k是奇数时表达式的值为1,否则为0。而选项D中因为逻辑非!运算符的优先级最高,所以当k为0的时候,k的值为1,整个表达式的值也就是1,而当k为非。的时候!k的值为0,整个表达式的值为0。所以本题应该选择D。

  • 第16题:

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

    A.k++

    B.k+=1

    C.#NAME?

    D.k+1


    正确答案:A

  • 第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题:

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

    A.++k

    B.k+=1

    C.k++

    D.k+1


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

  • 第19题:

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

    A.++m

    B.m+=1

    C.m++

    D.m+1


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

  • 第20题:

    设有定义:intk=1,m=2;floatf=7;,则以下选项中错误的表达式是()

    • A、k=k+=k
    • B、-k++
    • C、k%int(f)
    • D、f=k%m

    正确答案:C

  • 第21题:

    设有说明语句:int k=1,m=2;double d=7.3;,以下表达式中错误的是()。

    • A、k>=m=k
    • B、k++
    • C、k%(int)d
    • D、d>m>k

    正确答案:A

  • 第22题:

    单选题
    设有以下说明和语句:int x[3][4],(* p)[4];p=a;则与表达式*(*p+2)等价的选项是(  )。
    A

    a[0][2]

    B

    *(a+2)[0]

    C

    (*a+2)[0]

    D

    a[2][0]


    正确答案: D
    解析:
    (*p)[4]是指向有4个元素的数组指针,a为二位数组首地址,赋值给数组指针p。题目中表达式*(*p+2)是对数组a第1行第3列元素a[0][2]的引用。a[0][2]是数组第1行第3列元素,与题目中等价,A项正确。*(a+2)[0]是对数组第3行第1列元素的引用,B项错误。(*a+2)[0]是对数组第1行第3列元素的引用,C项错误。a[2][0]是数组第3行第1列元素,D项错误。答案选择A选项。

  • 第23题:

    单选题
    设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是(  )。
    A

    *(k+2)

    B

    k+2

    C

    *k+2

    D

    *k+=2


    正确答案: B
    解析:
    本题中k指向数组m的首地址。*(k+2)先将指针后移两个元素,即为m[2]的地址,然后取出m[2]的值6。B项错误,k+2是m[2]的地址;C项错误,*k表示m[0]的值,然后再加上2,所以为4;D项错误,表示给m[0]的值加2,也为4。答案选择A选项。

  • 第24题:

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

    ++k

    B

    k+=1

    C

    k++

    D

    k+1


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