[计算机类试卷]国家二级C语言机试(指针)模拟试卷3及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(指针)模拟试卷3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(指针)模拟试卷3及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(指针)模拟试卷 3及答案与解析 一、选择题 1 以下程序的功能是:通过调用 calc函数,把所求得的两数之和值放入变量 add中,并在主函数中输出。 #include void calc(float x,float y, float *sum) _ = x+y; main() float x,y,add; scanf(“%f%f“, calc(x,y, printf(“x+y=%fn“,add); calc函数 中下划线处应填入的是( )。 ( A) *sum ( B) sum ( C) for(i=s; i=n; i-) *(x+i+3) = *(x+i); main(
2、) int m=0,1,2,3,4,5,6,7,8,9,k; fun(m,10-4,3); for(k=0; k void swap(char *x, char *y) char t; t=*x; *x=*y; *y=t; main() char *s1=“abc“, *s2=“123“; swap(s1,s2); printf(“%s,%sn“,s1,s2); 程序执行后的输出结果是( )。 ( A) 1bc,a23 ( B) abc,123 ( C) 123,abc ( D) 321,cba 7 有以下函数 int fun(char *x, char *y) int n=0; while
3、( (*x=*y) y+; n+; return n ; 函数的功能是( )。 ( A)统计 x和 y所指字符串中最前面连续相同的字符个数 ( B)查找 x和 y所指字符串中是否有 0 ( C)将 y所指字符串赋给 x所指存储空间 ( D)统计 x和 y所指字符串中相同的字符个数 8 下列语句组中,正确的是( )。 ( A) char *s;s=“Olympic“; ( B) char s7;s=“Olympic“; ( C) char *s;s=“Olympic“; ( D) char s7;s=“Olympic“; 9 有以下函数 int fun(char *s) char *t=s; w
4、hile(*t+); return(t-s); 该函数的功能是( )。 ( A)计算 s所指字符串占用内存字节的个数 ( B)比较两个字符串的大小 ( C)计算 s所指字符串的长度 ( D)将 s所指字符串复制到字符串 t中 10 有以下程序(注:字符 a的 ASCII码值为 97) #include main() char *s = “abc“ ; do printf (“%d“, *s%10); +s; while ( *s ); 程序运行后的输出结果是( )。 ( A) 789 ( B) abc ( C) 7890 ( D) 979899 11 设有定义: char *c; 以下选项中能
5、够使 c正确指向一个字符串的是( )。 ( A) char str =“string“; c=str; ( B) scanf(“%s“,c); ( C) c=getchar( ); ( D) *c=“string“; 12 有以下程序( 说明:字母 A的 ASCII码值是 65 ) #include void fun (char *s) while( *s ) if( *s%2 ) printf(“%c“,*s); s+; main() char a =“BYTE“; fun(a); printf(“n“); 程序运行后的输出结果是( )。 ( A) YE ( B) BT ( C) YT (
6、D) BY 13 有以下程序 #include int fun() static int x=1; x+=1; return x; main() int i,s=1; for(i=1;i void fun(char *p) +p; printf(“%sn“,*p); main() char *a = “Morning“, “Afternoon“, “Evening“, “Night“; fun(a); 程序的运行结果是( )。 ( A) Afternoon ( B) fternoon ( C) Morning ( D) orning 16 有以下程序 #include int fun(int
7、x,int n) static int sum=0, i; for(i=0;i main() char ch =“uvwxyz“,*pc; pc=ch; printf(“%cn“, *(pc+5); 程序运行后的输出结果是( )。 ( A) z ( B) 0 ( C)元素 ch5的地址 ( D)字符 y的地址 18 以下选项中正确的语句组是( )。 ( A) char *s; s=“BOOK!“; ( B) char *s; s=“BOOK!“; ( C) char s10; s=“BOOK!“; ( D) char s; s=“BOOK!“; 19 若有以下定义和语句 #include ch
8、ar s110= “abcd!“, *s2=“n123“; printf(“%d %dn“, strlen(s1), strlen(s2); 则输出结果是( )。 ( A) 5 5 ( B) 10 5 ( C) 10 7 ( D) 5 8 20 有以下程序 #include void fun1(char *p) char *q; q=p; while(*q!=0) (*q)+; q+; main() char a=“Program“, *p; p= fun1(p); printf(“%sn“,a); 程序执行后的输出结果是( )。 ( A) Prohsbn ( B) Prphsbn ( C)
9、Progsbn ( D) Program 21 有以下函数 int aaa(char *s) char *t=s; while(*t+); t-; return(t-s); 以下关于 aaa函数功能叙述正确的是( )。 ( A)求字符串 s的长 度 ( B)比较两个串的大小 ( C)将串 s复制到串 t ( D)求字符串 s所占字节数 22 有以下程序 #include void fun( char *a, char *b ) while( *a=* ) a+; while( *b=*a ) b+;a+; main() char *s=“*a*b*“ , t80; fun(s,t); puts
10、(t); 程序的运行结果是( )。 ( A) a*b* ( B) a*b ( C) *a*b ( D) ab 23 下列函数的功能是 void fun(char *a,char *b) while(*b=*a)!=0) a+; b+; ( )。 ( A)将 a所指字符串赋给 b所指空间 ( B)使指针 b指向 a所指字符串 ( C)将 a所指字符串和 b所指字符串进行比较 ( D)检查 a和 b所指字符串中是否有 0 24 设有如下程序段 #include char s20=“Beijing“, *p; p=s; 则执行 p=s;语句后, 以下叙述正确的是( )。 ( A)可以用 *p表示 s
11、0 ( B) s数组中元素的个数和 p所指字符串长度相等 ( C) s和 p都是指针变量 ( D)数组 s中的内容和指针变量 p中的内容相同 25 有以下程序 #include main() char s=“abcde“; s+=2; printf(“%dn“,s0); 执行后的结果是( )。 ( A)程序出错 ( B)输出字符 c的 ASCII码 ( C)输出字符 c ( D)输出字符 a的 ASCII码 26 有以下程序 #include #include void fun(char *s, int n) char *t; int i, j; for (i=0; i strlen(sj)
12、t = si; si = sj; sj = t; main() char *ss=“bcc“,“bbcc“,“xy“, “aaaacc“, “aabcc“; fun(ss, 5); printf(“%s,%sn“, ss0,ss4); 程序的运行结果是( )。 ( A) xy,aaaacc ( B) aaaacc,xy ( C) bcc,aabcc ( D) aabcc,bcc 27 有以下程序 #include void fun(char *t , char *s) while(*t!=0) t+; while( (*t+ = *s+ )!=0 ) ; main() char ss10=“a
13、cc“,aa10=“bbxxyy“; fun(ss, aa); printf(“%s,%sn“, ss,aa); 程序的运行结果是( )。 ( A) accbbxxyy,bbxxyy ( B) acc,bbxxyy ( C) accxxyy,bbxxyy ( D) accxyy,bbxxyy 28 有以下程序 #include #include void fun (char *w, int m ) char s, *p1, *p2; p1=w; p2=w+m-1; while ( p1 int b=2; int fun(int *k ) b=*k+b; return (b); main() i
14、nt a10=1,2,3,4,5,6,7,8, i; for(i=2;i char *a=“you“; char b =“Welcome you to China!“; main() int i, j=0; char *p; for ( i=0; bi !=0; i+ ) if (*a = bi) p=a; for (j=i; *p!=0; j+) if (*p != bj) break; p+; if (*p=0) break; printf(“%s“, 则程序的输出结果是( )。 ( A) you to China! ( B) to China! ( C) me you to China!
15、 ( D) China! 31 若有以下程序 #include char *a=“you“, b =“welcome#you#to#China!“; main() int i,j=0; char *p; for ( i=0; bi!=0; i+ ) if (*a = bi) p= for (j=0; aj!=0; j+) if (aj != *p) break; p+; if (aj=0) break; printf(“%sn“, p); 则程序的输出结果是( )。 ( A) #to#China! ( B) #you#to#China! ( C) me#you#to#China! ( D) #
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 指针 模拟 答案 解析 DOC
