全国计算机等级考试二级 C 语言指针测试题 一、选择题 (1)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与 n2=n1;语句等价的是 A A)*p=*q; B)p=q; C)*p=&n1; D)p=*q; (2) 若 有 定 义 : int x=0, *p=&x; , 则 语 句 printf("%d\n",*p);的输出结果是 B A)随机值 B)0 C)x 的地址 D)p 的地址 (3) 以下定义语句中正确的是 C A) char a='A'b='B'; B) float a=b=10
0; C) int a=10,*b=&a; D) float *a,b=&a; (4) 有以下程序 C main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf("%d,%d,%d,%d\n",*p,*q,a,b); } 程序运行后的输出结果是 A) 8,7,8,7 B) 7,8,7,8 C) 8,7,7,8 D) 7,8,8,7 (5) 设有定义:int a,*pA=&a;以下 scanf 语句中能正确为变量 a 读入数据的是 A A) scanf(“%d”,pA) ; B) scanf(“%d”,a) ; C) scanf(“%d”,&pA) ; D) scanf(“%d”,*pA) ; (6) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 D A) p=1; B) *q=2; C) q=p; D) *p=5; (7) 有以下程序 A 以下是引用片段: void fun(char *a, char *b) { a=b; (*a)++; } main () { char c1="A", c2="a", *p