二级C语言教程章节测试10.字符串
文章作者 100test 发表时间 2007:05:13 22:44:15
来源 100Test.Com百考试题网
计算机等级考试训练软件《百宝箱》
一、选择题
(1)若有语句:char *line[5].,以下叙述中正确的是
A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量
B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
C)定义line是一个指针数组,语句中的*号称为间址运算符
D)定义line是一个指向字符型函数的指针
(2)有以下程序
#include
main()
{ char p[]={ a , b , c }, q[10]={ a , b , c }.
printf("%d %d\n", strlen(p), strlen(q)).
}
以下叙述中正确的是
A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3
C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3
D)由于p和q数组中都没有字符串结束符,故长度都不能确定
(3)有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
#include
void f(char *p[], int n)
{ char *t. int i,j.
for(i=0. i for(j=i 1. j if(strcmp(p[i],p[j])>0){ t=p[i]. p[i]=p[j]. p[j]=t. }
}
main()
{ char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"}.
f(p, 5).
printf("%d\n", strlen(p[1])).
}
程序运行后的输出结果是
A)2 B)3 C)6 D)4
(4)有定义语句:int b.char c[10]. ,则正确的输入语句是_____
A)scanf("%d%s",&.b,&.c).
B)scanf("%d%s",&.b,c).
C)scanf("%d%s",b,c).
D)scanf("%d%s",b,&.c).
(5)以下能正确定义一维数组的选项是_____
A)int a[5]={0,1,2,3,4,5}.
B)char a[]={0,1,2,3,4,5}.
C)char a={ A , B , C }.
D)int a[5]="0123".
(6)已有定义:char a[]="xyz",b[]={ x , y , z }.,以下叙述中正确的是_____
A)数组a和b的长度相同
B)a数组长度小于b数组长度
C)a数组长度大于b数组长度
D)上述说法都不对
(7)以下语句或语句组中,能正确进行字符串赋值的是
A)char *sp. *sp="right!".
B)char s[10]. s="right!".
C)char s[10]. *s="right!".
D)char *sp="right!".
(8)有以下程序
main()
{
char s[]="159",*p.
p=s.
printf("%c",*p ).
printf("%c",*p ).
}
程序运行后的输出结果是
A)15
B)16
C)12
D)59
(9)有以下函数
fun(char *a,char *b)
{
while((*a!= \0 )&.&.(*b!= \0 )&.&.(*a==*b))
{ a . b .}
return (*a-*b).
}
该函数的功能是
A)计算a和b所指字符串的长度之差
B)将b所指字符串复制到a所指字符串中
C)将b所指字符串连接到a所指字符串后面
D)比较a和b所指字符串的大小
(10)有以下程序
point(char *p)
{
p =3.
}
main()
{ char b[4]={ a , b , c , d },*p=b.
point(p). printf("%c\n",*p).
}
程序运行后的输出结果是
A)a
B)b
C)c
D)d