niusouti.com

单选题若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是(  )。A charB intC doubleD float

题目
单选题
若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是(  )。
A

char

B

int

C

double

D

float


相似考题
参考答案和解析
正确答案: D
解析:
在多目运算符相关联的运算中,如果类型不一致,系统将自动进行类型转换,使两边的类型达到一致后,再进行运算,转换的规则是由“低到高”。'A'是字符型,a是整型,b是double型。字符型数据占1个字节,整型占2个字节,doub1e型占8个字节,故三者相加后为double型,答案选择C选项。
更多“若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是(  )。”相关问题
  • 第1题:

    若有以下类型说明语句: char w;int x;float y, z; 则表达式w*x+z-y的结果为______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算;需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,shor→int→unsigned→long→double←float,故结果为float型。

  • 第2题:

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


    正确答案:2
    2

  • 第3题:

    若有以下类型说明语句char a; int b; float c; double d; 则表达式a*bd-c的结果类型为( )。

    A.Float

    B.char

    C.int

    D.double


    正确答案:D

  • 第4题:

    若有以下定义char a;int b;float c;double d;则表达式a*b+d-c值的类型为


    正确答案:双精度类型
    在本题中,定义了四个不同类型的变量,然后在同一个表达式中进行计算。在C语言中规定,不同数据类型的数据在进行运算时,其结果保存为精度相对较高的类型,即所占字节空间较多的类型。因此,在对本题的四个不同类型的变量进行运算后,最终的结果为double类型。

  • 第5题:

    若有定义语句:“int a=10;double b=3.14;”,则表达式A+a+b值的类型是( )。

    A.char

    B.int

    C.double

    D.float


    正确答案:C
    如果是字符数据和整数运算将先转换成整型再进行运算,当整型和浮点数进行运算,为了提高精度将会转化为双精度类型然后进行运算,所以此题结构的数值类型为double类型。

  • 第6题:

    若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()

    A.7

    B.8

    C.9

    D.10


    参考答案:B

  • 第7题:

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。

    A.-20

    B.-l0

    C.0

    D.10


    正确答案:B
    表达式x-=x+X可以写成x=x-(x+x),所以X的值为-l0。

  • 第8题:

    若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是

    A.char

    B.int

    C.double

    D.float


    正确答案:C
    解析:本题考查数据类型的自动转换,C语言语法规定,当不同的变量相加时按最长的变量对齐,即转换优先级为:char<int<float<double。

  • 第9题:

    若有以下定义:char a; int b; float c; double d; 则表达式a*b+d-c值的类型为______。

    A.float

    B.int

    C.char

    D.double


    正确答案:D

  • 第10题:

    试题14

    若有定义语句:int a=10; double b=3.14; , 则表达式‘A’+a +b值的类型是()

    A.char

    B.int

    C.double

    D.float


    正确答案:C
    试题14分析
    数据自动转换时,按照数据长度增加的方向进行转换,以保证精度不降低。
    试题14答案
    C

  • 第11题:

    若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()

    • A、7
    • B、8
    • C、9
    • D、10

    正确答案:B

  • 第12题:

    单选题
    若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()
    A

    7

    B

    8

    C

    9

    D

    10


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

  • 第13题:

    若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。A.4B.8C.0D.2

    若有定义语句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。

  • 第14题:

    有以下定义语句: 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符合题意。

  • 第15题:

    若有以下定义: char a: int b; float c; double d; 则表达式a*b+d c的值的类型为 ______。

    A.float

    B.int

    C.char

    D.double


    正确答案:D

  • 第16题:

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。A. floatSX

    若有以下定义: char a;int b; float c;double d; 则表达式a*b+b-c值的类型为( )。

    A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第17题:

    若有定义语句:int X=10;,则表达式-x =x+X的值为

    A.-20

    B.-10

    C.0

    D.10


    正确答案:B
    解析:x-=x+x可化为:x=x-(x+x),由于x初始值为10,所以计算后,x=10-20=-10,因此选B)。

  • 第18题:

    若有定义语句:int X=10;,则表达式x-=x+x的值为( )。

    A.0

    B.-20

    C.-10

    D.10


    正确答案:C
    算术运算符+的优先级高于-=.且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成;=x-(x+x)=10-(10+10)=-10,选择C。

  • 第19题:

    若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )。A.A. float SXB

    若有以下定义:

    char a;int b;

    float c;double d;

    则表达式a*b+d-c值的类型为( )。

    A.A. float

    B.int

    C.char

    D.double


    正确答案:D
    在表达式a*b+d-c中,double的类型最高,C语言中,由低类型自动向高类型转换,所以最后的结果一定是double型。

  • 第20题:

    有如下定义:float a=1.0f;double b=2.0;则表达式a+b的值的数据类型为()。

    A.float

    B.double

    C.char

    D.int


    答案:B

  • 第21题:

    若有定义语句: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。

  • 第22题:

    若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()

    • A、double fun(int[])
    • B、double fun(intb[10])
    • C、double fun(inta)
    • D、double fun(int*a)

    正确答案:C

  • 第23题:

    单选题
    若有定义语句: int x=10; 则表达式x-=x+x的值为(  )。
    A

    -20

    B

    -10

    C

    0

    D

    10


    正确答案: B
    解析:
    单目加运算符优先级高于赋值运算符,所以先做x+x结果为20,再做x-20,结果为-10,然后赋值给x。所以答案选择B选项。