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

    在下面的字符数组定义中,()语句有语法错误。

    A、chara[20]="abcdefg";

    B、chara]="x+y=55.";

    C、chara[15]={"1",“2"};

    D、chara[10]="5";


    参考答案:D

  • 第2题:

    有两个字符数组a、b,则以下正确的输入语句是( )。

    A.gets(a,b);

    B.scanf("%s%s",a,b);

    C.scanf("%s%s",&a,&b);

    D.gets("a"); gets("b");"


    参考答案B

  • 第3题:

    有以下定义: 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]是数组元素,不是数组名。

  • 第4题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入:includemain(){ int a[10],i

    以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include<stdio.h> main() { int a[10],i=0; while(i<10)scanf("%d",______); : : }

    A.a+(i++)

    B.&a[i+1)

    C.a+i

    D.&a[++i]


    正确答案:A
    解析:a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入一个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第5题:

    有以下定义: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)错误。

  • 第6题:

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。 A.gets(&sO);

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。

    A.gets(&sO);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    D。【解析】选项A调用函数9ets使得S数组从S[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scanf("%S",S[1])调用错误,应为scanf("%S",&s[1])输入项部分应该是一个地址值。

  • 第7题:

    有以下程序: include include main( ) {char p[] = {'a','b','c'] ,q[10

    有以下程序: #include <stdio.h> #include <string.h> main( ) { char p[] = {'a','b','c'] ,q[10] = {'a','h','c'} prinff( "% d % d\n" , strlen (p) , strlen (q) );以下叙述中正确的是( )。

    A.在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3

    B.由于P数组中没有字符串结束符,长度不能确定;q数组中字符串长度为3

    C.由于q数组中没有字符串结束符,长度不能确定;p数组中字符长度为3

    D.由于p和q数组中没有字符串结束符,故长度都不能确定


    正确答案:B
    解析:strlen函数用于计算以,'\0'结束的字符串的长度,函数值为字符串的实际长度,长度中不包括,'\0'。q数组定义的数组大小为10,而初始化时字符串只占用了前3个存储单元,其余存储单元系统自动加'\0',故数组q的长度为3;而p数组定义时没有指定大小,其大小根据初始化所赋值确定为3,没有字符串结束符,故字符串的长度不能确定。

  • 第8题:

    有以下定义 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的首地址。

  • 第9题:

    在C语言中,利用数组a存放字符串“Hello”,以下语句中正确的是()。

    • A、chara[10]=“Hello”;
    • B、chara[10];a=“Hello”;
    • C、chara[10]=‘Hello’;
    • D、chara[10]={‘H’,’e’,’l’,’l’,’o’};

    正确答案:A

  • 第10题:

    以下关于数组的描述中,正确的有()

    • A、有定义chara[3];则定义了a[1]、a[2]、a[3]三个数组元素
    • B、构成字符数组的各个元素必须是字符类型的数据
    • C、若有定义chara[]="hello";,则数组a的长度为6
    • D、设有数组定义chararray[]="China";则数组array所占的空间为5个字节

    正确答案:B,C

  • 第11题:

    下列字符串赋值语句中,不能正确把字符串“HelloWorld”赋给数组的语句是()

    • A、chara1[]={’H’,’e’,’l’,’l’,’o’,’’,’W’,’o’,’r’,’l’,’d’,’/0’};
    • B、chara2[15];strcpy(a2,"HelloWorld");
    • C、chara3[15];a3="HelloWorld";
    • D、chara4[10]={"HelloWorld"};

    正确答案:C

  • 第12题:

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

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

    B

    定义数组有10个元素

    C

    数组的上界为10

    D

    数组的下界为0


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

  • 第13题:

    定义chars[81];后,能正确输入一个字符串到数组s的语句是()。

    A.gets(s);

    B.scanf(”%c”,s);

    C.scanf(”%s”,&s[0]);

    D.gets(&s[0]);


    正确答案:ACD

  • 第14题:

    在下面字符数组的定义语句中,有语法错误的是()。

    A、chara[20]=”abcdefg”;

    B、chara[]=”x+y= 55.”;

    C、chara[15]={‘1′,’2’};

    D、chara[10]=’5′;


    正确答案:D

  • 第15题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。include main(){int a[10],j

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。#include <stdio.h>main(){ int a[10],j=0; while(i<10)scanf("%d", ______ ); : :}

    A.a+(i++)

    B.&a[i+1]

    C.a+ i

    D.&a[++i]


    正确答案:A
    解析:a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入一个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第16题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 include main() { int a[10

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include<stdio.h> main() { int a[10]=0; while(i<10)scan("%d"______); : : }

    A.a+(i++)

    B.&a[i+1]

    C.a+i

    D.&a[++i]


    正确答案:A
    解析: a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入—个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第17题:

    下面是有关C语言字符数组的描述,其中错误的是( )。 A.不可以用赋值语句给字符数组名赋字符串S

    下面是有关C语言字符数组的描述,其中错误的是( )。

    A.不可以用赋值语句给字符数组名赋字符串

    B.可以用输入语句把字符串整体输入给字符数组

    C.字符数组中的内容不一定是字符串

    D.字符数组只能存放字符串


    正确答案:D
    用来存放字符量的数组称为字符数组。字符数组也可以是二维或多维数组,对一个字符数组,如果不作初始化赋值,则必须说明数组长度,还可用printf函数和scarlf函数一次性输出/输入一个字符数组中的字符串,而不必使用循环语句逐个地输入/输出每个字符。通常用一个字符数组来存放一个字符串。所以D选项不正确。

  • 第18题:

    有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。

    A.gets(&sO);

    B.scanf("%s",s+1);

    C.gets(s);

    D.scanf("%s",s[1]);


    正确答案:D
    D。【解析】选项A调用函数9ets使得S数组从S[0]开始得到输入的字符;选项B使得数组从元素s[1]开始得到输入的5个字符;选项C使得数组从s[0]开始得到输入的字符;而选项D的scanf("%S",S[1])调用错误,应为scanf("%S",&s[1])输入项部分应该是一个地址值。

  • 第19题:

    定义一个表示10个值为null的字符串数组,下面选项正确的是( )。

    A.String[]a;

    B.Stringa[];

    C.chara[10][];

    D.Stringa[]=new String[10];


    正确答案:D
    解析: 本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求。选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对象的形式来表示的。选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为null。

  • 第20题:

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

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

    正确答案:B

  • 第21题:

    在下面的字符数组定义中,()有语法错误。

    • A、chara[20]="abcdefg"
    • B、chara[]="x+y=55.”
    • C、chara[15]
    • D、chara[10]=’5’

    正确答案:D

  • 第22题:

    若有定义chara[10],*b=a;不能给数组a输入字符串"youknow"的语句是()

    • A、gets(a);
    • B、scanf("%s",a);
    • C、gets(&a[0]);
    • D、gets(b);

    正确答案:B

  • 第23题:

    下面是有关C语言字符数组的描述,其中正确的是()

    • A、不可以用赋值语句给字符数组名赋字符串
    • B、可以用输入语句把字符串整体输入给字符数组
    • C、字符数组中的内容不一定是字符串
    • D、字符数组只能存放字符串

    正确答案:A,B,C