您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2018高级语言程序设计考卷A及参考答案
1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………姓名学号专业班级学院武汉理工大学考试试卷(A卷)2018~2019学年1学期高级语言程序设计A课程闭卷时间120分钟,56学时,3.5学分,总分100分,占总评成绩70%年月日题号一二三四五六七八九十合计任课教师满分30251530100得分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。1234567891011121314151.下列选项中,可以用作用户定义的合法标识符的是A.defineB._out2C.stu&3D.5_example2.若x=1,y=2,执行x=++y+5后,x和y的值分别为A.7和2B.7和3C.8和2D.8和33.设有定义intx=1,y=2,z;执行z=(x=y)?x+5:y+10后,变量x和z的值分别为A.1和6B.1和12C.2和6D.2和74.设有定义chars[10]=A\102\x43;则字符串s的长度为A.3B.5C.9D.105.设有定义intn=1;执行语句“while(n++3);”后,变量n的值为A.1B.2C.3D.46.设有定义inta[5];则a数组中首元素的地址可以表示为A.&aB.aC.a+1D.&a[1]7.设变量m定义为“intm=7;”,则定义变量p的正确语句为A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;8.已知某cpp文件中已经定义了函数fun,其原型是intfun(char='A');则下列函数中,可以在同一系统中进行重载的是A.intfun();B.voidfun(char);C.intfun(char,int);D.intfun(char,double=0.0);得分29.数组定义为inta[3][2]={1,2,3,4,5,6},值为3的数组元素是A.a[0][2]B.a[1][0]C.a[1][3]D.a[2][1]10.定义一个指向具有4个元素的一维整型数组的指针变量的正确方法为A.int(*p)[4];B.int*p;C.int*p[4];D.int*p[][4];11.设有定义chara[]=xyz,b[]={'x','y','z'};,则sizeof(a)和sizeof(b)的值分别为A.33B.34C.43D.4412.设charx[][10]={Windows,dos,unix};,执行coutx[1][2];后输出的结果是A.nB.iC.oD.s13.若有inta[5][5],(*p)[5];且有p=a;则数组元素a[3][4]可以表示为A.&a[3][4]B.*(p+3)+4C.*(&a[3]+4)D.*(*(p+3)+4)14.设int(*p)(inta);,p的含义是A.指向一维数组的指针变量B.指向二维数组的指针变量C.指向整型函数的指针变量D.指向一个整型变量的指针变量15.设宏定义#defineP(x)x/x则执行语句coutP(4+6)endl;后的输出结果是A.1B.8.5C.11D.11.5二、程序阅读题(本大题共5小题,每小题5分,共25分)请将下面各程序运行后的输出结果填写在下划线处。16.16.#includeiostreamusingnamespacestd;intmain(){inti,x,y,last=1;x=8,y=9;for(i=1;i=y;i++)last=last*x%100;coutlastendl;return0;}输出:17.#includeiostreamusingnamespacestd;intmain(){intx,y;x=1;y=10;while(y0){x=2*(x+1);y--;}coutxendl;return0;}输出:得分318.#includeiostreamusingnamespacestd;intfun(intx){if(x10)returnx;elsereturnx%10+fun(x/10);}intmain(){intx=19491001;coutfun(x)endl;return0;}输出:19.#includeiostreamusingnamespacestd;intreSum(intj){intsum=0;while(j!=0){sum=sum*10+(j%10);j=j/10;}returnsum;}intmain(){inti,s=0;for(i=90;i120;i++)if(i==reSum(i))s+=i;coutsendl;return0;}输出:20.#includeiostreamusingnamespacestd;voidchg(char*s){while(*s){if(*s=='z'||*s=='Z')*s-=25;elseif(*s='a'&&*s='y')*s+=1;elseif(*s='A'&&*s='Y')*s+=1;s++;}}intmain(){chara[]=ZuMa;chg(a);coutaendl;return0;}输出:4三、程序填空题(本大题共2小题,每空3分,共15分)请填空将下面的程序补充完整以实现指定的功能。要求每个空只能填写一个表达式。多余填写一律无分。21.ThisprogramistosolveaninterestingmathquestioninKarlMarx'smanuscript.TheProblemisasfollows:30personsspent50yuaninarestaurant,amonythem,eachmanspent3yuan,eachwomanspent2yuan,andeachchildspent1yuan.Thequestionishowmanymen,womenandchildrenarethere?#includeiostreamusingnamespacestd;intmain(){intx,y,z;coutMen\tWomen\tChildrenendl;for(x=0;x=10;x++){________________;//(1)________________;//(2)if(__________________________)//(3)coutx\ty\tzendl;}return0;}22.Thisprogramwillfindthefourfigureswhichhavethecharacteristicasfollows:abcd=(ab+cd)^2.e.g.,3025=(30+25)*(30+25).#includeiostreamusingnamespacestd;intmain(){intn,a,b;for(n=1000;n10000;n++){________________;//(1)________________;//(2)if((a+b)*(a+b)==n)coutn;}coutendl;return0;}…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………得分5…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………姓名学号专业班级学院四、程序编写题(本大题共3小题,每小题10分,共30分)23.1/1+1/2+1/3+1/4+...在数学上称为调和级数。它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:前1项和达到1.0,前4项和才超过2.0,前83项的和才超过5.0,…编写程序计算一下,要加多少项,才能使得和达到或超过10.0?24.下面程序中voidfunc(chars[],intc)函数的功能是删除字符串s中指定的字符c。编程实现该函数的定义,使得程序运行后,输出:Iamaboy!#includeiostreamusingnamespacestd;voidfunc(chars[],intc);intmain(){charstr[]=Iamaboy!;func(str,'');coutstrendl;return0;}得分625.设单链表的结点结构如下:structnode{intdata;node*next;}试编写一个函数intsum(node*head)计算单链表中data值为正整数的所有元素之和。7…………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(A卷)2018~2019学年1学期高级语言程序设计A课程一、单项选择题(本大题共15小题,每小题2分,共30分)123456789101112131415ADDADBBCBACDDCC二、程序阅读题(本大题共5小题,每小题5分,共25分)16.2817.307018.2519.31120.AvNb三、程序填空题(本大题共2小题,每空3分,共15分)21.(1)y=20-2*x(2)z=30-x-y(3)3*x+2*y+z==5022.(1)a=n/100(2)b=n%100四、程序编写题(本大题共3小题,每小题10分,共30分)23.#includeiostreamusingnamespacestd;intmain(){intn;doubles=0;n=1;while(s10.0){s=s+1.0/n;n++;}coutn-1endl;return0;}24.voidfunc(chars[],intc){char*q;for(q=s;*q;q++)if(*q!=c)*(s++)=*q;*s='\0';}824.voidfunc(chars[],intc){char*q;for(q=s;*q;q++)if(*q!=c)*(s++)=*q;*s='\0';}25.intsum(node*head){ints=0;node*p;p=head;while(p!=NULL){if(p-data0)s=s+p-data;p=p-next;}returns;}9
本文标题:2018高级语言程序设计考卷A及参考答案
链接地址:https://www.777doc.com/doc-2156342 .html