参考答案和解析
B
更多“字符 '0' 是字符串的结束标记,其ASCII代码为0。”相关问题
  • 第1题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第2题:

    函数RData实现从文件in.dat中读取一篇英文文章存入到字符串数组original中,请编写函数StrCharMove,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组0riginal中,最后调用函数 WData,把结果0riginal输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分程序已经给出。 请勿改动主函数main、读数据函数RData和输出数据函数WData的内容。


    正确答案:
    【审题关键句】以行为单位把所有字符的ASCII值右移4位,后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符。
    【解题思路】
    ①首先定义循环变量i、i和表示字符串长度的整型变量strl。
    ②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于或大于maxline,在循环体中,首先用函数strlen(original[i])计算字符串original[i]的长度,把这个值赋给整型变量strl。在第二层fbr循环中,循环变量j从0开始,依次递增直到其值等于或大于strl,利用表达式0riginal[i][j]+=original[i][j]>>4实现对字符original[i][j]的ASCII码值右移4位后所得到值与原字符original[i][j]的ASCII码值相加,仍存入原字符串对应的位置上的功能。
    【参考答案】

  • 第3题:

    C语言中字符串的结束符是’\0’。 ( )

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


    正确答案:√

  • 第4题:

    关于字符串下列说法错误的是( )

    A、字符应该视为长度为1的字符串

    B、字符串以\0标志字符串的结束

    C、既可以用单引号,也可以用双引号创建字符串

    D、在三引号字符串中可以包含换行回车等特殊字符


    正确答案:B

  • 第5题:

    下列字符中,其ASCII码值最小的一个是______。

    A、空格字符

    B、0

    C、A

    D、a


    答案:(A)评析:空格的ASCII码值是32,0的ASCII码值是48,A的ASCII码值是65,a的ASCII码值是97,故A选项的ASCII码值最小。

  • 第6题:

    已知文法G:S->A0|B1,A->S1|1,B->S0|0,其中S是开始符号。从S出发可以推导出( )?

    A.所有由0构成的字符串
    B.所有由1构成的字符串
    C.某些0和1相等的字符串
    D.所有0和1个数不同的字符串

    答案:C
    解析:
    用文法表示语言的语法规则时,推导是产生语言句子的基本方式。以题目中的文法为例,有如下推导:
    1010:S=>A0=>S10=>A010=>1010 0110:S=>A0=>S10=>B110=>0110
    然而0000,1111,1100,0011则推导不出来。因为由S先推出A0以后再去推导A则必然产生一个与0相邻(在0左边)的1,而由S先推导出B1,则下一步必然要推导出一个与1相邻(在1左边)的0.这保证了当1出现的时候,马上就会出现0,或者反之。并且0和1的距离很近。分析更多类似的例子发现,只有C选项最合适。
    故正确答案为:C

  • 第7题:

    在C语言中,strcat(字符数组,字符串)连接前两个字符串都有结束标志’/0’,连接后“字符数组”中存储的字符串的结束标志’/0’被舍弃,只在目标串的最后保留一个’/0’。


    正确答案:正确

  • 第8题:

    下列选项中是C语言中的字符串的结束符是()。

    • A、‘/0’
    • B、‘/n’
    • C、‘/t’
    • D、‘/a’

    正确答案:A

  • 第9题:

    字符串结束符为()

    • A、/t
    • B、/n
    • C、/s
    • D、/0

    正确答案:D

  • 第10题:

    在C语言中,以()作为字符串结束标志

    • A、‟/n‟
    • B、‟‟
    • C、‟0‟
    • D、‟/0‟

    正确答案:D

  • 第11题:

    字符‘C’的ASCII码是()。字符’0’的ASCII码为()


    正确答案:43H;30H

  • 第12题:

    单选题
    空字符串是指()。
    A

    长度为0的字符串

    B

    只包含空格字符的字符串

    C

    长度为1的字符串

    D

    不定长的字符串


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

  • 第13题:

    若有定义:char*ps[]={“aa”,“bb”,“cc”,“dd”};,则以下叙述正确的是()。

    Aps[0]是字符串”aa”

    B*ps[0]是字符串”aa”的首地址

    Cps[0]是字符串”aa”的首地址

    D*ps[0]是字符串”aa”


    正确答案:C

  • 第14题:

    下列代码中要求打印字符串为“second”时,x的取值范围是( )。

    A.x<=0且x>-3

    B.x>0

    C.x>-3

    D.x<=-3


    正确答案:A
    本题考查Java中的条件结构。条件语句根据判定条件的真假来决定执行哪-种操作。题目所给程序,如果x>0,则直接执行其后的System.out.println(”first”)语句,而不执行elseif等语句,当x<=0且x>-3时执行System.out.println(”second”)语句,所以选项A正确。当X为其他值时执行else语句。应该对Java的流程控制涉及的语句有所掌握,这些都是考试重点内容。

  • 第15题:

    关于python中的字符串,下列说法错误的是( )

    A、字符应该视为长度为1的字符串

    B、字符串以\0为结束标识

    C、既可以用单引号,也可以用双引号创建字符串

    D、在三引号字符串中可以包含换行回车等特殊字符


    正确答案:B

  • 第16题:

    阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对

    应栏内。

    【说明】

    函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字

    符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设

    置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,

    则函数运行后该字符串为“abse”。

    【c代码】

    void removeDuplicates (char *str)

    int i,len = strlen (str); /*求字符串长度*/

    If( (l) )return;/*空串或长度为1的字符串无需处理*l

    for(i=0;i<len;i++) {

    Int flag =O; /*字符是否重复标志*/

    int m:

    for(m =( 2 ); m<len; m++){

    if(str[i]==str[m] ) {

    __(3)_;break;

    }

    }

    if (flag){

    Int n,idx = m;

    /*字符串第idx字符之后、与str [i]不同的字符向前移*/

    For( n=idx+l; n<len. n++)

    if ( str[n]!= str[i]) {

    str[idx]= str[n]; (4);

    }

    Str[(5)]=\0; /* 设置字符串结束标志*/

    }

    }

    }


    正确答案:
    本题考查C语言基本应用。题目要求在阅读理解代码说明的前提下完善代码。字符串的运算处理是c程序中常见的基本应用。根据注释,空(1)处应填入的内容很明确,为“len=1”或其等价表示。要消除字符串中的重复字符,需要扫描字符串,这通过下面的代码来实现:For(i=0;ilen;i++){intflag=Oj;/*字符是否重复标志*/intm:for(m=(2);m<len;m++)(if(str[i]==str[m]{(3),break;}*}......上面代码中.循环变量i用于顺序地记下字符串中每个不同字符首次出现的位置,那么后面的处理就是从i的下一个位置开始,考查后面的字符中有没有与它相同的(str[i]=sir[m]),因此空(2)应填入“i+l”或其等价表示。显然,当发现了重复字符时,应设置标志,空(3)处应填入“flag=l”或者给flag赋值为任何一个不是0的值。根据说明,发现与str[i]相同的第一个字符str[m]后,需要将其后所有与str[i]不同的字符前移,以覆盖重复字符str[m],对应的代码如下;if(flag){intn,idx=m;/*将字符串第idx字符之后、与str[1]不同的字符向前移*/for(n=idx+l,n<len.n++)if(str[n]!=str[i]}{str[idx]=str[n];(4)}Str[(5)]=’\0’;/*设置字符串结束标志*/}初始时,idx等于m,使str[n]覆盖str[idx]后,需要将idx自增,以便将后面与str[i]不同的字符继续前移,因此空(4)处应填入“idx++”或等价表示。由于后面字符前移了,所以字符串结束标志也需重新设置,空(5)处应填入“idx”。试题二参考答案(1)len2或len=l或等价表示(2)i+1或等价表示(3)flag=l或给flag赋值为任何一个不是O的值(4)idx++或idx=idx+l或等价表示(5)idx或等价表示

  • 第17题:

    阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    函数removeDuplicates(chai *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为"aaabbbbscbsss",则函数运行后该字符串为"absc"。

    [C代码] voidremoveDuplicates(char *str) { inti,len=strlen(str); /*求字符串长度*/ if(______)return; /*空串或长度为1的字符串无需处理*/ for(i=0;i<len;i++){ int flag=0; /*字符是否重复标志*/ int m; for(m=______; m<len;m++){ if(Str[i]==str[m]){ ______; break; } } if (flag) { int n,idx=m; /*将字符串第idx字符之后、与str[i]不同的字符向前移*/ for(n=idx+1; n<len; n++) if(Str[n]!=str[i]){ str[idx]=str[n];______; } str[______]='\0'; /*设置字符串结束标志*/ } } }


    答案:
    解析:
    len<2 或len<=1 或等价表示
    i+1 或等价表示
    flag=1 或给flag赋值为任何一个不是0的值
    idx++ 或idx=idx+1 或等价表示
    idx 或等价表示

  • 第18题:

    strcpy(字符数组,字符串)进行复制时,连同结束标志’/0’一起复制。


    正确答案:正确

  • 第19题:

    下面关于gets()与puts()函数描述正确的项是()

    • A、gets()读取的字符串,其长度没有限制,以敲回车键结束。
    • B、gets()输入字符串时要保证字符数组有足够大的空间,存放输入的字符串。
    • C、puts()函数一次只能输出一个字符串
    • D、puts()函数是把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘/n’取代字符串的结束标志‘/0’。

    正确答案:A,B,C,D

  • 第20题:

    RG100S普通用户名/密码:user / 随机的8位小写ASCII字符串(0-9,a-z)


    正确答案:正确

  • 第21题:

    字符串的末尾有一个结束标志,这个结束标志是()

    • A、/n
    • B、/t
    • C、/a
    • D、/0

    正确答案:D

  • 第22题:

    空字符串是指()。

    • A、长度为0的字符串
    • B、只包含空格字符的字符串
    • C、长度为1的字符串
    • D、不定长的字符串

    正确答案:A

  • 第23题:

    单选题
    在C语言中,以()作为字符串结束标志
    A

    ‟/n‟

    B

    ‟‟

    C

    ‟0‟

    D

    ‟/0‟


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

  • 第24题:

    判断题
    在C语言中,strcat(字符数组,字符串)连接前两个字符串都有结束标志’/0’,连接后“字符数组”中存储的字符串的结束标志’/0’被舍弃,只在目标串的最后保留一个’/0’。
    A

    B


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