单选题以下不能将键盘输入的字符串:This is a string<回车>读入到str中的程序段是(  )。

题目
单选题
以下不能将键盘输入的字符串:This is a string<回车>读入到str中的程序段是(  )。

相似考题
更多“以下不能将键盘输入的字符串:This is a string<回车>读入到str中的程序段是(  )。”相关问题
  • 第1题:

    函数调用strcat(strcpy(str1,str2) ,str3) 的功能是( )。

    A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

    C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后

    D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中


    正确答案:C
    解析:strcat(s1,s2) 是把s2字符串连接到s1字符串末尾,strcpy(s1,s2)是把s2字符串复制给s1字符串,要保证s1能容纳下连接或复制后的字符串。

  • 第2题:

    请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。

    例如,输入“abcdef”,输出“bdf”。

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

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio.h>

    define N 80

    void fun(char s[],int n)

    {

    int i, j;

    j=0;

    for(i=0;【 】;i++)

    {

    if(【 】)

    s [j++]-s [i];

    }

    【 】;

    }

    main ( )

    {

    int i=0, strlen=0;

    char str [N];

    clrscr ();

    printf ("\nInput a string: \n");

    gets (str);

    while (str [i] !='\0')

    {

    strlen++;

    i++;

    }

    fun(str, strlen);

    printf("\n*** display string ***\n");

    puts (str);

    }


    正确答案:in s[i]%2=0 s[j]= '\0'
    in s[i]%2=0 s[j]= '\0' 解析:第一空:变量n为字符串的长度,所以字符数组的下标的取值范甲是从0到n-1。第二空:如果当前字符的ASCII码对2取余等于0,就说明这个字符的ASCII码为偶数,故不能删除,而是将它存于字符串s中。第三空:通过保留ASCII码为偶数的字符的力法,来实现删除ASCII码为奇数的字符的目的。处理结束后,还要在字符串s的最后加上结束标记符'\0'。

  • 第3题:

    请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则 str2=“cegi”。

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

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio.h>

    include<conio.h>

    define LEN 80

    main()

    {

    char str1[LEN],str2 [LEN];

    char *p1=str1,*p2=str2;

    int i=0,j=0;

    clrscr();

    printf("Enter the string:\n");

    scanf(【 】);

    printf("***the origial string***\n");

    while(*(p1+j))

    {

    printf("【 】",*(p1+j));

    j++;

    }

    for(i=0;i<j;i+=2)

    *p2++=*(str1+i);

    *p2='\0';

    printf("\nThe new string is:%s\n", 【 】 );

    }


    正确答案:"%s"str1 %c str2
    "%s",str1 %c str2 解析:第一空:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为“%s”,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。第二空:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为“%c”。第三空:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以ptintf()函数的输出表列是str2。

  • 第4题:

    以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<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 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。

    A.abed

    B.abba

    C.abc

    D.abca


    正确答案:B

  • 第5题:

    请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。

    例如,输入“abcdef”,输出“ace”。

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

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    inc lude< stdio, h>

    define N 80

    【 】

    {

    int i, j;

    【 】

    for (i=0;i<n;i++)

    {

    if (s [i] %2!=0)

    s [j++]=s [i];

    }

    【 】;

    }

    main ( )

    {

    int i=0, strlen=0;

    char str[N];

    clrscr ();

    printf ("\nInput a string:\n");

    gets (str);

    while (str [i] !=' \0' )

    {

    strlen++;

    i++;

    }

    fun (str, strlen);

    printf("\n*** display string ***\n");

    puts (str);

    }


    正确答案:void fun(char s[]int n) j=0 s[j]='\0'
    void fun(char s[],int n) j=0 s[j]='\0' 解析:第一空:由主函数main()调用fun()函数的格式可以知道,fun()函数没有返回值,第二个参数是字符数组,第二个参数是整型变量。第二空:变量j声明时没有初始化,所以在使用j之前要将它初始化为0。第三空:当把所有ASCⅡ码为偶数的字符都存入字符串s中后,要在最后加上‘\0’,表示字符串的结束。

  • 第6题:

    下列给定程序中,函数proc的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<string.h> include<stdlib.h> include<conio.h> include<stdio.h> //****found**** int proc(char str[]) { char c; unsigned i,j; for(i=0;i<strlen(str)-1;i++) for(j=i+1;j<strlen(str);j++) if(str[i]>str[j]) { c=str[j]: //****found**** str[j]=str[i++]; str[i]=c; } } void main { char str[81]; system("CLS"); printf("\nPlease enter a character string:"); gets(str); printf("\n\nBefore sorting:\n%s",str); proc(str); printf("\nAfter sorting decendingly:\n %s",str); }


    正确答案:

    (1)错误:int proc(char str[])
    正确:void proc(char、tr[])
    (2)错误:str[j]=str[++];
    正确:str[j]=str[i];
    【解析】由主函数中的函数调用可知,函数proc没有返回值。因此,“int proc char str[])”应改为“void proc (char str[])”;由函数proc可知,if语句块完成将字符串str中的第i个元素与第j个元素相交换。因此,“str[j]=str [i++];”应改为“str[j]=str[i];”。

  • 第7题:

    函数调用“streat(strcpy(str1,str2),str3)”的功能是 ______。

    A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B.将字符串str1连接到字符串str2中后再复制到字符串str3之后

    C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后

    D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中


    正确答案:C

  • 第8题:

    C#中,新建一字符串变量str,并将字符串"Tom’sLivingRoom"保存到串中,则应该使用下列哪条语句()。

    • A、string  str="Tom/’s  Living  Room";
    • B、string  str="Tom’s  Living  Room";
    • C、string  str("Tom’s  Living  Room");
    • D、string  str("Tom"s  Living  Room");

    正确答案:A

  • 第9题:

    要声明一个长度为256个字符的定长字符串变量str,下列语句正确的是()

    • A、dim str as string
    • B、dim str as string(256)
    • C、dim str as string[256]
    • D、dim str as string*256

    正确答案:D

  • 第10题:

    单选题
    Visual Basic.NET中,字符串处理函数中返回Str字符串的长度的是()。
    A

    Mid(Str,Start,Lengh)

    B

    Len(Str)

    C

    Instr(Star,String1,String2,Compare)

    D

    Ltrim(Str)


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

  • 第11题:

    单选题
    设有定义:char *c;以下选项中能够使字符型指针c正确指向一个字符串的是(  )。
    A

    char str[]=string;c=str;

    B

    scanf(%s,c);

    C

    c=getchar();

    D

    *c=string;


    正确答案: C
    解析:
    B,C选项均为输入函数,其表达意思为输入字符串c。B项中scanf()函数是将c定义为一个字符数组的数组名;C项中是将c定义为一个字符型变量;D项中是需要在指针定义时为它赋值,因此是不合法的,所以BCD三项都不正确。A项定义字符数组str,再将字符数组str的首地址赋给字符型指针c,正确。所以答案选择A选项。

  • 第12题:

    单选题
    若有定义语句: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选项。

  • 第13题:

    strcmp函数的功能是【9】 。

    正确答案: 1.(字符串的比较)

    (10)以下程序段中,错误的行号是【10】 。

    ① #include

    ② main ()

    ③ { char str [14];str []={" I love China"};

    ④printf ("%s",str);

    ⑤ }


    正确答案:
    3行

  • 第14题:

    假定输人的字符串中只包含字母和*号。请编写函数proc,它的功能是:将字符串中 的前导*号全部删除,中间和后面的*号不删除。 例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则 应当是a*bc*def*g****。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编 写的若干语句。 试题程序: include<stdio.h> include<conio.h> void proc(char*str) { } void main { char str[81]; printf("Enter a string:kn"); gets(str); proc(str); printf("The string after deleted:kn"); puts(str);}


    正确答案:
    void proc(char * str)
    {
    char*p=str;
    while(* p= =*)p++;//通过p的移动来达到使p指向第一个不是*号的字符
    for(;* p!=\0;p++,str++)//把从第一个不是*号的字符放到a中
    * str=* P:
    * str=\0;//最后用\0作为字符串结束标志
    }
    【解析】题目中要求将字符串中的前导*号全部删除,首先将指针P移动到第一个不是*的字符,将指针P之后的字符放入原来的字符串中,并为新的字符串添加结束符。

  • 第15题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址

    #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对字符串进行复制*/

    strcpy(string,scmp(string,str[2]));

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

    }

    若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:当第一次执行strcpy()函数时,把输入的前两个串中的较小者复制到string中,第二次调用strcpy()函数时,则是把前两者中的较小者与第三个串进行比较返回较小者,并复制到string中,故string存放了3个输入串中的最小者。

  • 第16题:

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

    include <string.h>

    move(char *str, int n)

    { char temp; int i;

    temp=str[n-1];

    for(i=n-1;i>0;i--) str[i]=str[i-1];

    str[0]=temp;

    }

    main( )

    { char s[50]; int n, i, z;

    scanf("%d,%s",&n,s);

    z=strlen(s);

    for(i=1; i<=n; i++) move(s, z);

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

    }


    正确答案:cdeab
    cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第17题:

    请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。

    例如,输入“abcdefghijk”,输出“bfh”。

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

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include <stdio.h>

    define N 80

    void fun(char s[], int n)

    {

    int i, k;

    【 】;

    for(i=0; i<n; i++)

    {

    s[k++]=s[i];

    if(【 】)

    k--;

    }

    【 】;

    }

    main()

    {

    int i=0,strlen=0;

    char str[N];

    clrscr();

    printf("\nInput a string:\n");

    gets(str);

    while(str[i]!='\0')

    {

    strlen++;

    i++;

    }

    fun(str,strlen);

    printf('\n*** display string ***\n");

    puts(str);

    }


    正确答案:k=0 (i%2==0)||(i%3==0 s[k]='\0'
    k=0 (i%2==0)||(i%3==0 s[k]='\0' 解析:第一空;变量k声明时没有初始化,所以在使用前要对它初始化。因为k用作字符数组的下标,所以初始化为 0。第二空:如果当前字符的下标能被2或3整除,则不保存这个字符。第三空:将所有字符下标能被2或3整除的字符从字符串中删除后,在字符串的最后还要加上结束标记符'\0'。

  • 第18题:

    有以下程序段:

    以下选项中不能正确引用字符串的是( )。

    A.3

    B.p[3]

    C.str[2]

    D.*P


    正确答案:A
    tp[3]一p[3][0]是一个字符,不是字符串,选项A错误。P[3]和str[2]和+P分别代表了ddd,eec,flaa。答案为A选项。

  • 第19题:

    假如有字符串str1和字符串str2,下列选项不能利用于比较这两个字符串是否相等的是()。

    • A、string.Compare(str1,str2)
    • B、str1= =str2
    • C、string.Equals(str1,str2)
    • D、string.CompareTo(str1,str2)

    正确答案:D

  • 第20题:

    函数调用strcat(strcpy(str1,str2),str3)的功能是()

    • A、将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
    • B、将字符串str1复制到字符串str2中后再连接到字符串str3之后
    • C、将字符串str1复制到字符串str2中后再复制到字符串str3之后
    • D、将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中

    正确答案:A

  • 第21题:

    单选题
    以下使指针指向一个字符串的选项错误的是(  )。
    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选项。

  • 第22题:

    单选题
    函数streat(strcpy(str1,str2),str3)的功能是()
    A

    将字符串strl复制到字符串str2中,再连接到str3之后

    B

    将字符串strl连接到str2之后,再复制到字符串str3之后

    C

    将字符串str2复制到字符串strl中,再将字符串str3连接到strl之后

    D

    将字符串str2连接到strl之后,再将字符串strl复制到str3中


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

  • 第23题:

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