将两个字符串连接起来组成一个字符串时,选用的函数是()。
A.strlen
B.strcap
C.strcat
D.strcmp
A.strlen
B.strcap
C.strcat
D.strcmp
下列给定程序中,函数fun()的功能是:将m(1≤m≤10)个字符串反着连接起来,组成一个新串,放入pt所指字符串中,例如:把3个串DEG,ac,df反着串联起来,结果是dfacDEG。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或者删行,也不得改变程序的结构!
试题程序:
include <conio.h>
include <string.h>
include <stdio.h>
void fun(char str[][10],int m,char *pt)
{
int k,q,i,j=0;
/*************found*************/
for(k=m;k>0;k--)
{
q=strlen(str[k]);
j+=q;
for(i=0;i<q;i++)
pt[i]=str[k][i];
pt+=q;
pt[0]=0;
}
/*************found**************/
pt=j;
}
main()
{int m,h;
char s[10][10],p[120];
clrscr();
printf("\nPlease enter m:");
scanf("%d",& m);
printf("\nPlease enter%d string:\n",m);
gets(s[0]);
for(h=0;h<m;h++)
gets(s[h]);
fun(S,m,p);
printf("/nThe result iS:%s\n",p);
}
请编写一个函数fun(),它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较K的字符串。若两个字符串长度相等,则返回第1个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
char *fun(char *s, char *t)
{
}
main()
{
char a[20],b[10],*p,*q;
int i;
printf ("Input 1th string: ");
gets(a);
printf{"Input 2th string: ");
gets(b);
printf("%s",fun(a,b));
}
在窗体上画一个文本框Text1、一个标签Label1和一个命令按钮Command1,然后编写如下两个事件过程: Private Sub Command1_Click() a=InputBox("请输入一个字符串") Text1.Text=a End Sub Private Sub Textl_Change() Label1.Caption=UCase(Mid(Text1.Text,8)) End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“Visual Basic”,则在标签中显示的内容是
A.visual basic
B.VISUAL BASIC
C.basic
D.BASIC
读下列程序说明和C程序,将应填入(n)处。
【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
include<stdio.h>
void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中
{
char t,*w;
w=c;
while((1))
{//找到字符串a,b当前字符中较小的字符
if(*a< *b)
{
t= *a;
(2);
{
else if (*a>*b)
{
t= *b;
(3);
}
else //字符串a,b当前字符相等
{
t= *a;
a++;
b++;
}
if((4)) //开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值(5);
}
if(*a!=\'\0') //如果字符串a还没有结束,则将a的剩余部分赋给C
while(*a!='\0')
if(*a!=*w)
{
*(w)=*a;
a++;
}
else
(6);
if(*6!='\0') //如果字符串b还没有结束,则将b的剩余部分赋给c
while(*b!='\0')
if(*b! = *w)
{
*(w)=*b;
b++;
}
else
b++;
(7);
}
void strsort(char*s) //将字符串S中的字符排序
{
int i,j,n;
char t,*w;
W=S;
for(n=0;*w!='\0';n++) //得到字符串长度n
w++;
for(i=0;i<n-1;i++) //对字符串s进行排序,按字母先后顺序
for(j=i+1;j<n;j++)
if((8))
{
t=s[i];
s[i]=s[j];
(9);
}
}
void main()
{
char s1[100],s2[100],s3[100];
printf("\nPlease,input the first string:");
scanf("%s",s1);
printf("\nPlease input the second string:");
scanf("%s",s2);
strsort(s1); //将字符串s1排序
strsort(s2); //将字符串s2排序
printf("%s\n",s1);
printf("%s\n",s2);
s3[0]='\0'; //字符串s3的第一个字符先置'\0'结束标志
(10) //将s1和s2合并,按照字母顺序排列,
//且要删去相同字符,存入s3中
printf("%s",s3);
}
【题目描述】
表达式VAL(SUBSTR(”i5处理器”,2,1))^Len(”MS Visual FoxPro”)的结果是()。
A. 5.00
B. 16.00
C. 21.00
D. 80.00
【我提交的答案】: C |
【参考答案与解析】: 正确答案:D |
SUBSTR:在一个字符串中从指定位置起返回给定长度的子串。
VAL:将字符型的数字转换成数值。LEN:返回一个字符串的长度。
注意:在Visual FoxPro中一个汉字占两个字符的宽度。所以SUBSTR(”i5处理器”,2,1)的返回值是“5”,VAL(”5”)=5,Len(”MS Visual FoxPro”)=16,5×16=80。
请用通俗的话解释一下
A.比较两个字符串的大小
B.计算s所指字符串占用内存字节个数
C.计算s所指字符串的长度
D.将s所指字符串复制到字符串t中
A、将p1所指字符串复制到p2所指内存空间中
B、将p1 所指字符串的地址赋给指针 p2
C、对p1和p2两个指针所指字符串进行比较
D、检查p1和p2两个指针所指字符串中是否有‘\0’