全国计算机等级考试二级C语言指针测试题_第1页
全国计算机等级考试二级C语言指针测试题_第2页
全国计算机等级考试二级C语言指针测试题_第3页
全国计算机等级考试二级C语言指针测试题_第4页
全国计算机等级考试二级C语言指针测试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是A*p=*q; B)p=q; C)*p=&n1; D)p=*q;若有定义:intx=0,*p=&x;,则语句printf(”%d\n",*p);的输出结果是BA)随机值 B)0 C)x的地址 D)p的地址以下定义语句中正确的是Cchara='A'b='B';B)floata=b=l0.0;C)inta=l0,*b=&a;D)float*a,b=&a;⑷有以下程序Cmain(){inta=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);}程序运行后的输出结果是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读入数据的是AA)scanf(“%d”,pA);B)scanf(“%d”,a);C)scanf(“%d”,&pA);D)scanf(“%d”,*pA);设有定义:intn=O,*p=&n,**q=&p;则以下选项中,正确的赋值语句是DA)p=l; B)*q=2; C)q=p; D)*p=5;有以下程序A以下是引用片段:voidfun(char*a,char*b){a=b;(*a)++;}main(){charcl="A",c2="a",*pl,*p2;pl=&cl;p2=&c2;fun(pl,p2);printf(“%c%c\n”,cl,c2);}程序运行后的输出结果是A)Ab B)aa C)Aa D)Bb若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是DA)int*i=NULL;

scanf("%d",i);float*f=NULL;*f=l0.5;A)int*i=NULL;

scanf("%d",i);float*f=NULL;*f=l0.5;C)chart="m",*c=&t;*c=&t;⑼有以下程序A以下是引用片段:C)chart="m",*c=&t;*c=&t;⑼有以下程序A以下是引用片段:#includemain(){printf("%d\n",NULL);}程序运行后的输出结果是A)0 B)l(10)已定义以下函数Cfun(int*p){return*p;}该函数的返回值是A)不确定的值C)形参p所指存储单元中的值D)longC)-l*L;L=‘\0';D)NULL没定义,出错B)形参p中存放的值D)形参p的地址值(11)下列函数定义中,会出现编译错误的是BA)max(intx,inty,int*z){A)max(intx,inty,int*z){*z=x>y?x:y;}max(intx,inty){intz;z=x>y?x:y;return(z);}(12)有以下程序段C

