资源描述:
《全国计算机等级考试二级c语言指针测试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、全国计算机等级考试二级C语言指针测试题一、选择题 (1)设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是 A)*p=*q; B)p=q; C)*p=&n1; D)p=*q; (2)若有定义:intx=0,*p=&x;,则语句printf("%d",*p);的输出结果是 A)随机值 B)0 C)x的地址 D)p的地址 (3)以下定义语句中正确的是 A)chara='A'b='B';B)floata=b=10.0; C)inta=10,
2、*b=&a;D)float*a,b=&a; (4)有以下程序 main() {inta=7,b=8,*p,*q,*r; p=&a;q=&b; r=p;p=q;q=r; printf("%d,%d,%d,%d",*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)设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是 A)scanf(“%d”,pa); B)scanf(“%
3、d”,a); C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);(6)设有定义:intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 A)p=1; B)*q=2; C)q=p; D)*p=5; (7)有以下程序以下是引用片段: void fun(char *a, char *b) { a=b; (*a)++; } main () { char c1=’A’, c2=’a’, *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2);
4、 printf(“%c%c”,c1,c2); } 程序运行后的输出结果是 A)Ab B)aa C)Aa D)Bb (8)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是 A)int *i=NULL; B)float *f=NULL; scanf("&d",f); *f=10.5; C)char t="m",*c=&t; D)long *L; *c=&t;
5、 L=‘ ’; (9)有以下程序以下是引用片段: #inc1ude main() { printf("%d", NULL); } 程序运行后的输出结果是 A)0 B)1 C)-1 D)NULL没定义,出错 (10)已定义以下函数 intfun(int*p) {return*p:} 该函数的返回值是 A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值(11)下列函数定义中,会出现编译错误的是 A)max(int
6、x,int y,int *z) B)int max(int x,y) {*z=x>y ?x:y; } int z; z=x>y ?x:y; return z; } C)max(int x,int y) D)int max(int x,int y) { int z; { return(x>y?x:y);}
7、 z=x>y?x:y; return(z); } (12)有以下程序段以下是引用片段: main() { int a=5, *b, **c; c=&b; b=&a; …… } 程序在执行了c=&b:b=&a;语句后,表达式:**c的值是 A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址 (13)有以下程序以下是引用片段: main() { char a,b,c,*d; a=’’; b=‘ xbc’; c=‘xab’; d=" 127"; print
8、f("%c%c%c%c",a,b,c,*d); } 编译时出现错误,以下叙述中正确的是 A)程序中只有a=’’;语句不正确 B)b=‘ xbc’;语句不正确 C)d=" 127";语句不正确 D)a=’’;和c=‘ xab’;语句都不正确 (14)若有以下定义和语句以下是引用片段: #include int a=4,b=3,