版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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='A'b='B' B) float a=b=10.0;C) int a=10,*b=&a; D)
2、float *a,b=&a;(4) 有以下程序main() int a=7,b=8,*p,*q,*r;p=&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(“
3、%d”,*pa) ;(6) 设有定义:int n=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); pri
4、ntf(“%c%cn”,c1,c2); 程序运行后的输出结果是A) AbB) aaC) AaD) Bb(8) 若程序中已包含头文件stdio.h, 以下选项中,正确运用指针变量的程序段是A) int *i=NULL; B) float *f=NULL;scanf("&d",f);
5、160; *f=10.5;C) char t="m", *c=&t; D) long *L;*c=&t;
6、60; L=0;(9) 有以下程序以下是引用片段:#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,
7、 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)
8、160; D) int max(int x,int y) int z; return(x>y?x:y) ; z=x>y?x:y; return(z);(12) 有以下程序段以下是引用片段:main()
9、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=0xbc; c=xab; d="0127" printf("%c%c%c%cn",a,b,c,*d); 编译时出现错误,以下叙述中正确的是A) 程序中只有a=;语句不
10、正确B) b=0xbc;语句不正确C) d="0127"语句不正确D) a=;和c=0xab;语句都不正确(14) 若有以下定义和语句以下是引用片段:#include int a=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) return
11、160;x; else return y; main() int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=f(p,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) 有以下程序以下是引用片段:void fun(char *c,int d) &
12、#160;*c=*c+1;d=d+1; printf(“%c,%c,”,*c,d); main() char a=A,b=a; fun(&b,a); printf(“%c,%cn”,a,b); 程序运行后的输出结果是A)B,a,B,aB) a,B,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"
13、,&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) i=*p;B) p*=*&j;C) i=&j;D) i=*p;(21) 下列程序段的输出结果是A) 2 1 4 3
14、B) 1 2 1 2C) 1 2 3 4D) 2 1 1 2以下是引用片段:void fun(int *x, int *y) printf(“%d %d”, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun(&y,&x); printf(“%d %d”,x, y); (22) 下列程序的运行结果是A) 6 3B) 3 6C) 编译出错D) 0 0以下是引用片段:void fun(int&
15、#160;*a, int *b) int *k; k=a; a=b; b=k; main() int a=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
16、p; 该函数的返回值是A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(25) 请选出正确的程序段A) int *p; B) int *s, k; scanf("%d",p)
17、; *s=100;
18、60; C) int *s, k; D) int *s, k; char *p, c;
19、; char *p, e; s=&k; s=&k;
20、60; p=&c; p=&c; *p='a'
21、0; s=p;
22、0; *s=1; (26
23、) 若有以下定义和语句: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() int a,k=4,m=6,*p1=&k,*p2=
24、&m; a=p1=&m; printf("%dn",a); (28) 有以下程序以下是引用片段:int fun(int x,int y,int *cp,int *dp) *cp=x+y; *dp=x-y; main() int a, b, c, d; a=30; b=50; fun(a,b,&c,&d); printf("%d,%dn", c, d); 输出结
25、果是A) 50,30B) 30,J50C) 80,-20D) 80,20(29) 若有定义和语句:int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%dn",*p,*pp);则输出结果是:A)10,20B)10,10C)20,10D)20,20(30) 以下程序的输出结果是以下是引用片段:#include subl(char a,char b) char c; c=a;a=b;b=c; sub2(char* a,char b) ch
26、ar c; c=*a;*a=b;b=c; sub3(char* a,char*b) char c; c=*a;*a=*b;*b=c; char a,b; a='A'b='B'sub3(&a,&b);putchar(a);putchar(b); a='A'b='B'sub2(&a,b);putchar(a);prtchar(b); a='A'b='B'sub1(a,b);putchar(
27、a);putchar(b); A) BABBABB) ABBBBAC) BABABAD) BAABBA(31) 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是A) I= *P;B) *P=*&J;C) i=&j;D) i=* *p;(32) 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是A)funa(int *x,int *y) B) funb(int x,int y)int
28、*p; int t;*p=*x;*x=*y;*y=*p; t=x;x=y;
29、y=t;C) func(int *x,int *y) D) fund(int x,int y)*x=*y;*y=*x; *x=*x+*y; *y=*x-*y; *x=*x-*y; 二、填空题:(1) 有以
30、下程序以下是引用片段:void f( int y,int *x) y=y+*x; *x=*x+y; main( ) int x=2,y=4; f(y,&x); printf(“%d %dn”,x,y); 执行后输出的结果是【1】 。(2) 下面程序的运行结果是: 2 。以下是引用片段:void swap(int *a,int *b) int *t; t=a; a=b; b=t; main() int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf(“%d%dn”,*p,*q); (3) 设有以下程序:以下是引用片段:main() int a, b, k=4, m=6, *p1=&k, *p2=&m; a=pl=&m; b=(*p1)/(*p2)+7; printf(“a=%dn”,a); printf(“b=%dn”,b); 执行该程序后,a的值为【3】 ,b的值为【4】 。(4) 下列程序的输出结果是 【5】 。以下是引用片段:void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 店铺运营管理方案(2篇)
- 会计学(黑龙江联盟)-知到答案、智慧树答案
- 画法几何与机械制图(山东联盟)-知到答案、智慧树答案
- 机关党务工作者事迹材料-总结报告模板
- 2024年图示仪项目资金筹措计划书代可行性研究报告
- 2023年电热设备:电热管资金申请报告
- 2023年米面机械休闲设备资金筹措计划书
- 2023年减肥保健品资金筹措计划书
- 2023年茶具酒器投资申请报告
- 2024年细菌活苗项目资金需求报告代可行性研究报告
- 巴罗宏观课后习题答案(2-18章)
- 110KV电流互感器
- 小学科学实验探究题
- 福建省小学六年级数学毕业考试试卷带答案
- 五年级下册英语课件-M3 Unit2 Sam ate four hamburgers|外研版(三起)(共16张PPT)
- 案例研究儿童商业主题业态介绍与分析
- 明天会更好歌词(打印30份)
- 广东超高层公寓非标准层铝模施工技术标准
- 焦作地区水文地质和工程地质认识实习
- 世界主要国家的土地所有制
- 精品资料(2021-2022年收藏)中国大唐集团公司光伏项目精品工程创建及评价管理办法
评论
0/150
提交评论