单选题以下叙述中正确的是(  )。A 语句“int a[8]={0};”是合法的B 语句“int a[]={0};”是不合法的,遗漏了数组的大小C 语句“char a[2]={"A","B"};”是合法的,定义了一个包含两个字符的数组D 语句“char a[3];a="AB";”是合法的,因为数组有三个字符空间的容量,可以保存两个字符

题目
单选题
以下叙述中正确的是(  )。
A

语句“int a[8]={0};”是合法的

B

语句“int a[]={0};”是不合法的,遗漏了数组的大小

C

语句“char a[2]={"A","B"};”是合法的,定义了一个包含两个字符的数组

D

语句“char a[3];a="AB";”是合法的,因为数组有三个字符空间的容量,可以保存两个字符


相似考题
更多“单选题以下叙述中正确的是(  )。A 语句“int a[8]={0};”是合法的B 语句“int a[]={0};”是不合法的,遗漏了数组的大小C 语句“char a[2]={"A","B"};”是合法的,定义了一个包含两个字符的数组D 语句“char a[3];a="AB";”是合法的,因为数组有三个字符空间的容量,可以保存两个字符”相关问题
  • 第1题:

    执行语句序列

    char str1[10]="ABCD",str2[10]="XYZxyz";

    for(int i=0;strl[i]=str2[i];i++);

    后,数组strl中的字符串是______。


    正确答案:XYZxyz
    XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

  • 第2题:

    有以下定义: includechar a[l0],*b=a;不能给a数组输入字符串的语句是 ______。A.gets(A

    有以下定义: # include<stdio.h> char a[l0],*b=a; 不能给a数组输入字符串的语句是 ______。

    A.gets(A)

    B.gets(a[0]);

    C.gets(&a[0]);

    D.gets(b);


    正确答案:B
    解析:a[0]是数组元素,不是数组名。

  • 第3题:

    下列对字符数组进行初始化的语句中,正确的是( )。

    A.char a[]="Hello";

    B.chara[][]={'H','e','1','1','0'};

    C.char a[5]="Hello";

    D.char a[2][5]={"Hello","World"};


    正确答案:A
    解析:本题考查对字符数组的初始化。选项A中,数组a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定。选项A是正确。选项B中,a是一个二维数组,二维数组也能在定义时被初始化。如果对全部元素都赋初值,则定义数组时第一维的大小可以忽略,但第二维的大小不能省略。故选项B是错误。选项C和选项D都忽略了字符串的大小要比字符串中的字符数多1这一点,造成了数组的越界。

  • 第4题:

    设有如下定义: char*a[3]={"aa","bb","cc"}; 则以下说法正确的是______。

    A.数组a的第二个元素的值是"bb"

    B.输出"cc"使用语句printf("%s",a[2]);

    C.数组a的3个元素分别存放的是含有两个字符的一维字符数组

    D.数组a的3个元素中各自存放了字符'a'、'b'和'c'


    正确答案:B

  • 第5题:

    有以下定义:includechara[10],*b=a;不能给数组a输入字符串的语句是A.gets(a)B.gets(a[

    有以下定义: #include <stdio.h> char a[10],*b=a; 不能给数组a输入字符串的语句是

    A.gets(a)

    B.gets(a[0])

    C.gets(&a[0]);

    D.gets(b);


    正确答案:B
    解析:本题考核的知识点是函数gets()的应用。函数gets()的调用形式为gets(str_adr);str_adr是存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。换行符读入后,不作为字符串的内容。本题中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组a;选项A。选项B。选项C和选项D中只有选项B中gets函数的参数a[0]不能表示数组a的首地址,故选项B不正确。所以,4个选项中选项B符合题意。

  • 第6题:

    若有语句:charline[5];,以下叙述中正确的是()

    • A、定义line是一个数组,每个数组元素是一个基类型为char的变量
    • B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
    • C、定义line是一个指针数组,语句中的*号称为间址运算符
    • D、定义line是一个指向字符型函数的指针

    正确答案:A

  • 第7题:

    设有定义语句int,a[]={1,1,2};则以下对此语句的叙述错误的是()

    • A、定义了一个名为a的一维数组
    • B、a数组有3个元素
    • C、a数组的下标为1~3
    • D、数组中的每个元素是整型

    正确答案:C

  • 第8题:

    设有定义语句int a[]={66,88,99};则以下对此语句的叙述错误的是()。

    • A、定义了一个名为a的一维数组
    • B、a数组有3个元素
    • C、a数组的下标为1~3
    • D、数组中的每个元素是整型

    正确答案:C

  • 第9题:

    char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句


    正确答案:正确

  • 第10题:

    单选题
    若有说明语句:char c='\72';则变量c中存放的是(  )。
    A

    2个字符

    B

    1个字符

    C

    3个字符

    D

    说明语句不合法


    正确答案: C
    解析:
    用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为单个字符,也可以为八进制或十六进制数字,故变量c中存放的是一个字符。答案选择B选项。

  • 第11题:

    单选题
    以下叙述中正确的是(  )。
    A

    语句“char str[10]=string!;”和“char str[10]={string!};”并不等价

    B

    对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示串结尾

    C

    对于一维字符数组,不能使用字符串常量来赋初值

    D

    在语句“char str[]=string!;”中,数组str的大小等于字符串的长度


    正确答案: B
    解析:
    B项正确,C编译程序将自动在字符串常量最后添加'\0'。AC两项错误,可以直接用字符串常量给一维字符数组赋初值,习惯上均省略花括号;D项错误,'\0'会占用一个不属于字符串的存储单元,因此数组str的长度大于字符串的长度。答案选择B选项。

  • 第12题:

    单选题
    有VB语句:Dim a(10) as String以下关于该语句,叙述错误的是()。
    A

    每个数组元素的类型都为字符串型

    B

    定义数组有10个元素

    C

    数组的上界为10

    D

    数组的下界为0


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

  • 第13题:

    char c[]="VeryGood";是一个合法的为字符串数组赋值的语句。()

    此题为判断题(对,错)。


    参考答案:正确

  • 第14题:

    有以下定义:include char a[10], *b=a; 下面不能给数组a输入字符串的语句是()。A.gets(

    有以下定义: #include <stdio.h> char a[10], *b=a; 下面不能给数组a输入字符串的语句是( )。

    A.gets(a)

    B.gets(a[0]);

    C.gets(&a[0]);

    D.gets(b);


    正确答案:B
    解析:函数gets(字符数组)的功能是从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址。函数的参数应该是一个指针,所以选项B)错误。

  • 第15题:

    设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。


    正确答案:C
    字符串的输入不能使用scanf(”%s”,s);而应该使用9ets(s)。

  • 第16题:

    以下叙述中正确的是

    A.语句int a[8]={0};是合法的

    B.语句inta[]={0};是不合法的,遗漏了数组的大小

    C.语句char a[2]={ "A","BII};是合法的,定义了一个包含两个字符的数组

    D.语句char a[3];a="AB";是合法的,因为数组有三个字符空间的容量,可以保存两个字符


    正确答案:A
    B选项中,如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数;C选项中,chara[2]={"","B"};不合法,应为chara[2]={′A′,′B′};;D选项中,字符数组只能在定义的时候可以用字符串常量来初始化,但不能够先定义字符数组,然后再用字符串常量进行赋值。因此A选项正确。

  • 第17题:

    有以下定义 include char a[10],*b=a; 不能给a数组输入字符串的语句是A.gets(A)B.gets

    有以下定义

    #include <stdio.h>

    char a[10],*b=a;

    不能给a数组输入字符串的语句是

    A.gets(A)

    B.gets(a[0]);

    C.gets(&a[0]);

    D.gets(B) ;


    正确答案:B
    解析:函数gets()的调用形式为gets(str_adr);str_adr是存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。换行符读入后,不作为字符串的内容。本题中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组a。gets函数的参数a[0]不能表示数组a的首地址。

  • 第18题:

    有VB语句:Dim a(10) as String以下关于该语句,叙述错误的是()。

    • A、每个数组元素的类型都为字符串型
    • B、定义数组有10个元素
    • C、数组的上界为10
    • D、数组的下界为0

    正确答案:B

  • 第19题:

    下列数组的定义不合法的是()

    • A、char c[][]=new char[2][4]
    • B、char c[][]=new char[2][]
    • C、char [][]c=new char[][3]
    • D、int []a[] = new int[5][5]

    正确答案:C

  • 第20题:

    下列数组定义语句中,不合法的是()

    • A、int a[3]={0,1,2,3};
    • B、int a[]={0,1,2};
    • C、int a[3]={0,1};
    • D、int a[3]={0};

    正确答案:A

  • 第21题:

    合法的数组定义是()

    • A、int a[ ]="string";
    • B、int a[5]={0,1,2,3,4,5};
    • C、char s="string";
    • D、char a[ ]={0,1,2,3,4,5};

    正确答案:D

  • 第22题:

    单选题
    设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(  )。

    正确答案: A
    解析:
    字符串的输入有两种方式:①scanf()函数;②get()函数。A项,gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止;B项,getchar()函数从终端读入一个字符作为函数值;D项,%c格式读入单个字符,空格、回车符和Tab键都将作为字符读入。C项中,s代表输入一个字符数组而非地址,而且遇到空格时会默认字符串输入结束,所以不能读入带有空格的字符串。答案选择C选项。

  • 第23题:

    单选题
    设有定义语句int,a[]={1,1,2};则以下对此语句的叙述错误的是()
    A

    定义了一个名为a的一维数组

    B

    a数组有3个元素

    C

    a数组的下标为1~3

    D

    数组中的每个元素是整型


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