VFP数据库

substr(“123456789”,len(“fox”),len(“pro”))的计算结果是()。A、123B、345C、567D、789

题目

substr(“123456789”,len(“fox”),len(“pro”))的计算结果是()。

  • A、123
  • B、345
  • C、567
  • D、789
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

LEFF("123456789",LEN("数据库"))的计算结果是()。


参考答案:123456

第2题:

编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。

函数ReadWrite()实现从文件in.dat中读取两个字符串并调用函数findStr(),最后把结果输出到文件out.dat中。

注意:部分程序已经给出。

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

include <stdio.h>

include <string.h>

include <conio.h>

int findStr(char *str,char *substr)

{

}

main()

{

char str[81],substr[3];

int n;

clrscr();

printf("输入原字符串");

gets(str) ;

printf("输入子字符串:");

gets(substr);

puts(str);

puts(substr);

n=findStr(str, substr);

printf("n=%d\n", n);

ReadWrite();

}

ReadWrite()

{

char str[81],substr[3],ch;

int n, len,i=0;

FILE *rf, *wf;

rf=fopen("in.dat", "r");

wf=fopen("out.dat", "w");

while(i<25)

{

fgets(str, 80, rf);

fgets(substr, 10, rf);

len=strlen(substr)-1;

ch=substr[len];

if(ch=='\n' || ch==0xla)substr[len]=0;

n=findStr(str, substr);

fprintf(wf, "%dkn", n);

i++;

}

fclose(rf);

fclose(wf);

}


正确答案:int findStr(char *strchar *substr) { int n; char *p *r; n=0; while( *str ) { p=str; r=substr; while(*r) if(*r==*p) { r++; p++; } else break; if(*r=='\O') n++; str++; } return n; }
int findStr(char *str,char *substr) { int n; char *p , *r; n=0; while( *str ) { p=str; r=substr; while(*r) if(*r==*p) { r++; p++; } else break; if(*r=='\O') n++; str++; } return n; } 解析:该程序属于按条件查找类型的题目,考核的知识点为:
(1)在给定的字符串中查找指定字符;
(2)统计查找后满足条件的个数。
本题的解题思路是:对原字符串中的字符进行扫描,若原字符串中含有子字符串,即原字符串的其中一部分与子字符串完全相同时,统计出个数。判断原字符串是否含有子字符串,可以将原字符串中的元素逐个与子字符串相比较,当两字符串中各个元素都相同且子字符串结束时,则证明原字符串包含一个子字符串。在统计个数的时候需要设置一个记录变量,每当原字符串包含子字符串一次的时候,该记录变量自动加1。
程序的流程是:首先通过键盘接收两个字符串,其中一个作为原字符串,另一个作为子字符串,然后调用findStr()函数对两字符串进行比较,处理后的结果由ReadWrite()函数写回文件out.dat中。
答案解析如下:
int findStr(char *str,char *substr)
{
int n;/*定义变量,n代表子符串出现次数*/
char p,r;/*定义指针变量*/
n=0;
while(str)
/*当原字符串不为空,即*str不为空时进入到外层while,此时循环中原字符串指针str和子字符串指针substr都指向其字符串内的第一个元素*/
{
p=str;/*将字符串的指针str赋给p*/
r=substr;/*将字符串的指针substr赋给r*/
while(*r)/*当子字符串也不为空时,即*r不空时进入内嵌的while循环*/
if(*r==*p)/*将原字符串与子字符串逐个元素进行比较看是否相等*/
{
r++;
p++;
}
/*将原字符串与子字符串分别后移一个字符*/
else
break;/*否则结束循环*/
if(*r=='\0')/*结束while循环的情况有两种:(1)比较完毕,即原字符串中包含该子字符串,此时子字符串的指针指向串尾(为“\0”);(2)未比较完毕,此时子字符串的指针不指向串尾。if语句的功能是通过判断子字符串的指针是否指向串尾进而来判断内层while循环结束的原因*/
n++;/*出现的次数加1*/
str++;/*牟字符串指针也指向下一个字符*/
}
return n;/*返回出现的次数*/
}

第3题:

函数SUBSTR(“ABCDEFGHIJ”,LEN(“1234”),4)返回的值是______。

