二级c语言复习

上传人:aa****6 文档编号:39164976 上传时间:2018-05-12 格式:DOCX 页数:30 大小:33.03KB
返回 下载 相关 举报
二级c语言复习_第1页
第1页 / 共30页
二级c语言复习_第2页
第2页 / 共30页
二级c语言复习_第3页
第3页 / 共30页
二级c语言复习_第4页
第4页 / 共30页
二级c语言复习_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《二级c语言复习》由会员分享,可在线阅读,更多相关《二级c语言复习(30页珍藏版)》请在金锄头文库上搜索。

1、第十部分 :字符串一、选择题 (1)若有语句:char *line5;,以下叙述中正确的是A)定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B)定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C)定义 line 是一个指针数组,语句中的*号称为间址运算符D)定义 line 是一个指向字符型函数的指针 (2)有以下程序#include main() char p=a, b, c, q10=a, b, c;printf(“%d %dn“, strlen(p), strlen(q);以下叙述中正确的是A)在给 p 和 q 数组置初值时,系统会自

2、动添加字符串结束符,故输出的长度都为 3B)由于 p 数组中没有字符串结束符,长度不能确定;但 q 数组中字符串长度为 3C)由于 q 数组中没有字符串结束符,长度不能确定;但 p 数组中字符串长度为 3D)由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定 (3)有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序#include void f(char *p, int n) char *t; int i,j;for(i=0; i0) t=pi; pi=pj; pj=t; main() char *p5=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;

3、f(p, 5);printf(“%dn“, strlen(p1);程序运行后的输出结果是A)2 B)3 C)6 D)4 (4)有定义语句:int b;char c10; ,则正确的输入语句是 A)scanf(“%d%s“,B)scanf(“%d%s“,C)scanf(“%d%s“,b,c);D)scanf(“%d%s“,b, (5)以下能正确定义一维数组的选项是 A)int a5=0,1,2,3,4,5;B)char a=0,1,2,3,4,5;C)char a=A,B,C;D)int a5=“0123“; (6)已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是 A)数

4、组 a 和 b 的长度相同B)a 数组长度小于 b 数组长度C)a 数组长度大于 b 数组长度D)上述说法都不对 (7)以下语句或语句组中,能正确进行字符串赋值的是 A)char *sp; *sp=“right!“;B)char s10; s=“right!“;C)char s10; *s=“right!“;D)char *sp=“right!“; (8)有以下程序 main() char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*p+); 程序运行后的输出结果是 A)15B)16C)12D)59 (9)有以下函数 fun(char *a,cha

5、r *b) while(*a!=0) b+;return (*a-*b); 该函数的功能是 A)计算 a 和 b 所指字符串的长度之差B)将 b 所指字符串复制到 a 所指字符串中C)将 b 所指字符串连接到 a 所指字符串后面D)比较 a 和 b 所指字符串的大小 (10)有以下程序 point(char *p) p+=3; main() char b4=a,b,c,d,*p=b;point(p); printf(“%cn“,*p); 程序运行后的输出结果是 A)aB)bC)cD)d (11) s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执

6、行语句 S;则以下选项 中正确的是 A) if(s1s2)S; B) if(strcmp(s1,s2)S;C) if(strcmp(s2,s1)0) S; D) if(strcmp(s1,s2)0)S;(12) 有以下程序 main() char str10=“China“,“Beijing“,*p=str;printf(“%sn“,p+10); 程序运行后的输出结果是A) China B) Bejing C) ng D) ing(13) 有以下程序 main() char s=“ABCD“,*p;for(p=s+1;p char a10,*b=a;不能给数组 a 输入字符串的语句是A) ge

7、ts(A) B) gets(a0) C) gets( D) gets(B) ;(16) 有以下程序 main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”;printf(“%dn”,strlen(p4); 执行后输出结果是A) 2 B) 3 C) 4 D) 5(17) 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是A) char s10=”abcdefg”; B) char t=”abcdefg”,*s=t;C) char s10;s=”abcdefg”; D) char s10;strcpy(s,”abcdefg”); (18)

8、下列选项中正确的语句组是A) char s8; s=“Beijing“; B) char *s; s=“Beijing“;C) char s8; s=“Beijing“; D) char *s; s=“Beijing“;(19) 以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址 #include #include char *scmp(char *s1, char *s2) if( strcmp (s1, s2 main() char str20=“Hello“,“Beijing“, *p=str; printf(“%dn“,strlin(p+20

9、); 程序运行后的输出结果是A) 0 B) 5 C) 7 D) 20(21) 已定义以下函数 fun(char *p2, char *p1) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是A) 将 p1 所指字符串复制到 p2 所指内存空间B) 将 p1 所指字符串的地址赋给指针 p2C) 对 p1 和 p2 两个指针所指字符串进行比较D) 检查 p1 和 p2 两个指针所指字符串中是否有0 (22) 有以下程序 main() char *s=“one“,“two“,“three“,*p;p=s1;printf(“%c,%sn“,*(p+1),s0); 执行后输出结果是A)

10、 n,two B) t,one C)w,one D) o,two(23) 阅读以下函数 fun(char *s1,char *s2) int i=0; while(s1i=s2i return(s1i= 此函数的功能是A) 将 s2 所指字符串赋给 s1B) 比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0C) 比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0D) 比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 0 (24) 有以下程序 main() char str=

11、“xyz“,*ps=str; while(*ps)ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后的输出结果是A) yz B) z C) z D) xxyz yz yz xyxyz xyz(25) 有以下程序 #include main() char *p=“abcdeOfghjik0”; printf(“%dn”,strlen(p); 程序运行后的输出结果是A) 12 B) 15 C) 6 D) 5(26) 有以下程序 void ss(char *s,char t) while(*s) if(*s=t) *s=t-a+A;s+; main() char str

12、1100=“abcddfefdbd”,c=d; ss(str1,c); printf(“%sn”,str1); 程序运行后的输出结果是A) ABCDDEFEDBD B) abcDDfefDbDC) abcAAfefAbA D) Abcddfefdbd(27) 以下程序的输出结果是 char cchar(char ch) if(ch=A while (-pb=b1) strcpy(b2,pb); printf(“%dn“,strlen(b2); A) 8 B) 3 C) 1 D) 7(31) 以下定义语句中,错误的是A) int a=1,2; B) char *a3;C) char s10=”t

13、est”; D) int n=5,an;(32) 以下选项中,不能正确赋值的是A) char s110;s1=“Ctest”;B) char s2=C, t, e, s, t;C) char s320=“Ctest”;D) char *s4=“Ctestn” (33) 以下程序的输出结果是A) ABCD B) ABCD C) EFG D) EFGHFGH EFG JK IJKLKL IJ OM main() char w10= “ABCD”,”EFGH”,”IJKL”,”MNOP”,k;for(k=1;k0;j+=2) s=10*s+pij-0; printf(“%dn”,s); 该程序的输出

14、结果是A) 69825 B) 63825 C) 6385 D) (37) 设有数组定义: char array =“China“; 则数组 array 所占的空间为A) 4 个字节 B) 5 个字节 C) 6 个字节 D) 7 个字节 (38) 设已有定义: char *st=“how are you“; 下列程序段中正确的是A) char a11, *p; strcpy(p=a+1,B) char a11; strcpy(+a, st);C) char a11; strcpy(a, st);D) char a, *p; strcpy(p=(39) 下列程序执行后的输出结果是A) youstrcpy(arr,“you“); strcpy(arr1,“me“);ar

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号