参考答案和解析
正确答案:D
解析:本题考查字符串的定义和赋初值。选项A)、C)错误,字符数组的赋值可以逐个字符赋给数组中各元素,也可以定义字符数组时整个字符串赋初值。选项B)、D)是给字符指针赋值,正确的格式是char*s;s="Beijing";选项B)不对。
更多“下列选项中正确的语句组是()。A.char s[8]; s={"Beijing"};B.char *s; s={"Beijing"};C.char s[8] ”相关问题
  • 第1题:

    下列选项中正确的语句是

    A.char s[8]; s={"Beijing"};

    B.char*s; s ={"Beijing"};

    C.char s[8]; s="Beijing";

    D.char *s; s ="Beijing";


    正确答案:D
    解析:本题考核的知识点是字符欺组初始化及字符型指针的应用。字符数组初始化可以有两种方式:方式一,按单个字符的方式赋初值。方式二,把一个字符串作为初值赋给字符数组。比如:charch[5]=rabc”),选项A属于这种情况,但是选项A定义的字符数组长度为8,由于最后还要加一个“\0”做结束标志,所以赋给他的字符串长度应小于等于7,所以选项A不正确;在给字符数组赋初值的时候,应该用花括号“{”和“}”将字符串括起来,故选项C不正确。将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p="student";二是给指针变量赋值,比如:p="student";(p已经被定义为字符型指针变量;),故选项D正确,而选项C中的花括号是多余的,应该去掉,所以,4个选项中选项D符合题意。

  • 第2题:

    下列选项中正确的语句是( )。

    A.char s[8]; s={"Beijng"};

    B.char *s; s={"Beijng"};

    C.char s[8]; s="Beijing";

    D.char *s; s="Beijing';


    正确答案:D
    解析:用字符串常量给数组赋值的形式有“chars[8]={"Beijng"};”或“chars[8]="Beijing"”,而没有选项A中的形式。选项C中的s是数组名为地址常量,不能被赋新值。选项D中s被定义为指针变量,s="Beijng"并不是把字符串的内容放入s中,而是把字符串在内存中的首地址赋值给s,故选项D正确,而选项B中的形式不存在。

  • 第3题:

    以下选项中正确的语句组是()。

    A.char *s;s={"BOOK!"};

    B.char *s;s="BOOK!";

    C.char s[10];s="BOOK!";

    D.char s[];s="BOOK!";


    B A选项去掉大括号就正确了;c选项和D选项应在定义时赋初值。因此B选项正确。

  • 第4题:

    下列选项中正确的语句组是 ______。

    A.char s[8];s={"Beijing"};

    B.char *s;s={"Beijing"};

    C.char s[8];s="Beiiing";

    D.char *s;s="Beijing";


    正确答案:D
    解析:C语言规定可以对字符指针变量直接赋字符串常量,但不能给字符数组直接赋字符串常量,对字符数组赋字符串常量应使用的是strcpy函数。正确答案为选项D。

  • 第5题:

    下列选项正确的语句组是 ()。

    A.char s[8]; s={"China"};

    B.char *s; s={"China"};

    C.char s[8]; s="China";

    D.char *s; s="China";


    D 解析:字符数组初始化可以有两种方式:方式一,按单个字符的方式赋初值。方式二,把一个字符串作为初值赋给字符数组。选项A定义的字符数组长度为8,由于最后还要加一个“、0”做结束标志,所以赋给他的字符串长度应小于等于7;在给字符数组赋初值的时候,应该用花括号“{”和“}“将字符串括起来。将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p=“student”;二是给指针变量赋值,比如:p=“student”;(p已经被定义为字符型指针变量;)。