若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nan

题目
单选题
若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
A

 “ijing”

B

 “jing&”

C

 “ingNa”

D

 “ing&N”

参考答案和解析
正确答案: D
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。

#include <stdio.h>

main ()

{ int i; char? s[21],*p;

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

s[i]=getchar ();

s[i]=【6】;

p =【7】

while (*p)putchar? (【8】);

}


正确答案:
'\0';s;*p++

第2题:

从字符串S中的第2个字符开始获得4个字符的子字符串函数是( )。

A.Mid $(s,2,4)

B.Left $(s,2,4)

C.Rigth(s,4)

D.Left $(s,4)


正确答案:A
解析: 本题考查的是3个截取字串函数。Mid(字符串表达式>,N1>[,N2]):从字符串左边第N1个字符起截取N2个字符。Left(字符串表达式>,N>):从字符串左边起截取N个字符。Right:(字符串表达式>,N>):从字符串右边起截取N个字符。本题从字符串s中的第2个字符开始获得4个字符,故为Mid $(s,2,4)。

第3题:

试题四(共 15分)

阅读以下说明和C函数,将解答填入答题纸的对应栏内。

【说明】

函数del_substr(S,T)的功能是从头至尾扫描字符串 S, 删除其中与字符串T相同的所有子串,其处理过程为:首先从串 S 的第一个字符开始查找子串 T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型 SString

定义如下:

typedef struct {

char *ch; /*串空间的首地址*/

int length; /*串长*/

}SString;

【C函数】

void del_substr(SString *S, SString T)

{

int i, j;

if ( S->length < 1 || T.length < 1 || S->length < T.length )

return;

i = 0; /* i为串S中字符的下标 */

for ( ; ; ) {

j = 0; /* j为串T中字符的下标 */

while ( i < S->length && j < T.length ) { /* 在串S中查找与T相同的子串 */

if ( S->ch[i]==T.ch[j] ) {

i++; j++;

}

else {

i = (1) ; j = 0; /* i值回退,为继续查找T做准备 */

}

}

if ( (2) ) { /* 在S中找到与T相同的子串 */

i = (3) ; /* 计算S中子串T的起始下标 */

for(k = i+T.length; k<S->length; k++) /* 通过覆盖子串T进行删除 */

S->ch[ (4) ] = S->ch[k];

S->length = (5) ; /* 更新S的长度 */

}

else break; /* 串S中不存在子串T*/

}

}


正确答案:
试题四参考答案

(1)i-j+1,或其等价形式             (3分)
若考生解答为i-j,则给1分

(2)j==T.length,或j>=T.length,或其等价形式     (3分)

(3)i-j              (3分)

(4)k -T.length,或k-j,或其等价形式       (3分)

(5)S->length-T.length,或S->length-j       (3分)

第4题:

下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。

请改正函数fun()中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <stdio.h>

define SIZE 20

fun (double *s, double *w)

{ int k, i; double sum;

for(k=2, i=0; i<SIZE; i++)

{s [i]=k; k+=2;}

sum=0.0;

for(k=0, i=0; i<SIZE;i++)

{sum+=s[i];

/*************found**************/

if(i+1%5==0)

{w[k]=sum/5; Sum=0; k++;}

}

return k;

}

main()

{ double a[SIZE],b[SIZE/5];

int i, k;

k=fun(a/b);

printf ("The original data:\n");

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

{

if(i%5==0)printf("\n");

printf("%4.0f"/a[i]);

}

printf{"\n\nThe result:\n");

for(i=0; i<k; i++) printf("%6.2f",b[i]);

printf("\n\n");

}


正确答案:错误:if(i+1%5==0) 正确:if((i+1)%5==0)
错误:if(i+1%5==0) 正确:if((i+1)%5==0) 解析:本题除了考查循环语句以外,其实就是一道简单的数学题,循环条件if(i+1%5==0)是一个标准的语法错误,这跟题目考查的知识点毫无关系,也就是说,做这样的题,只要读懂了题干意思,问题便可迎刃而解。

第5题:

用于获得字符串S从第3个字符开始的2个字符的函数是( )。

A)Mid(S,3,2)

B)Middle(S,3,2)

C)Left(S,3,2)

D)Right(S,3,2)


正确答案:A
本题考查取子串函数的知识。在VBA中有三种取子串函数;Left函数用于在字符串左端开始取n个字符;Right函数用于在字符串右端开始取n个字符(注意子串中字符的顺序与母串中相同);Mid函数可以实现在任何位置取任何长度的子串。截取第3个字符开始的2个字符应该用Mi.d(S,3,2)。

第6题:

下面程序的功能是将一个字符串str的内容颠倒过来,请填空。includemain(){ infi,j, [13]

下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

include<string.h>

main()

{ infi,j, [13] ;char str[]={"1234567"};

for(i=0,j=strlen(str) [14] ;i<j;i++,j--)

{k=str[i];str[i]=str[i];str[j]=k;}

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


正确答案:

颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的元素 str[i]和str[j]。开始时,i的值为0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是str[i]位于str[j]的前面,即ij字符串末元素的下标是它的长度减1,所以在第二个空框处应填入-1。程序为了交换str[i]和str[j],使用了变量k,该变量应在程序的变量定义部分中—起定义,所以在第—个空

第7题:

[说明1]

函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为'3'、'2'、'1'。

[C函数1]

void convert(char *a,int n)

{ int i;

if((i=n/10)!=0; convert( (1) ,i);

*a= (2) ;

}

[说明2]

函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。

[C函数2]

int index(char *s,char *t)

{ int i,j=0;k=0;

for(i=0;s[i]!:'\0';i++)

( for( (3) ;(t[k]!='\0')&&(s[j]!='\0')&&( (4) );j++,k++);

if( (5) ) return(i);

}

return(-1);

}


正确答案:(1) A+1 (2) n%10+'\0' (3) j=ik=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k]
(1) A+1 (2) n%10+'\0' (3) j=i,k=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k] 解析:函数1采用递归方法将一个正整数n按逆序存放到一个字符数组a中,递归调用为convert(a+1,i),所以(1)“a+1”。按逆序输出字符保存在数组a中为*a=n%10+'\0',即(2)填“n%10+'\0'”。
函数2检查字符串s中是否含有字符串t是在for循环中实现的。空(3)应填“j=i,k=0”。如果两个字符串中含有相同的字符,则字符串s和字符串t都指向下一个字符,循环继续,直到字符串t结束。所以空(4)应填“t[k]=s[j]”,空(5)应填“t[k]='\0'”或“!t[k]”。

第8题:

( 28 )从字符串 s 中的第 2 个开始获得 4 个字符的子字符传函数是

A Mid$(s,2,4)

B Left$(s,2,4)

C Rigth$(s,4)

D Left$(s,4)


正确答案:A

第9题:

设SUBSTR(S,i,k)是求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=’Beijing&Tianjin’,SUBSTR(S,4,5)=()。

A、‘ijing’

B、‘jing&’

C、‘ingTi’

D、‘ing&T’


参考答案:B

第10题:

设串s="I am a teacher.’,则s的第8个字符起、长度为7的子串为()。

A."teacher."

B."teacher"

C."a teacher"

D."teacher"


参考答案:B

更多相关问题