1、国家二级( C语言)章节练习试卷 27 及答案与解析 1 有如下程序段 int*p, a=10, b=1; p= ( D) int*s, k; char*p, c; s=&k; p=&c; s=p; *s=1; 3 已有定义 “int k=2; int*ptr1,*ptr2; ”,且 ptr1和 ptr2均已指向变量 k,下面不能正确执行的语句是 _。 ( A) k=*ptr1+*ptr2; ( B) ptr2=k; ( C) ptrl=ptr2; ( D) K=*ptr1*(*ptr2); 4 设有定义 “int a=3, b, *p=&a”,则下列语句中使 b不为 3的语句是 _。 ( A
2、) b=*&a; ( B) b=*p; ( C) b=a; ( D) b=*a; 5 有以下函数 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所指字符串的大小 6 有以下程序 main() char s=“159“, *p; p=s; printf (“%c“,*p+); printf(“%c“, *p+); 程序
3、运行后的输出结果是 _。 ( A) 15 ( B) 16 ( C) 12 ( D) 59 7 主调函数中的两个变量 a和 b,要求调用函数交换 a、 b值,返回交换结果,则以下正确的函数是 _。 ( A) funa(int*x,int*y) int*p; *p=*x; *x=*y; *y=*p; ( B) funb (int x,int y) int t; t=x; x=y; y=t; ( C) func(int *x, int*y) *X=*y; *y=*x; ( D) fund(int *x, int *y) *x=*x+*y; *y=*x-*y; *x=*x-*y; 8 已有定义 “in
4、t k=2; int*ptr1, *ptr2; ”,且 ptr1和 ptr2均已指向变量 k,下面不能正确执行的语句是 _。 ( A) k=*ptr1+*ptr2; ( B) ptr2=k; ( C) ptr1=ptr2; ( D) K=*ptr1*(*ptr2); 9 有以下函数 char*fun(char*p) return p; 该函数的返回值是 _。 ( A)无确切的值 ( B)形 参 p中存放的地址值 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址值 10 若有以下调用语句,则不正确的 fun()函数的首部是 _。 ( A) void fun(int m, int x (
5、 B) void fun (int s, int h41 ( C) void fun(int p, int*s) ( D) void fun (int n, int a) main() int a50,n; fun (n,&a9); 11 设有如下函数定义,则输出结果为 _。 char*fun (char*str) char*p=str; while(*p) if(*p d) continue; p+; return p; main() printf(“%sn“, fun(“welcome!“); ( A) welcome! ( B) come! ( C) w ( D)程序陷入死循环中 12
6、以下程序运行后的输出结果是 _。 main() int a=3,b=4,c=5,t=99; if(b a&a c)t=a; a=C; c=t; if(a c&b c)t=b; b=a; a=t printf(“%d%d%dn“, a, b, c); 13 以下程序运行后的输出结果是 _。 main() int x=1,y=0,a=0,b=0; switch (x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; printf(“%d dn“, a, b); 14 以下程序的输出结果是
7、_。 main() char *s=“12134211”; int v4=0, 0, 0, 0, k, i; for(k=0; sk; k+) switch (sk) case 1:i=0; case 2:i=1: case 3:i=2; Case 4:i=3; vi+; for(k=0; k 4; k+) printf(“%d“, vk); 国家二级( C语言)章节练习试卷 27 答案与解析 1 【正确答案】 B 2 【正确答案】 C 3 【正确答案】 B 4 【正确答案】 D 5 【正确答案】 D 6 【正确答案】 A 7 【正确答案】 D 8 【正确答案】 B 9 【正确答案】 B 10 【正确答案】 D 11 【正确答案】 D 12 【正确答案】 4599 13 【正确答案】 2 1 14 【正确答案】 8