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