有以下定义 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) ;

题目
有以下定义 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) ;


相似考题
更多“有以下定义 #include<stdio.h> char a[10],*b=a; 不能给a数组输入字符串的语句是A.gets(A)B.gets ”相关问题
  • 第1题:

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

    A.gets(s);

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

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

    D.gets(&s[0]);


    正确答案:ACD

  • 第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题:

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

    有以下程序: #include <string.h> main() {char p[]={'a','b','c'},q[10]={'a','b','c'}; printf("%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]={'a','b','c'}”虽然给出了数组大小,即数组实际分配的存储空间,但此字符串只占用前3个存储弹元,其余存储单元系统自动加上“\0”故数组q的长度为3;由于p数组中没有字符串结束符,故字符串的长度不自绷定。

  • 第4题:

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

  • 第5题:

    不能把字符串:Hello!赋给数组b的语句是( )。

    A.char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

    B.char b[10]; b="Hello!";

    C.char b[10]; strcpy(b,"Hello!");

    D.char b[10]="Hello!";


    正确答案: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题:

    有以下定义: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符合题意。

  • 第8题:

    若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是().

    • A、gets(a);
    • B、scanf("%s",a);
    • C、for(i=0;i<10;i++)a[i]=getchar();
    • D、a=getchar();

    正确答案:D

  • 第9题:

    字符串是以()为结束标志的一维字符数组。有定义:char a[]=””;则a数组的长度是()。


    正确答案:/0;1

  • 第10题:

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

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

    正确答案:B

  • 第11题:

    如果定义了char a[10],则数组a可以能够容纳的最长字符串长度为10。


    正确答案:错误

  • 第12题:

    单选题
    以下叙述中正确的是(  )。
    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选项。

  • 第13题:

    请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

    例如,若输入字符串123412132,输入字符1,则输出3。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<coio.h>

    include<stdio.h>

    define M 81

    int fun(char *ss,char c)

    {

    }

    main()

    { char a[M],ch;

    clrscr();

    printf("\nPlease enter a string:");

    gets(a);

    printf("\nPlease enter a char:");

    ch=getchar();

    printf("\nThe number of the char is:%d \n",fun(a,ch));

    }


    正确答案:int fun(char *sschar c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; }
    int fun(char *ss,char c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; } 解析:从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历:若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若“串的字符和c串的字符不对应相同,则继续对,s串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,若与c相同则表示又出现一次.

  • 第14题:

    有以下程序 include include void fun(char s[][10],int n

    有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0] > s[j][0]) { t = s[i][0]; s[i][0] = s[j][0]; s[j][0] = t;} } main() { char ss[5][10]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的运行结果是

    A.xy, aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D
    解析:在函数fun()中有一个两层嵌套的for循环,外循环变量i从0递增到n-2,内循环变量i从i+1循环递增到n-1,这是选择排序算法的标准结构。循环体中因为逆序条件为“s[i][0]> s[j][0]”,所以实现的是升序排序。由此可见,fun()函数实现的功能是对一个二维字符数组前n行的首字符进行升序排序。主函数中定义的二维数组初始化为{"bcc",”bbcc", "xy","aaaacc","aabcc"},通过fun()函数的排序后,结果将为acc","abcc","by", "baaacc","xabcc"}。故最终输出字符串ss[0]和ss[4]的结果为acc,xabcc,应该选择D。

  • 第15题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 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可以完成给数组所有的元素输入数据的任务。

  • 第16题:

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

    A.gets(s);

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

    C.while((s[i++]=getchar())!='\n');s[i]='\0';

    D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';


    正确答案:B
    解析:本题考查标准输入输出函数和循环语句。gets(s)函数的作用是将输入的字符读入字符串s,直到遇到回车。而scanf()数接收字符串时的结束标志为回车或者空格。因此选巧

  • 第17题:

    以下程序:includemain(){char str[10];scanf("%s",&str);printf("%s\n",str);}运

    以下程序: #include<stdio.h> main() {char str[10]; scanf("%s",&str); printf("%s\n",str); } 运行上面的程序,输入字符串how are you,则程序的执行结果是( )。

    A.how

    B.how are you

    C.h

    D.howareyou


    正确答案:A
    解析:当从键盘输入bow are you时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将how这3个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

  • 第18题:

    有以下程序: 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,没有字符串结束符,故字符串的长度不能确定。

  • 第19题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。

  • 第20题:

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

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

    正确答案:B

  • 第21题:

    若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是( ).

    • A、gets(a);
    • B、scanf("%s",a);
    • C、for(i=0;i<10;i++)a[i]=getchar();
    • D、a=getchar();

    正确答案:D

  • 第22题:

    不能把字符串“Hello!”赋给数组b的语句是()

    • A、char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
    • B、char b[10];b="Hello!";
    • C、char b[10];strcpy(b,"Hello!");
    • D、char b[10]="Hello!";

    正确答案:B

  • 第23题:

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

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

    B

    定义数组有10个元素

    C

    数组的上界为10

    D

    数组的下界为0


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