您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2015高级语言程序设计考卷A及参考答案
1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………学院专业班级学号姓名武汉理工大学考试试卷(A卷)2015~2016学年1学期高级语言程序设计课程时间120分钟64学时,4学分,闭卷,总分100分,占总评成绩70%年月日题号一二三四五六合计满分2616181030100得分一、单项选择题(本大题共13小题,每小题2分,共26分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。123456789101112131..在C++中,合法的字符常量是A.‘\084'B.‘\x43'C.‘ab'D.“\0”2.C++中,下列运算符优先级最高的是A.!B.%C.D.==3.已知intx=7,y=8,z=5;则表达式(x*y/z++)的值是A.9B.9.33C.11D.11.204.设inta=2,b=3,c=4;,则表达式ab&&bc||b的值是A.-1B.0C.1D.25.设intu=1,v=3;则表达式u=v的值是A.0B.1C.3D.86.执行下面程序段后,输出字符B的个数是intx=0;while(x=5){coutB;x+=2;}A.0个B.3个C.5个D.6个7.下面程序段执行后的输出结果是intx=2;while(x--);coutxendl;A.-1B.0C.1D.2得分28.设intb[][5]={1,2,3,4,5,6,7};,则元素b[1][2]的值是A.0B.2C.6D.79定义二维数组并初始化,正确的是A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};10.设宏定义#defineP(x)x/x则执行语句coutP(4+6)endl;后的输出结果是A.1B.8.5C.11D.11.511.若变量已正确定义并且指针p已经指向变量x,则*&x相当于A.xB.pC.&xD.&*p12.设chars[10],*p=s;下列语句中错误的是A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];13.若inta[3]={1,2,3},*p;则下列赋值语句中正确的是A.p=&a;B.*p=a;C.*(a+1)=a;D.p=a+1二、程序阅读题(本大题共4小题,每小题4分,共16分)请将下面各程序的输出填写下划线处。1.#includeiostreamusingnamespacestd;intmain(){charc1,c2;for(c1='0',c2='9';c1c2;c1++,c2--)coutc1c2;coutendl;return0;}输出:2.#includeiostreamusingnamespacestd;intmain(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i3;i++)for(j=0;j=i;j++)s+=a[i][j];coutsendl;return0;}输出:得分33.#includeiostreamusingnamespacestd;intd=1;voidfun(int);intmain(){inta=3;fun(a);d+=a++;coutdendl;return0;}voidfun(inta){intd=5;d+=a++;coutd;}输出:4.#includeiostreamusingnamespacestd;intmain(){charch[]={12yue25ri};inti,s=0;for(i=0;ch[i]='0'&&ch[i]='9';i++)s=10*s+ch[i]-'0';coutsendl;return0;}输出:四、程序填空题(本大题共2小题,每空3分,共18分)请在程序中的下划线处填空,将程序补充完整。1.求1―1/3+1/5―1/7+1/9…的前100项的和。#includeiostreamusingnamespacestd;intmain(){intn,sign=1;doubles=0;for(n=1;___________;n++)//(1){s=s+_____________;//(2)sign=___________;//(3)}cout“s=sendl;return0;}得分42.将从键盘上输入的十进制数(long型)以二到十六进制形式输出#includeiostreamusingnamespacestd;intmain(){charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};intc[64],base,i;longn;coutEnteranumber:;cinn;coutEnternewbase:;cinbase;i=0;do{c[i]=______________;//(4)i++;n=_________________;//(5)}while(n!=0);coutTransmitenewbase:;for(--i;i=0;--i)cout__________________;//(6)coutendl;return0;}四、程序改错题(本大题共1小题,每改正一处错误5分,共10分)下面程序中,函数fun的功能是判断整数n是否是”完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为”完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。请改正函数fun中的2处错误,使它能得出正确的结果。#includeiostreamintmain(){usingnamespacestd;intn,a[50],flag,i,k;intfun(intn,inta[],int*k){cinn;intm=0,i,t;flag=fun(n,a,&k);t=n;if(flag){for(i=1;in;i++)coutn是完数,其因子是:;if(n%i==0){for(i=0;ik;i++)couta[i];a[m]=i;coutendl;m++;}t=t-i;else}coutn不是完数!endl;k=m;return0;if(t=0)return1;}elsereturn0;}…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………得分5五、程序编写题(本大题共3小题,每小题10分,共30分)1.如果一个自然数从左向右读或是从右向左读完全一致,这样的自然数称为回文数。例如,121是一个回文数。编写一个程序,输出所有的3位回文数。2.编写一个函数invert(inta[],intk),将指定数组a中的前k个元素逆置。得分63.设单链表的结点结构如下:structnode{intdata;node*next;}编写一个函数node*reserver(node*head)将以head为头指针的单链表逆序。7…………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2015~2016学年1学期高级语言程序设计课程一、单项选择题(本大题共13小题,每小题2分,共26分)12345678910111213BACCDBAACCABD二、程序阅读题(本大题共4小题,每小题4分,共16分)1.09182736452.183.844.12三、程序填空题(本大题共2小题,每空3分,共18分)1.(1)n=100(2)sign*1.0/(2*n-1)(3)-sign2.(4)n%base(5)n/base(6)b[c[i]]四、程序改错题(本大题共1小题,每改正一处错误5分,共10分)k=m;改为*k=mif(t=0)改为if(t==0)五、程序编写题(本大题共3小题,每小题10分,共30分)1.#includeiostreamusingnamespacestd;intmain(){inti,j;for(i=1;i=9;i++)for(j=0;j=9;j++){cout100*i+10*j+i;}coutendl;return0;}82.voidinvert(inta[],intk){inti,t;for(i=0;ik/2;i++){t=a[i];a[i]=a[k-1-i];a[k-1-i]=t;}}3.node*reserver(node*head){node*p,*q;p=head;head=NULL;while(p){q=p;p=p-next;q-next=head;head=q;}returnhead;}9
本文标题:2015高级语言程序设计考卷A及参考答案
链接地址:https://www.777doc.com/doc-2156337 .html