首页 全国计算机等级考试二年级C语言指针测试题

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

举报
开通vip

全国计算机等级考试二年级C语言指针测试题ThismanuscriptwasrevisedonNovember28,2020全国计算机等级考试二年级C语言指针测试题  一、选择题  (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\n",*p);的输出结果是B  A)随机值  B)0  C)x的地址 D)p的地址  (3)以下定义语句中正确的是C  ...

全国计算机等级考试二年级C语言指针测试题
ThismanuscriptwasrevisedonNovember28,2020全国计算机等级考试二年级C语言指针测试 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题   一、选择题  (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\n",*p);的输出结果是B  A)随机值  B)0  C)x的地址 D)p的地址  (3)以下定义语句中正确的是C  A)chara='A'b='B';B)floata=b=;C)inta=10,*b=&a;D)float*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\n",*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); 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%c\n”,c1,c2);  }  程序运行后的输出结果是  A)Ab  B)aa  C)Aa  D)Bb  (8)若程序中已包含头文件,以下选项中,正确运用指针变量的程序段是D  A)int*i=NULL;B)float*f=NULL;   scanf("%d",i);*f=;  C)chart="m",*c=&t;  D)long*L;   *c=&t;   L=‘\0’;  (9)有以下程序A以下是引用片段:  #inc1ude  main()  {printf("%d\n",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>yx:y;} {   intz;                       z=x>yx:y;                       returnz;   }  C)max(intx,inty)  D)intmax(intx,inty)   {intz;    {return(x>yx:y);}    z=x>yx:y;return(z);   }  (12)有以下程序段C以下是引用片段:  main()  {inta=5,*b,**c;  c=&b;b=&a;  ……  }  程序在执行了c=&b;b=&a;语句后, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式:**c的值是  A)变量a的地址  B)变量b中的值  C)变量a中的值  D)变量b的地址  (13)有以下程序D以下是引用片段:  main()  {chara,b,c,*d;  a=’\’;b=‘\xbc’;  c=‘\0xab’;d="\017";  print("%c%c%c\n",a,b,c,*d);  }  编译时出现错误,以下叙述中正确的是  A)程序中只有a=’\’;语句不正确  B)b=‘\xbc’;语句不正确  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  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=&a,*q=&b,*r};r=f(p,q);printf(“%d,%d,%d”,*p,*q,*r);  }  执行后输出结果是B  A)7,8,8  B)7,8,7  C)8,7,7  D)8,7,8  (16)若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是D  A)p=q;  B)*p=*q;  C)n=*q;  D)p=n;  (17)有以下程序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  (18)若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A  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)若定义:inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为D  A)无确定值  B)a的地址  C)512  D)511  (20)若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是B  A)i=*p;  B)p*=*&j;  C)i=&j;  D)i=**p;  (21)下列程序段的输出结果是A  A)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);  }  (22)下列程序的运行结果是B  A)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);  }  (23)有如下程序段B  int*p,a=10,b=1  p=&a;a=*p+b;  执行该程序段后,a的值为  A)12  B)11  C)10  D)编译出错  (24)有以下函数B  charfun(char*p)  {returnp;}  该函数的返回值是  A)无确切的值  B)形参p中存放的地址值  B)一个临时存储单元的地址  D)形参p自身的地址值  (25)请选出正确的程序段C  A)int*p;B)int*s,k; scanf("%d",p);*s=100;  … …  C)int*s,k;D)int*s,k; char*p,c;char*p,e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; … *s=1;   …  (26)若有以下定义和语句:D  doubler=99,*p=&r;  *p=r;  则以下正确的叙述是  A)以下两处的*p含义相同,都说明给指针变量p赋值  B)在"doubler=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元  C)语句"*p=r;"把变量r的值赋给指针变量p  D)语句"*p=r;"取变量r的值放回r中  (27)以下程序运行后,a的值是C  A)4B)1C)0D)运行时出错,a无定值以下是引用片段:  main()  {inta,k=4,m=6,*p1=&k,*p2=&m;  a=p1==&m;  printf("%d\n",a);  }  (28)有以下程序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  (29)若有定义和语句:D  int**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  (30)以下程序的输出结果是A以下是引用片段:  #include  subl(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)BABBAB  B)ABBBBA C)BABABA  D)BAABBA  (31)若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是B  A)I=*P;  B)*P=*&J;  C)i=&j;  D)i=**p;  (32)要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是D  A)funa(int*x,int*y)B)funb(intx,inty)    {int*p;{intt;    *p=*x;*x=*y;*y=*p;}t=x;x=y;y=t;}  C)func(int*x,int*y)D)fund(intx,inty)    {*x=*y;*y=*x;}{*x=*x+*y;*y=*x-*y;*x=*x-*y;}  二、填空题:  (1)有以下程序以下是引用片段:  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)下面程序的运行结果是:[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);  }  (3)设有以下程序:以下是引用片段:  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】7。  (4)下列程序的输出结果是【5】0。以下是引用片段:  voidfun(int*n)  {while((*n)--);  printf(“%d”,++(*n));  }  main()  {inta=100;  fun(&a);  }  (5)以下函数用来求出两整数之和,并通过形参将结果传回,请填空。以下是引用片段:  voidfunc(intx,inty,【6】z)int*  {*z=x+y;}  (6)函数voidfun(float*sn,intn)的功能是:根据以下公式计算S=1-1/3+1/5-1/7+…,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。以下是引用片段:  voidfun(float*sn,intn)  {floats=,w,f=;  inti=0;  for(i=0;i<=n;i++)  {f=【7】*f;-1  w=f/(2*i+1);  s+=w;  }  【8】=s;*sn  }  (7)以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。请填空。以下是引用片段:  exchange(int*x,int*y)  {intt;  t=*y;*y=【9】;*x*x=【10】;t  }  (8)下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。  intadd(intx,inty,【11】z)int*  {【12】=x+y;}*z   答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 :  一、选择题  01)A  02)B  03)C  04)C  05)A  06)D  07)A  08)D  09)A  10)C  11)B  12)C  13)D  14)A  15)B  16)D  17)D  18)A  19)D  20)B  21)A  22)B  23)B  24)B  25)C  26)D  27)C  28)C  29)D  30)A  31)B  32)D  二、填空题  (1)84  (2)35  (3)0  (4)7  (5)0  (6)int* (7)–1  (8)*sn  (9)*x  (10)t  (11)int* (12)*z
本文档为【全国计算机等级考试二年级C语言指针测试题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
玲玲
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:0
分类:企业经营
上传时间:2021-09-13
浏览量:1