您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2012高级语言程序设计考卷B及参考答案
1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………学院专业班级学号姓名武汉理工大学考试试卷(B卷)2012~2013学年1学期高级语言程序设计课程时间120分钟64学时,4学分,闭卷,总分100分,占总评成绩70%年月日题号一二三四五六合计满分201010201030100得分一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。123456789101.在C++中,错误的int类型的常数是A.0B.037C.0xafD.1E52.已知intx=7,y=8,z=5;则表达式(x*y/z++)的值是A.9B.9.33C.11D.11.203.与k=n++完全等价的表达式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+14.设inta=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是A.2B.3C.4D.55.设inta;,则语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是A.0,0B.1,0C.0,1D.1,16.若有定义inta[4]={1,2,3,4};则a[a[0]+2*a[2]-a[3]]等于A.1B.2C.3D.47.定义二维数组并初始化,正确的是A.inta[][]={1,2,3,4,5,6};B.inta[][3]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};8.下面有关重载函数的说法中,正确的是A.重载函数名可以不同B.重载函数必须有不同的形参列表C.重载函数形参个数必须不同D.重载函数必须具有不同的返回值类型得分29.在C++中,函数的形式参数是A.局部变量B.全局变量C.静态变量D.外部变量10.有以下定义和语句inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是A.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]二、填空题(本大题共5小题,每空1分,共10分)请在每小题的空格中填上正确答案,错填、不填均无分。1.C++中,选择语句有_________语句和__________________语句。2.C++语言中引用是被引用对象的_________,在声明时必须_________。3.从一条函数原型语句“voidfun(int,int);”可知,该函数的返回值类型为______,该函数带有______个参数。4.程序在内存中的分布情况为代码区、____________、堆区和____________。5.若有定义:charch[]=”abcde”,则数组ch的下标的合法范围为从__________到__________。三、判断题(本大题共5小题,每小题2分,共10分)下面的说法正确的在题号前括号内打“√”;错误的打“x”。()1.for语句的循环体至少执行一次。()2.一个C++程序必须由两个以上函数组成。()3.引用在函数参数传递中,可以解决大对象的传递效率和空间都不如意的问题。()4.C++中,二维数组的元素在内存中是按行序优先的方式存放的。()5.类型为整型的指针变量也可以指向字符型变量。四、程序阅读题(本大题共4小题,每小题5分,共20分)请将下面各程序的输出填写下划线处。1.#includeiostream.hintmain(){inti,s=0;for(i=1;i=5;i++)s+=3*i-1;couts=sendl;return0;}输出:得分得分得分32.#includeiostream.hintfib(void){staticintf0=0,fl=1;intf;f=f0+fl;f0=fl;fl=f;return(f);}intmain(){inti,s=0;for(i=1;i=3;i++)s=s+fib();coutsendl;return0;}输出:3.#includeiostream.hunsigneddigit(unsignedd,unsignedn);intmain(){coutdigit(1942,2)endl;return0;}unsigneddigit(unsignedd,unsignedn){unsignedm=0;while(n0){m=d-d/10*10;d=d/10;n--;}return(m);}输出:4.#includeiostreamusingnamespacestd;intmain(){chars[7]=ABCDEF,c;char*p=s,*q=s+5;inti;for(i=0;i3;i++,p++,q--){c=*p;*p=*q;*q=c;}coutsendl;return0;}输出:____________________4五、程序填空题(本大题共2小题,每空2分,共10分)请在程序中的下划线处填空,将程序补充完整。1.将100元换成10元、5元和1元的组合,共有多少种组合方法。#includeiostreamusingnamespacestd;intmain(){inti,j,k,count=0;//i是10元张数,j是5元张数,k是1元张数for(i=0;___________;i++)//(1)for(j=0;___________;j++)//(2){k=___________;//(3)couti'\t'j'\t'kendl;count++;}coutcountendl;return0;}2.下列程序的功能是求一个二维整型数组中的最小值,并指明它是数组的第几行第几列的元素(约定:下标为[0][0]的元素是第1行第1列的元素)。#includeiostreamusingnamespacestd;intmain(){inta[3][4]={10,2,3,4,5,99,7,8,9,10,56,23},k,m,min,i,j;min=a[0][0];for(i=0;i3;i++)for(j=0;j4;j++)if(________________)//(1){____________________;//(2)m=i;k=j;}cout最小值=min,是第m+1行第k+1列\n;}…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………得分5六、程序编写题(本大题共3小题,每小题10分,共30分)1.编写一个程序,计算1+1/4+1/7+1/10+…的前200项的和。2.编写一个程序,求所有的千位数字与十位数字之和等于百位数字与个位数字之积的四位正整数的个数,例如,3136,3+3=1*6,故3136是所求的四位数。得分63.设单链表的结点结构如下:structnode{intdata;node*next;}试编写一个函数intsum(node*head)计算单链表中data值为正整数的所有元素之和。7…………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(B卷)2012~2013学年1学期高级语言程序设计课程一、单项选择题(本大题共10小题,每小题2分,共20分)12345678910DCACBDBBAC二、填空题(本大题共5小题,每空1分,共10分)1.ifswtich2.别名初始化3.void24.全局数据区栈区5.05三、判断题(本大题共5小题,每小题2分,共10分)1.(x)2.(x)3.(√)4.(√)5.(x)四、程序阅读题(本大题共4小题,每小题5分,共20分)1.s=402.63.44.FEDCBA五、程序填空题(本大题共2小题,每空2分,共10分)1.(1)i=10(2)j=(100-10*i)/5(3)100-10*i-5*j2.(1)a[i][j]min(2)min=a[i][j]六、程序编写题(本大题共3小题,每小题10分,共30分)1.#includeiostream.hintmain(){intn,k;doubles=0;k=1;for(n=1;n=200;n++){s=s+1.0/k;k=k+3;}couts=sendl;return0;}82.#includeiostream.hintmain(){inta,b,c,d,n,i;i=0;for(n=1000;n=9999;n++){a=n/1000;b=(n-a*1000)/100;c=(n-a*1000-b*100)/10;d=n%10;if(a+c==b*d)i++;}coutiendl;return0;}3.intsum(node*head){ints=0;node*p;p=head;while(p!=NULL){if(p-data0)s=s+p-data;p=p-next;}returns;}9
本文标题:2012高级语言程序设计考卷B及参考答案
链接地址:https://www.777doc.com/doc-2156344 .html