1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………学院专业班级学号姓名武汉理工大学考试试卷(B卷)2014~2015学年1学期高级语言程序设计课程时间120分钟64学时,4学分,闭卷,总分100分,占总评成绩70%年月日题号一二三四五六合计满分2010202030100得分一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。123456789101.设chara='\70';则变量aA.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示2.若a为int类型,且其值为3,则执行完表达式语句a+=a-=a*a;后,a的值是A.-12B.-3C.6D.93.设有inta=3,b=-4;表达式(ab)?a+b:(a-b,b+4,a-=b+4)的值是A.-1B.0C.3D.74.设有intx=2,y,z;执行z=y=x++;后变量z的值是A.0B.1C.2D.35.下面程序段执行后的输出结果是intx=1,y=-1;if(y=2)x=x-y;elsex=x+y;coutxendl;A.-1B.0C.1D.26.设inta;,则语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是A.0,0B.0,1C.1,0D.1,17.执行下面程序段后,输出字符B的个数是intx=0;while(x=5){coutB;x+=2;}A.0个B.3个C.5个D.6个得分28.下面有关重载函数的说法中,正确的是A.重载函数名可以不同B.重载函数必须有不同的形参列表C.重载函数形参个数必须不同D.重载函数必须具有不同的返回值类型9.若有inti,j=2,*p=&i;则能完成i=j赋值功能的语句是A.i=&j;B.i=**p;C.i=*p;D.*p=*&j;10.若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是A.p1=m;B.&p2=n;C.*p1=&m;D.pl=&m;p2=p1;二、填空题(本大题共5小题,每空1分,共10分)请在每小题的空格中填上正确答案,错填、不填均无分。1.C++中的每条基本语句以_______作为结束符,每条复合语句以______作为结束符。2.在函数外定义的变量称为______变量,若没有被初始化则系统隐含对它赋初值_____。3.声明或定义一个内联函数时,必须在函数开始使用保留字_____________。当不需要函数返回值时,则应把该函数类型定义为__________。4.在一个循环体中,可以用____________语句退出循环,还可以用________________语句结束本次循环。5.在C++,数组在内存中占一片的存储区,由代表它的首地址。三、程序阅读题(本大题共4小题,每小题5分,共20分)请将下面各程序的输出填写下划线处。1.#includeiostreamusingnamespacestd;intmain(){inta[4][4],i,j,sum=0;for(i=0;i4;i++)for(j=0;j4;j++)a[i][j]=i*4+j+1;for(i=0;i4;i++)sum=sum+a[i][i];coutsumendl;return0;}输出:得分得分32.#includeiostreamusingnamespacestd;intmain(){inti,p=1,sum=0;for(i=1;i=4;i++){p=p*i;sum=sum+p;}coutsumendl;return0;}输出:3.#includeiostreamusingnamespacestd;intfun(intx){intf;if(x=2)f=1;elsef=fun(x-1)+fun(x-2);returnf;}intmain(){coutfun(8)endl;return0;}输出:4.#includeiostreamusingnamespacestd;intmain(){chars[]=12345;char*p,*q,ch;for(p=s,q=s+strlen(s)-1;pq;p++,q--){ch=*p;*p=*q;*q=ch;}coutsendl;return0;}输出:4四、程序填空题(本大题共3小题,每空2分,共20分)请在程序中的下划线处填空,将程序补充完整。1.从键盘输入一个非负整数,将它反向显示出来。例如,输入1234,输出4321。#includeiostreamusingnamespacestd;intmain(){intnumber,digit;cinnumber;coutnumber的逆序数为;do{digit=_________________________;//(1)number=____________________________;//(2)coutdigit;}while(______________________);//(3)coutendl;return0;}2.用冒泡排序方法将输入的n个整数按从小到大的顺序排列输出。#includeiostreamusingnamespacestd;intmain(){inta[10],i,j,temp,n=10;for(i=0;in;i++)cina[i];for(i=1;i=__________;i++)//(4){for(j=0;j=__________;j++)//(5)if(______________________)//(6){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}for(i=0;in;i++)couta[i];coutendl;return0;}3.求所有的水仙花数。所谓水仙花数是指一个三位数的各位数字的立方和等于该数本身。例如:13+53+33=153。#includeiostream.hintmain(){inti,j,k;for(i=_____;i=9;i++)//(7)for(j=_____;j=9;j++)//(8)for(k=_____;k=9;k++)//(9)if(i*i*i+j*j*j+k*k*k==i*100+_______________)//(10)couti*i*i+j*j*j+k*k*k;coutendl;return0;}…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………得分5五、程序编写题(本大题共3小题,每小题10分,共30分)1.编写程序,求级数1-1/3+1/5-1/7+…前100项之和。2.编写一个函数intmax(inta[],intn),求具有n个元素的一维数组a中的最大元素值。3.设单链表的结点结构如下:structnode{intdata;node*next;}试编写一个函数doubleaver(node*head)计算单链表中所有节点的data平均值。得分6武汉理工大学考试试题答案(B卷)2014~2015学年1学期高级语言程序设计课程一、单项选择题(本大题共10小题,每小题2分,共20分)12345678910AACCACBBDD二、填空题(本大题共5小题,每空1分,共10分)1.;}2.全局03.inlinevoid4.breakcontinue5.连续数组名三、程序阅读题(本大题共4小题,每小题5分,共20分)1.342.333.214.54321四、程序填空题(本大题共3小题,每空2分,共20分)1.(1)number%10(2)number/10(3)number02.(4)n-1(5)n-1-i(6)a[j]a[j+1]3.(7)1(8)0(9)0(10)j*10+k(或k*10+j)五、程序编写题(本大题共3小题,每小题10分,共30分)1.#includeiostreamusingnamespacestd;intmain(){inti,j=1,s=1;doublesum=0;for(i=1;i=100;i++){sum=sum+s*1.0/j;j=j+2;s=-s;}coutsumendl;return0;}7…………装订线………………装订线内不要答题,不要填写信息………………装订线…………2.intmax(inta[],intn){inti,x;x=a[0];for(i=1;in;i++)if(xa[i])x=a[i];returnx;}3.doubleaver(node*head){intn=0,s=0;node*p;p=head;while(p!=NULL){n++;s=s+p-datap=p-next;}if(n==0)8