A.“DEFG”

B.“ABCD”

C.“EFGH”

D.“GHIJ”


正确答案:A
解析:在本函数中,从字符串“ABCDEFGHIJ”中截取子串的起始位置由函数LEN()的值确定。函数LEN(“1234”)的作用是测试字符串“1234”中包含字符的个数,其返回值是4。由此可知,所给函数SUBSTR()是要在字符串“ABCDEFGHIJ”中从第4个字符位置开始截取出4个字符。最后截取出的子串是“DEFG”。

第4题:

下列程序的运行结果是【 】。

x="计算机等级考试"

Y=""

L=LEN(X)

DO WHILE L>=1

Y=Y+SUBSTR(X,L-1,2)

L=L-2

ENDDO

?Y


正确答案:试考级等机算计
试考级等机算计 解析:该程序中关键的语句是Y=Y+SUB- STR(X,L-1,2),其中函数SUBSTR的作用是每次循环时,从字符串X中提取一个汉字,每次取出的结果连到字符串Y之后,由于取㈩的顺序是从右到左,因此该语句的功能是将原字符串反序显示。

第5题:

执行下列命令后,输出的结果是 ______。 X=“ABCD” Y=“EFG” ?SUBSTR(X,IIF(X<>Y,LES(Y),LEN(X)),LEN(X)-LEN(Y))

A.A

B.B

C.C

D.D


正确答案:C
解析:函数SUBSTR()中的两个函数表达式的运算如下;
  IIF(X>Y,LEN(Y),LENn(X))→IIF(X>Y,3,4)→3
  LEN(X)-LEN(Y)→4-3→1
  于是,函数“SUBSTR(X,IIF(X>Y,LEN(Y),LEN(X)),LEN(X)-LEN(Y))”的运算变为SUBSTR (X,3,1)。其运算目的是:在变量X的字符串中的第3个字符位置上取出1个字符。命令?的输出结果是字符“C”。

第6题:

表达式VAL(SUBSTR(”i5处理器”,2,1))^Len(”MS Visual FoxPro”)的结果是( )。

A.5.00

B.16.00

C.21.00

D.80.00


正确答案:D
SUBSTR:在一个字符串中从指定位置起返回给定长度的子串。VAL:将字符型的数字转换成数值。LEN:返回一个字符串的长度。注意:在VisualFoxPro中一个汉字占两个字符的宽度。所以SUBSTR(”i5处理器”,2,1)的返回值是“5”,VAL(”5”)=5,Len(”MSVisualFoxPro”)=16,5×16=80。

第7题:

执行下列命令HZ=“中华人民共和国”?SUBSTR(HZ,LEN(HZ)/2-2,4)输出的结果是______。

A.中华

B.人民

C.共和

D.和国


正确答案:B

第8题:

( 10 )执行下列程序,显示的结果是 【 10 】 。

one= "WORK"

two = ""

a = LEN ( one )

i = a

DO WHILE i>=1

two = two + SUBSTR ( one ,i , 1 )

i=i - 1

ENDDO

? two


正确答案:

第9题:

下列各字符函数中,函数返回值不是数值型的是

A.LEN("2003/04/15")

B.OCCURS("电脑","计算机俗称电脑")

C.AT("Fox","Visual FoxPro")

D.LIKE("a *”,"abcd")


正确答案:D
解析:字符函数中,LEN()函数测试字符串长度;OCCURS()函数计算子串出现次数;AT()函数求子串位置,其返回值均为数值型数据;LIKE()函数比较两个字符串是否匹配,返回的是逻辑型数据。

第10题:

表达式VAL(SUBSTR(”i5处理器”,2,1))^Len(”MS Visual FoxPro”)的结果是( )。

A. 5.00

B. 16.00

C. 21.00

D. 80.00


正确答案:D
SUBSTR:在一个字符串中从指定位置起返回给定长度的子串。
VAL:将字符型的数字转换成数值。LEN:返回一个字符串的长度。
注意:在Visual FoxPro中一个汉字占两个字符的宽度。所以SUBSTR(”i5处理器”,2,1)的返回值是“5”,VAL(”5”)=5,Len(”MS Visual FoxPro”)=16,5×16=80。