更多“单选题Which expressions are correct to declare an array of 10 String objects? ()A  char str[];B  char str[][];C  String str[];D  String str[10];”相关问题
  • 第1题:

    设有语句:char str1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是

    A.strcpy(str1,"Hello1");

    B.strcpy(str2,"Hello2");

    C.strcpy(str3,"Hello3");

    D.strcpy(str4,"Hell04");


    正确答案:C
    解析:本题考核函数调用。函数strcpy的函数原型为:char*strcpy(char*strDest,constchar*trSrC);,其功能是复制strSrc所有字符到strDest,并返回strDest。根据函数strcpy的原型可知选项A)、B)和D)的调用都是正确的。在C)选项中,由于指针*str3没有初始化其字符长度,容易引起访问越界,故是不正确的。

  • 第2题:

    设有以下语句: char str1 []="string"mstr2 [8],*str3,*str4=="string"; 则 ______不是对库函数的正确调用。

    A.strcpy(str1,"HELLO1");

    B.strcpy(str2,"HELLO2");

    C.strcpy(str3,"HELLO3");

    D.strcpy(str 4,"HELLO4");


    正确答案:C
    解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。

  • 第3题:

    对于下面的程序includeincludechar * scmp(char * s1,char * s2){if(strcm

    对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题自定义函数scmp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执行strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(stringstr[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

  • 第4题:

    设有以下语句: char strl[]="string",str2[8],*str3,*str4="string"; 则_______不是对库函数的正确调用。

    A.strcpy(strl,"HELLO1");

    B.strcpy(str2,"HELLO2");

    C.strcpy(str3,"HELLO3");

    D.strcpy(str4,"HELLO4");


    正确答案:C
    解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。

  • 第5题:

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

    #include <stdio.h>

    #include <ctype.h>

    #include <string.h>

    int fun (char *str)

    { int i,j=0;

    for(i=0;str[i]!=′ \0′;i++)

    if(str[i]!=′ ′)str[j++]=str[i];

    str[j]= ′\0′;

    }

    main()

    {

    char str[81];

    int n;

    printf("Input a string : ");

    gets(str);

    puts(str);

    fun(str);

    printf("%s\n",str);

    }

    A.asdafaaz67

    B.asd af aa z67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用"留下"字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意j的下标变化、初值及最后加串结束符'\0'。

  • 第6题:

    下列程序运行的结果为:

    public class Example{

    String str=new String("good");

    char[] ch={'a','b','c'};

    public static void main(String args[]){

    Example ex=new Example();

    ex.change(ex.str,ex.ch);

    System.out.print(ex.str+" and ");

    Sytem.out.print(ex.ch);

    }

    public void change(String str,char ch[]){

    str="test ok";

    ch[0]='g';

    }

    }

    A. good and abc

    B. good and gbc

    C. test ok and abc

    D. test ok and gbc


    正确答案:B

  • 第7题:

    以下程序的输出结果是_[13]_______

    #include <stdio.h>

    #include <string.h>

    char *fun(char *t)

    { char *p=t;

    return(p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=fun(str);

    puts(str);

    }


    正确答案:

    efgh 

  • 第8题:

    下面()是不正确的字符串赋值或赋初值的方式。

    • A、char*str;str=“string”;
    • B、charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’};
    • C、charstr1[10];str1=“string”;
    • D、charstr1[]=“string”,str2[]=“12345678”;

    正确答案:C

  • 第9题:

    String str="abcdefghi"; char chr=str.charAt(9)。


    正确答案:错误

  • 第10题:

    单选题
    设有以下语句:  char str1[]= “string”,str2[8],*str3,*str4= “ string”;      则不能对库函数strcpy(复制字符串)的正确调用的是()
    A

    strepy(str1,“HELLO1”);

    B

    strepy(str2,“HELL02”);

    C

    strcpy(str3, “HELL03”)

    D

    strcpy(str4, “HELLO4”);


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

  • 第11题:

    判断题
    String str="abcdefghi"; char chr=str.charAt(9)。
    A

    B


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

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

    设有以下语句: char str1[]="string",str2[8],*str3,*str4=="string; 则______不是对库函数的正确调用。

    A.strcpy(str1,"HELLO1");

    B.strcpy(str2,"HELLO2");

    C.strcpy(str3,"HELLO3");

    D.strcpy(str4,"HELLO4")


    正确答案:C
    解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的中指针str3没有指向具体有效的存储单元,故是错误的调用。

  • 第14题:

    对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1,

    对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

  • 第15题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*0{ char *p--t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *0

    { char *p--t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:efgh
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第16题:

    下列( )语句是声明一个含有10个String对象的数组。

    A.char str [];

    B.char str [] [];

    C.String str[]=new String[10];

    D.String str[10];


    正确答案:C

  • 第17题:

    设有以下语句: char str1[]="string",str2[8],*str3,*str4="str4="string"; 则______不是对库函数的正确调用。

    A.strcpy(str1,"HELLO1");

    B.strcpy(str2."HELLO2");

    C.strcpy(str3."HELLO3");

    D.strcpy(str4."HELLO4");


    正确答案:C
    解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的字符串指针str3没有指向具体有效的存储单元,故是错误的调用。

  • 第18题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*t){ char *p=t;retur

    以下程序的输出结果是【 】。

    include <stdio.h>

    include <string.h>

    char *fun(char *t)

    { char *p=t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第19题:

    下列哪个语句是声明了一个含有10个string对象的数组()。

    • A、char str[];
    • B、char str[][];
    • C、string str[]=newstring[10];
    • D、string str[10];

    正确答案:C

  • 第20题:

    下面哪一项是不正确的字符串赋值或赋初值的方式()。

    • A、char*str;str=“string”;
    • B、charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’};
    • C、charstr1[10];str1=“string”;
    • D、charstr1[]=“string”,str2[]=“12345678”;

    正确答案:C

  • 第21题:

    Which expressions are correct to declare an array of 10 String objects? ()   

    • A、 char str[];
    • B、 char str[][];
    • C、 String str[];
    • D、 String str[10];

    正确答案:C

  • 第22题:

    单选题
    以下使指针指向一个字符串的选项错误的是(  )。
    A

    char str[]=string; char * ps; *ps= str;

    B

    char str[]=string; char *ps; ps= str;

    C

    char str[]=strinh,* ps=str;

    D

    char * ps; ps=str; ps=strinh;


    正确答案: C
    解析:
    A项中定义了指针ps后,*ps表示指针ps指向地址的内容,而不是地址,*ps=str无法将str的首地址赋给一个常量,语法错误。答案选择A选项。

  • 第23题:

    单选题
    Which expressions are correct to declare an array of 10 String objects? ()
    A

     char str[];

    B

     char str[][];

    C

     String str[];

    D

     String str[10];


    正确答案: A
    解析: 严格来说这个题目没有给出一个正确的答案,唯一比较正确的是c,而完全满足题目要求的应该是:String str[]=new String[10]; 注意答案d的形式是不对的,这和c++也是不同的。

  • 第24题:

    单选题
    若有定义语句:char str1[] = "string", str2[8], *str3, str4[10] = "string";库函数strcpy的功能是复制字符串,以下选项中错误的函数调用是(  )。
    A

    strcpy(str3, "HELLO!");

    B

    strcpy(str2, "HELLO!");

    C

    strcpy(str1, "HELLO!");

    D

    strcpy(str4, "HELLO!");


    正确答案: A
    解析:
    题目中字符指针str3,没有为指针开辟内存,不能作为函数参数。答案选择A选项。