以下是引用片段:main(){inta=5,*b,**c;c=&b;b=&a;intmax(intx,y){intz;z=x>y?x:y;returnz;}intmax(intx,inty){return(x>y?x:y);}}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是A)变量a的地址 B)变量b中的值C)变量a中的值 D)变量b的地址有以下程序D以下是引用片段:main(){chara,b,c,*d;a='\';b=‘\xbc';c=‘\0xab';d="\017";print("%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是程序中只有a='\';语句不正确b=‘\xbc';语句不正确d="\0127";语句不正确a='\';和c=‘\0xab';语句都不正确若有以下定义和语句以下是引用片段:#includeinta=4,b=3,*p,*q,*w;p=&a;q=&b;w=q;q=NULL;则以下选项中错误的语句是AA)*q=0; B)w=p; C)*p=a; D)*p=*w;有以下程序以下是引用片段:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p=&a,*q=&b,*r};r=f(p,q);printf(“%d,%d,%d”,*p,*q,*r); }执行后输出结果是BA)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是DA)p=q; B)*p=*q; C)n=*q; D)p=n;有以下程序D以下是引用片段: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,%c\n”,a,b);}程序运行后的输出结果是A)B,a,B,a B)a,B,a,B C)A,b,A,b D)b,B,A,b若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是AA)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);若定义:inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为DA)无确定值 B)a的地址 C)512 D)511若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是BA)i=*p; B)p*=*&j; C)i=&j; D)i=**p;下列程序段的输出结果是AA)2143 B)1212 C)1234 D)2112以下是引用片段: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);}下列程序的运行结果是BA)63 B)36 C)编译出错 D)00以下是引用片段:voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf(“%d%d”,a,b);}有如下程序段Bint*p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为A)12 B)11 C)10 D)编译出错有以下函数Bcharfun(char*p){returnp;}该函数的返回值是A)无确切的值A)无确切的值B)形参p中存放的地址值B)一个临时存储单元的地址(25)请选出正确的程序段CB)一个临时存储单元的地址(25)请选出正确的程序段CD)形参p自身的地址值A)int*p;int*s,k;scanf("%d",p);*s=100;int*s,k;char*p,c;s=&k;p=&c;*p='a';int*s,k;int*s,k;char*p,c;s=&k;p=&c;*p='a';int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;(26)若有以下定义和语句:Ddoubler=99,*p=&r;*p=r;则以下正确的叙述是以下两处的*卩含义相同,都说明给指针变量p赋值在"doubler=99, *p=&r;"中,把r的地址赋值给了p所指的存储单元语句”*p=r;"把变量r的值赋给指针变量p语句”*p=r;"取变量r的值放回r中(27)以下程序运行后,a的值是CA)4 B)1 C)0 D)运行时出错,a无定值以下是引用片段:main(){inta,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);}有以下程序C以下是引用片段:intfun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf("%d,%d\n",c,d);}输出结果是A)50,30 B)30,J50 C)80,-20 D)80,20若有定义和语句:Dint**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);则输出结果是:A)10,20 B)10,10 C)20,10 D)20,20以下程序的输出结果是A以下是引用片段:

#includesubl(chara,charb){charc;c=a;a=b;b=c;}sub2(char*a,charb){charc;c=*a;*a=b;b=c;}sub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}{chara,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(a);putchar(b);}A)BABBABB)ABBBBAC)BABABAD)BAABBA若有说明:inti,j=7, *p=&i;,则与i=j;等价的语句是BA)I=*P; B)*P=*&J; C)i=&j; D)i=**p;A)funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}C)func(int*x,int*y){*x=*y;*y=*x;}二、填空题:(1)有以下程序A)funa(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}C)func(int*x,int*y){*x=*y;*y=*x;}二、填空题:(1)有以下程序以下是引用片段:B)funb(intx,inty){intt;t=x;x=y;y=t;}fund(intx,inty){*x=*x+*y;*y=*x-*y;*x=*x-*y;}voidf(inty,int*x){y=y+*x;*x=*x+y;}main(){intx=2,y=4;f(y,&x);printf(“%d%d\n”,x,y);}执行后输出的结果是【1】。84下面程序的运行结果是:[2]。35以下是引用片段:voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){intx=3,y=5,*p=&x,*q=&y;swap(p,q);printf(“%d%d\n”,*p,*q);}设有以下程序:以下是引用片段:main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=pl==&m;b=(*p1)/(*p2)+7;printf(“a=%d\n”,a);printf(“b=%d\n”,b);}执行该程序后,a的值为【3】0,b的值为【4】乙。下列程序的输出结果是【5】0。以下是引用片段:voidfun(int*n){while((*n)--);printf(“%d”,++(*n));}main(){inta=100;fun(&a);}以下函数用来求出两整数之和,并通过形参将结果传回,请填空。以下是引用片段:voidfunc(intx,inty,【6】z)int*{*z=x+y;}函数voidfun(float*sn,intn)的功能是:根据以下公式计算S=l-l/3+l/5-l/7+…,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。以下是引用片段:voidfun(float*sn,intn){floats=0.0,w,f=-l.0;inti=0;for(i=0;i<=n;i++){f=【7】*f; -1w=f/(2*i+l);s+=w;}【8】=s; *sn}以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。以下是引用片段:exchange(int*x,int*y){intt;TOC\o"1-5"\h\zt=*y;*y=【9】; *x*x=【10】; _t}下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论