niusouti.com
更多“以下定义语句中正确的是()。A.char a='A ' b='B';B.float a=b=10.0;C.int a=10, *b=&a;D.floa ”相关问题
  • 第1题:

    以下语句或语句组中,能正确进行字符串赋值的是( )。

    A.char *sp; *sp="right!";

    B.char s[10]; s="right!";

    C.char s[10]; *s="right!";

    D.char *sp="right!";


    正确答案:D
    解析:在选项A中,首先定义了一个字符指针sp,然后将个字符串赋给甲所指的地址,这是错误的。因为sp是一个未经初始化的野指针,不知其指向哪儿,往一个不确定的地址中写数据很容易让程序出错。选项B首先定义了一个字符数组,然后将一个字符串赋给数组名,这是错误的。因为数组名是一个指针常量,不可以被改变。选项C首先定义了—个字符数组,然后将—个字符串赋给数组的第一个元素,这也是错误的。因为字符串在表达式中相当于一个常字符指针,将一个指针值赋给一个字符型变量是行不通的。选项D是定义一个字符指针sp,同时使其指向一个字符串常量,即将个常字符型指针赋给sp。这是可行的。所以,4个选项中选项D符合题意。

  • 第2题:

    以下定义语句中正确的是()。

    A.float a=5.0,b=10.0;

    B.int a=10;b=a;

    C.int a,b=3.14;

    D.char a='A' ,b=”B”;


    pa是一个具有5个元素的指针数组,每个元素是一个int型指针

  • 第3题:

    以下定义语句中正确的是______。

    A.char *a = 'A',b='B';

    B.float a=b=10.0;

    C.int a=10,*b=&a;

    D.float *a,b=&a;


    C 解析:选项A)中,字符型变量a,b中间缺少逗号;如果对几个变量赋以同一个初值,不能在定义变量时进行,应写成:floata=10.0,b=10.0;所以选项B)不正确;选项D)中,执行b=&a相当于将地址转换成了浮点型,编译时将提示出错信息“无效的类型转换”,所以选项D)不正确。

  • 第4题:

    以下语句或语句组中,能正确进行字符串赋值的是

    A.char *sp; *sp="right!";

    B.char s[10]; s="right!";

    C.char s[10]; *s="right!";

    D.char *sp="right!";


    正确答案:D
    解析:本题考查了考生对字符串常量的理解。字符串常量是一段以双引号括起来的字符序列,它既可以出现在对字符数组的初始化中,也可以出现在表达式中。当它用于对字符数组的初始化时,应注意系统自动为其添加的结束标志'\0'。而当它出现在表达式中时,应该将其看作一个constchar*类型的指针常量。在选项A中,首先定义了一个字符指针sp,然后将一个字符串赋给甲所指的地址,这是错误的。因为sp是一个未经初始化的野指针,不知其指向哪儿,往一个不确定的地址中写数据很容易让程序出错。选项B首先定义了一个字符数组,然后将一个字符串赋给数组名,这是错误的。因为数组名是一个指针常量,不可以被改变。选项C首先定义了一个字符数组,然后将一个字符串赋给数组的第一个元素,这也是错误的。因为字符串在表达式中相当于一个常字符指针,将一个指针值赋给一个字符型变量是行不通的。选项D是定义一个字符指针sp,同时使其指向一个字符串常量,即将一个常字符型指针赋给sp。这是可行的。所以,4个选项中选项D符合题意。

  • 第5题:

    设已有定义float x;,则以下对指针变量p进行定义其赋初值的语句中正确的是()

    A.float *p=1024;

    B.float *p=&x;

    C.int *p=(int)x;

    D.float p=&x;


    D