更多“下面各选项中正确的是()。Ⅰ:long l=4990Ⅱ:int i=4LⅢ:float f=1.1Ⅳ:double d=34A.Ⅱ、ⅢB.Ⅱ、Ⅲ、ⅣC.Ⅰ、ⅣD ”相关问题
  • 第1题:

    以下选项中,正确运用指针变量的程序段是( )。

    A.int*i=NULL;

    B.float*f=NULL; scanf("%d",i); *f=10.5;

    C.char t='m',*C=&t;

    D.long*L; *C=&t; L='0';


    正确答案:D
    解析:选项A定义了一个整型变量i,并且初始化让它指向NULL,接着通过scarnf()函数,改变i指向的存储空间的值,选项A中首先定义了整型指针变量i并初始化为NULL,即表示指针i不指向任何存储单元,即此时还没有为i在内存中开辟存储单元,而在scanf()函数中第二个参数是地址参数,显然在这里i不表示地址,所以下面的scanf("%d",i)语句是不正确的,故选项A不正确。选项B定义了一个实型指针变量f并初始化使它指向NULL,即还没有为f在内存中开辟存储单元,不能向*f代表的存储单元(不存在)中写数据,故选项B错误;选项C中首先定义了一个字符变量t并给它赋初值'm',然后定义一个字符型指针c并让它指向了变量t,这一部分正确,然后接着用了一个语句“*c=&t;”应该将该语句中c前的*去掉,故选项C运用指针变量不正确。选项D中的'\0'是一个转移字符,称作“空值”,可以给指针变量L赋值。所以,4个选项中选项D符合题意。

  • 第2题:

    下面各项声明中合法的是( )。 Ⅰ:long1=4990; Ⅱ:int i=4L; Ⅲ:floatf=1.1; Ⅳ:double d=34;

    A.Ⅱ、Ⅲ

    B.Ⅱ、Ⅲ、Ⅳ

    C.Ⅰ、Ⅳ

    D.Ⅲ、Ⅳ


    正确答案:C
    解析:此题的考点是数字的表示法和基本数据类型间的自动转换。Java语言中,没有小数点的数字被认为是int型;带有小数点的数字被认为是double型;其他的使用在数字后面加一个字母表示数据类型,加1或者L是long型,加d或者D是double型,加f或者F是float型。可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换。例如将int、short、byte类型的数赋值给long型时,不需要显式的类型转换;反之,将long型数赋值给byte、short、int型变量时需要强制转换(inta=(int)123L)。IntI=4L是将一个Long型的数据赋给一个整型的变量,这不符合赋值的要求;Doubled=34.4是正确的赋值,因为Doubled=34.4d。因此应该选C。

  • 第3题:

    字面常量42、4.2、42L的数据类型分别是( )。

    A.long,double,int

    B.long,float,int

    C.int,double,long

    D.int,float,long


    正确答案:C

  • 第4题:

    字面常量42、4.2、42L的数据类型分别是( )。 A.long,double、intB.lon9、float、int

    字面常量42、4.2、42L的数据类型分别是( )。

    A.long,double、int

    B.lon9、float、int

    C.int、double、long

    D.int、float、long


    正确答案:C
    本题考查整型变量的类型和浮点变量的类型,42默认为int型数据,42后面加上L后,表示long型数据,4.2默认为double型数据。

  • 第5题:

    字面常量42、4.2、42L的数据类型分别是( )

    A.long,double,int

    B.long,float,int

    C.int,double,long

    D.int,float,long


    正确答案:C
    解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或1来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。