全国计算机等级考试二级C语言指针测试题.doc

上传人:s9****2 文档编号:550994594 上传时间:2023-01-23 格式:DOC 页数:10 大小:74.50KB
返回 下载 相关 举报
全国计算机等级考试二级C语言指针测试题.doc_第1页
第1页 / 共10页
全国计算机等级考试二级C语言指针测试题.doc_第2页
第2页 / 共10页
全国计算机等级考试二级C语言指针测试题.doc_第3页
第3页 / 共10页
全国计算机等级考试二级C语言指针测试题.doc_第4页
第4页 / 共10页
全国计算机等级考试二级C语言指针测试题.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《全国计算机等级考试二级C语言指针测试题.doc》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言指针测试题.doc(10页珍藏版)》请在金锄头文库上搜索。

1、全国计算机等级考试二级C语言指针测试题一、选择题(1)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;(2)若有定义:int x=0, *p=&x;,则语句printf(%dn,*p);的输出结果是A)随机值B)0C)x的地址D)p的地址(3) 以下定义语句中正确的是A) char a=Ab=B; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;(4) 有以下程序main() int a=7,b=8,*p,*q,*r;p

2、=&a;q=&b;r=p; p=q;q=r;printf(%d,%d,%d,%dn,*p,*q,a,b);程序运行后的输出结果是A) 8,7,8,7B) 7,8,7,8C) 8,7,7,8D) 7,8,8,7(5) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量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;则以下选项中,正确的赋值语句是A) p=1;B) *q=2;C) q=p;D) *p=5;

3、(7) 有以下程序以下是引用片段:voidfun(char*a,char*b) a=b;(*a)+; main() charc1=A,c2=a,*p1,*p2; p1=&c1;p2=&c2;fun(p1,p2); printf(“%c%cn”,c1,c2); 程序运行后的输出结果是A) AbB) aaC) AaD) 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; L=0;(9

4、) 有以下程序以下是引用片段:#inc1ude main() printf(%dn,NULL);程序运行后的输出结果是A) 0B) 1C) -1D) NULL没定义,出错(10) 已定义以下函数int fun (int *p) return *p: 该函数的返回值是A) 不确定的值B) 形参p中存放的值C) 形参p所指存储单元中的值D) 形参p的地址值(11) 下列函数定义中,会出现编译错误的是A) max(int x, int y,int *z) B) int max(int x,y) *z=xy ? x:y; int z ;z=xy ? x:y;return z ;C) max (int

5、x,int y) D) int max(int x,int y) int z; return(xy?x:y) ; z=xy?x:y; return(z);(12) 有以下程序段以下是引用片段:main() inta=5,*b,*c; c=&b;b=&a; 程序在执行了c=&b:b=&a;语句后,表达式:*c的值是A) 变量a的地址B) 变量b中的值C) 变量a中的值D) 变量b的地址(13) 有以下程序以下是引用片段:main() chara,b,c,*d; a=;b=0xbc; c=xab;d=0127; printf(%c%c%c%cn,a,b,c,*d); 编译时出现错误,以下叙述中正确

6、的是A) 程序中只有a=;语句不正确B) b=0xbc;语句不正确C) d=0127;语句不正确D) a=;和c=0xab;语句都不正确(14) 若有以下定义和语句以下是引用片段:#include inta=4,b=3,*p,*q,*w; p=&a;q=&b;w=q;q=NULL;则以下选项中错误的语句是A) *q=0;B) w=p;C) *p=a;D) *p=*w;(15) 有以下程序以下是引用片段:int*f(int*x,int*y) if(*x*y) returnx; else returny; main() inta=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p,

7、q); printf(“%d,%d,%d”,*p,*q,*r); 执行后输出结果是A) 7,8,8B) 7,8,7C) 8,7,7D) 8,7,8(16) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q;B) *p=*q;C) n=*q;D) p=n;(17) 有以下程序以下是引用片段:voidfun(char*c,intd) *c=*c+1;d=d+1; printf(“%c,%c,”,*c,d); main() chara=A,b=a; fun(&b,a);printf(“%c,%cn”,a,b); 程序运行后的输出结果是A)B,a,B,aB) a,B

8、,a,BC) A,b,A,bD) b,B,A,b(18) 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf(%d%d%d,&a,&b,d);B) scanf(%d%d%d,&a,&b,&d);C) scanf(%d%d%d,a,b,d);D) scanf(%d%d%d,a,b,*d);(19) 若定义:int a=511,*b=&a;, 则printf(%dn,*b);的输出结果为A) 无确定值B) a的地址C) 512D) 511(20) 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是A)

9、i=*p;B) p*=*&j;C) i=&j;D) i=*p;(21) 下列程序段的输出结果是A) 2 1 4 3B) 1 2 1 2C) 1 2 3 4D) 2 1 1 2以下是引用片段:voidfun(int*x,int*y) printf(“%d%d”,*x,*y);*x=3;*y=4; main() intx=1,y=2; fun(&y,&x); printf(“%d%d”,x,y); (22) 下列程序的运行结果是A) 6 3B) 3 6C) 编译出错D) 0 0以下是引用片段:voidfun(int*a,int*b) int*k; k=a;a=b;b=k; main() inta=

10、3,b=6,*x=&a,*y=&b; fun(x,y); printf(“%d%d”,a,b); (23) 有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12B) 11C) 10D) 编译出错(24) 有以下函数char fun(char *p) return p; 该函数的返回值是A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(25) 请选出正确的程序段A) int *p; B) int *s, k; scanf(%d,p);*s=100; C) int *s, k; D) int *s, k

11、; char *p, c; char *p, e; s=&k; s=&k; p=&c; p=&c; *p=a; s=p; *s=1; (26) 若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是A) 以下两处的*p含义相同,都说明给指针变量p赋值B) 在double r=99, *p=&r;中,把r的地址赋值给了p所指的存储单元C) 语句*p=r;把变量r的值赋给指针变量pD) 语句*p=r;取变量r的值放回r中(27) 以下程序运行后,a的值是A) 4 B) 1 C) 0 D) 运行时出错,a无定值以下是引用片段:main() inta,k=4,m=6,*p1=&k,*p2=&m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号