[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷20及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷20及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(C语言程序设计)模拟试卷20及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试( C语言程序设计)模拟试卷 20及答案与解析 一、选择题 1 有以下程序 include main() int n, *p NULL; *p &n; printf(“Input n: “); scanf(“ d“, p); printf(“output n: “); printf(“ d n“, p); 该程序试图通过指针 P为变量 n读入数据并输出,但程序有多处错误,以下语句正确的是 ( A) int n, *p NULL; ( B) *p &n; ( C) scanf(“ d“, p) ( D) printf(“ d n“, p); 2 若有定义语句: double
2、a, *p a;以下叙述中错误的是 ( A)定义语句中的 *号是一个说明符 ( B)定义语句中的 P只能存放 double类型变量的地址 ( C)定义语句中 *p &a把变量 a的地址作为初值赋给指针变量 P ( D)定义语句中的 *号是一个间址运算符 3 若有以下定义 int x10, *pt x;则对 x数组元素的正确引用是 ( A) *(x 3) ( B) *&x10 ( C) *(pt 10) ( D) pt 3 4 有以下 程序 int fun1(double a)retum a* a; ) int fun2(double x,double y) double a 0, b 0; a
3、 fun1(x); b fun1(y); return(int)(a b); main() double w; w fun2(1 1, 2 0); 程序执行后输出结果是 ( A) 5 00 ( B) 5 ( C) 5 21 ( D) 0 5 有以下程序 void fun(char*S) char a10; strepy(a, “STRING“); S a; main() char*p “PROGRAM“; fun(P); 一 printf(“ s n, p); 程序运行后的输出结果是 (此处口代表空格 ) ( A) STRING口口口口 ( B) PROGRAM ( C) STRING口口口
4、( D) STRING 6 有以下程序 void fun(int n, int*s) int f; if(n=1)*s n 1; elsefun(n-1, &f); *s f; ) main() int x 0; fun(4, &x); printf(“ d n“, x); 程序运行后的输出结果是 ( A) 1 ( B) 3 ( C) 4 ( D) 2 7 有以下程序 #include int fun(char *8) char *p s; while(*p! 0)p; return(p-s); main() printf(“ d n“, fun(“goodbey!“); 程序的输出结果是 (
5、 A) 6 ( B) 8 ( C) 0 ( D) 7 8 有以下程序 #inelude #define N 4 void fun(int aN, int b) int i: for(i 0; i N; i )bi aii; main() int xN 1, 2, 3), 4), 5, 6, 7, 8), 9, 10), yN, i; fun(x, y); for(i 0; i N; i )printf(“ d, “, yi); printf(“ n“); 程序的运行结果是 ( A) 1, 2, 3, 4, ( B) 1, 4, 5, 9, ( C) 1, 0, 7, 0, ( D) 3, 4,
6、 8, 10, 9 有下列程序: void f(int*q) int i 0; for(; i 5; i )(*q); main() int a5 1, 2, 3, 4, 5, i; f(a); for(i=0; i void fun(char*c, int d *c *c 1; d d 1; printf(“ c, c, “, *c, d); main() char b a, a A; fun(&b, a); printf(“ c, c n“, b, a); 程序运行后的输出结果是 ( A) b, B, b, A ( B) b, B, B, A ( C) a, B, B, a ( D) a,
7、 B, a, B 11 以下函数按每行 8个输出数组中的数据: void fun(int *w, int n) int i; for(i 0; i n; i ) _ printf(“ d“, wi); printf(“ n“); 下划线处应填入的语句是 ( A) if(i 8=0)printf(“ n“); ( B) if(i 8=0)continue; ( C) if(i 8=0)printf(“ n“); ( D) if(i 8=0)continue; 12 有以下程序: #include void fun(char *c) while(*c) if(*c a&*c z)*c *c一 (a
8、 A); C; void main() char s81; gets(s); fun(s); puts(s); 当执行程序时从键盘上输入 Hello Beijing,则程序的输出结果是 ( A) HELLO BEIJING ( B) Hello Beijing ( C) hello Beijing ( D) hELLO Beijing 13 有以下程序 #include void f(int *p, int *q); main() int m 1, n 2, *r &m; f(r,&n); printf(“ d, d“, m, n); void f(int *p, int *q) p p 1;
9、 *q *q 1; 程序运行后的输出结果是 ( A) 2, 3 ( B) 1, 3 ( C) 1, 4 ( D) 1, 2 14 有以下程序 #include void fun(int *a, int *b) int *c; c a; a b; b c; main() int x 3, y 5, *p &x, *q &y; fun(p, q); printf(“ d, d, “, *p, *q); flun(&x, &y); printf(“ d, d n“, *p, *q); 程序运行后的输出结果是 ( A) 3, 5, 5, 3 ( B) 3, 5, 3, 5 ( C) 5, 3, 3,
10、5 ( D) 5, 3, 5, 3 15 有下列程序: void f(intb) int I; for(i 2; i 6; i )bi* 2; main() int a10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; f(a); for(i 0; i 1 0, i )printf(“ d, “, ai); 程序运行后的输出结果是 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 1, 2, 3, 4, 10, 12, 14, 16, 9,10, ( C) 1, 2, 6, 8, 10, 12, 7, 8, 9, 10, ( D) 1, 2
11、, 6, 8, 10, 12, 14, 16, 9, 10, 16 有以下程序 #include int fun(char S) int n 0; while(*s 9&*s n0)n 10*n *s 0; s; ) return(n); main() char s10 6, 1, *, 4, *, 9, *, 0, *; printf(“ d n“, fun(s); 程序的运行结果是 ( A) 61490 ( B) 61 ( C) 9 ( D) 5 17 若有以下程序 #include void sp(int *a) int b 2; a b; *a *a*2; printf(“ d, “,
12、 *a); main() int k 3, *p &k; sp(p); printf(“ d, d n“, k, *p); 则程序的输出结果是 ( A) 4, 3, 4 ( B) 4, 3, 3 ( C) 6, 3, 6 ( D) 6, 6, 6 18 若有以下程序 #include int k 7; void f(int *s) int*t &k; *s t; printf(“ d, d, d, “, k, *t, *s); main() int i 3, *P &i, *r &p; f(r); printf(“ d, d, d n“, i, *p, *r); 则程序的输出结果是 ( A)
13、3, 7, 7, 7, 7, 7 ( B) 7, 7, 7, 3, 3, 3 ( C) 3, 3, 3, 7, 7, 7 ( D) 7, 7, 7, 3, 7, 7 19 若有以下程序 #include int *f(int*s,int *t) int *k; if(*s *t) k s; s t; t k; return s; main() int i 3, j 5, *p &i, * &j, *r; r f(p, q); printf(“ d, d, d, d, d n“, i, j, *P, *q, *r); 则程序的输出结果是 ( A) 3, 5, 5, 3, 5 ( B) 5, 3,
14、 5, 3, 5 ( C) 5, 3, 3, 5, 5 ( D) 3, 5, 3, 5, 5 20 若有以下程序 #include void sp(int*a) int b 2; *a *a*2; printf(“ d, “, * a); a &b; *a *a*2; printf(“ d, “, * a); main() int k 3; sp(&k); printf(“ d n“, k); 则程序的输出结果是 ( A) 6, 4, 6 ( B) 6, 4, 3 ( C) 6, 12, 12 ( D) 9, 4, 9 21 若有以下程序 #include int k 7, m 5: void
15、 f(int*s) int*t &k; s t; *s &m; printf(“ d, d, d, “, k, *t, *s); main() int i 3, *p &i, *r &p; f(r); printf(“ d, d, d n“, i, *P, *r); 则程序的输出结果是 ( A) 7, 5, 7, 3, 3, 3, ( B) 7, 5, 7, 3, 5, 7, ( C) 7, 5, 5, 3, 3, 3, ( D) 7, 7, 5, 3, 3, 3, 22 若有以下程序 #include int*f(int *s, int *t) int k; if(*s *t) k *s;
16、*s *t; *t k; return s; main() int i 3, j 5, *p &i, *q &j, *r; r f(p, q); printf(“d, d, d, d, d n“, i, j, *P, *q, *r); 则程序的输出结果是 ( A) 3, 5, 5, 3, 5 ( B) 3, 5, 3, 5, 5 ( C) 5, 3, 5, 3, 5 ( D) 5, 3, 3, 5, 5 23 有以下程序 #inchde int funa(int a, int b) return a b; ) int funb(int a, int b) return a b; int sss
17、(int(*t)(), int x, int y)return(*t)(x, y); main() int x; x sss(funa, 9, 3); x sss(funb, 8, 3); printf(“ d n“, x); 程序运行后的输出结果是 ( A) 17 ( B) 23 ( C) 24 ( D) 22 24 有以下程序 void fun(int x, int y, int *C, int *d)D) *c x y; *d xy; main() int a 4, b 3, c 0, d 0; fun(a, b, &c, &d); printf(“ d d n“, c, d); 程序的
18、输出结果是 ( A) 4 3 ( B) 3 4 ( C) 7 1 ( D) 0 0 25 有以下程序 void fun(int *P, int *q)int t; t *p; *P *q; *q t; *q *p; main() int a 0, b 9; fun(&a, &b); printf(“ d d n“, a, b); 程序的输出结果是 ( A) 0 0 ( B) 9 9 ( C) 9 0 ( D) 0 9 26 有以下程 序 char fun(char *c) if(*c z *c A) *c A a; return *c; main() char s81, *p s; gets(
19、S); while(*P) *P fun(P); putchar(*P); p; printf(“ n“); 若运行时从键盘上输入 OPEN THE DOOR,程序的输出结果是 ( A) oPEN tHE dOOR ( B) open the door ( C) OPEN THE DOOR ( D) Open The Door 27 有以下程序 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, s n“, s1, s2); 程
20、序执行后的输出结果是 ( A) abe, 123 ( B) 123, abc ( C) 321, cba ( D) 1bc, a23 28 有以下函数 int fun(char*x, char*y) int n 0; while(*x *y) *x! 0) x; y; n; return n; 函数的功能是 ( A)查找 x和 y所指字符串中是否有 0 ( B)统计 x和 y所指字符串中最前面连续相同的字符个数 ( C)将 y所指字符串赋给 x所指存储空间 ( D)统计 x和 y所指字符串中相同的字符个数 29 有以下函数 int fun(char*s)char*t s; while(*t )
21、; return(t s); )该函数的功能是 ( A)比较两个字符串的大小 ( B)计算 s所指字符串的长度 ( C)计算 s所指字符串占用内存字节的个数 ( D)将 s所指字符串复制到字符串 t中 30 有以下程序 (说明:字母 A的 ASCII码值是 65) void fun(char *s) while(*S) if(*s 2) printf(“ c“, *s); s; main() char a “BYTE“; fun(a); printf(“ n“); 程序运行后的输出结果是 ( A) BT ( B) YE ( C) YT ( D) BY 31 有以下程序 #include voi
22、d fun(char*p) p; printf(“ s n“, *p); ) main() char*a (“Morning“,“Afternoon“,“Evening“,“Night“); fun(a); 程序的运行结果是 ( A) fternoon ( B) Morning ( C) orning ( D) Afternoon 32 有以下程序 void fun1(char *p) char *q; q p; while(*q! 0) (*q); q; main() char a “Program“), *p; p &a3; fun1(p); printf(“ s n“, a); 程序执行
23、后的输出结果是 ( A) Prphsbn ( B) Prohsbn ( C) Progsbn ( D) Program 33 有以下程序 #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(t); 程序的运行结果是 ( A) a*b ( B) *a*b ( C) a*b* ( D) ab 34 下列函数的功能是 void fun(char *a, char *b) while(*b *a) 0)a; b; ( A)使指针 b指向
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 语言程序设计 模拟 20 答案 解析 DOC
