资源描述:
《计算机二级C语言教程章节测试 字符串》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言章节测试:字符串一、选择题 (1)若有语句:char *line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 (2)有以下程序 #include main() {char p[]={'a','b
2、','c'}, q[10]={'a','b','c'}; printf("%d%d",strlen(p),strlen(q)); } 以下叙述中正确的是 A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定 (3)有以下程序,其中函数
3、f的功能是将多个字符串按字典顺序排序 #include voidf(char *p[],int n) {char *t; int i,j; for(i=0;i0){t=p[i]; p[i]=p[j]; p[j]=t; } } main() {char *p[5]={"abc","aabdfg","abbd"
4、,"dcdbe","cd"}; f(p,5); printf("%d",strlen(p[1])); } 程序运行后的输出结果是 A)2 B)3 C)6 D)4 (4)有定义语句:int b;char c[10]; 第35页,共35页,则正确的输入语句是_____ 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、 (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)已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是_____ A)数组a和b的长度相同 B)a数组长度小于b数组长度 C)a数组长度大于b数组长度 D)上述说法都不对 (7
6、)以下语句或语句组中,能正确进行字符串赋值的是 A)char *sp; *sp="right!"; B)chars[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++); } 程序运行后的输出
7、结果是 A)15 B)16 C)12 D)59 (9)有以下函数 fun(char *a,char *b) { while((*a!=' ')&&(*b!=' ')&&(*a==*b)) { a++; b++;} return (*a-*b); } 该函数的功能是 第35页,共35页 A)计算a和b所指字符串的长度之差 B)将b所指字符串复制到a所指字符
8、串中 C)将b所指字符串连接到a所指字符串后面 D)比较a和b所指字符串的大小 (10)有以下程序 point(char *p) { p+=3; } main() { char b[4]={'a','b','c','d'},*p=b;