教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

计算机二级C语言教程章节测试 字符串

来源:网络收集 时间:2026-09-05
导读: C语言章节测试:字符串 一、选择题 (1)若有语句:char *line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,

C语言章节测试:字符串

一、选择题

(1)若有语句:char *line[5];,以下叙述中正确的是

A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C)定义line是一个指针数组,语句中的*号称为间址运算符

D)定义line是一个指向字符型函数的指针

(2)有以下程序

#include <string.h>

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 <string.h>

void f(char *p[], int n)

{ char *t; int i,j;

for(i=0; i<n-1; i++)

for(j=i+1; j<n; 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(11) s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是_____

A) if(s1>s2)S; B) if(strcmp(s1,s2))S;

C) if(strcmp(s2,s1)>0) S; D) if(strcmp(s1,s2)>0)S;

(12) 有以下程序

main()

{char str[][10]={"China","Beijing"},*p=str;

printf("%s\n",p+10);

}

程序运行后的输出结果是

A) China B) Bejing C) ng D) ing

(13) 有以下程序

main()

{char s[]="ABCD",*p;

for(p=s+1;p<s+4;p++)printf("%s\n",p);

}

程序运行后的输出结果是

A) ABCD B) A C) B D) BCD

BCD B C CD

CD C D D

(14) 有以下程序

main()

{ char s[]"Yes\n/No",*ps=s;

puts(ps+4);

*(ps+4)=0;

puts(s);

}

程序运行后的输出结果是(选项D中的第一行是空行)

A) n/No B) /No C) n/NO D)

Yes Yes Yes /No

/No /No Yes

(15) 有以下定义

#include <stdio.h>

char a[10],*b=a;

不能给数组a输入字符串的语句是

A) gets(A) B) gets(a[0]) C) gets(&a[0]); D) gets(B) ;

(16) 有以下程序

main( )

{ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};

printf(“%d\n”,strlen(p[4]));

}

执行后输出结果是

A) 2 B) 3 C) 4 D) 5

(17) 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是

A) char s[10]=”abcdefg”; B) char t[]=”abcdefg”,*s=t;

C) char s[10];s=”abcdefg”; D) char s[10];strcpy(s,”abcdefg”);

(18) 下列选项中正确的语句组是

A) char s[8]; s={"Beijing"}; B) char *s; s={"Beijing"};

C) char s[8]; s="Beijing"; D) char *s; s="Beijing";

(19) 以下程序中函数scmp的功能是返回形参指针s1和 s2所指字符串中较小字符串的首地址 #include <stdio.h>

#include <string.h>

char *scmp(char *s1, char *s2)

{ if( strcmp (s1, s2<0)

return(s1);

else return(s2);

}

main ()

{ int I; char string[20], str[3][20];

for(i=0;i<3;i++) gets(str[i]);

strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/

strcpy(string,scmp(string,str[2]));

printf("%s\n",string);

}

运行时依次输入:abcd、abba和abc三个字符串,则输出结 …… 此处隐藏:10000字,全部文档内容请下载后查看。喜欢就下载吧 ……

计算机二级C语言教程章节测试 字符串.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1810004.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)