您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2017高级语言程序设计考卷B及参考答案
1…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………学院专业班级学号姓名武汉理工大学考试试卷(B卷)2017~2018学年1学期高级语言程序设计课程时间120分钟56学时,3.5学分,闭卷,总分100分,占总评成绩70%年月日题号一二三四五六合计满分28241830100得分一、单项选择题(本大题共14小题,每小题2分,共28分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。错选、多选或未选均无分。12345678910111213141.下列选项中,不能作为合法常量的是A.1.234e4B.1.234e0.4C.1.234e+4D.1.234e02.能正确表示逻辑关系:“a≥=5或a≤0”的C语言表达式是A.a=5ora=0B.a=0|a=5C.a=5&&a=0D.a=5||a=03.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A.x||yB.x|yC.x^yD.x&y4.设有inta=5,b=4,c=6,d=3;则表达式d=ab?(ac?a:c):(b)的值是A.3B.4C.5D.65.设有intx=11;则表达式(x++*1/3)的值是A.3B.4C.11D.126.设有数组定义:chararray[]=China;则数组array所占的空间为A.4个字节B.5个字节C.6个字节D.7个字节7.在说明语句:int*f();中,标识符f代表的是A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名得分28.下列定义语句中,错误的是A.inta[]={1,2};B.char*a[3];C.intn=5,a[n];D.chars[10]=”test”;9.若已定义:inta[]={0,1,2,3,4,5,6,7,8,9],*p=a;则对a数组元素不正确的引用是A.a[p-a]B.*(&a[1])C.p[1]D.a[10]10.设有inti=1,j=2,k=3;则执行语句:if(i++==1&&(++j==3||k++==3))couti,jk;后的输出结果是A.123B.223C.233D.23411.设chars[10],*p=s;下列语句中错误的是A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];12.设inta[10],*p=a;数组元素a[4]的正确引用是A.*(p+4)B.*p+4C.p+4D.a+413.设inta[3][4];,则与元素a[0][0]不等价的表达形式是A.*aB.**aC.*a[0]D.*(*(a+0)+0)14.设有inta=5,*b,**c;执行语句c=&b;和b=&a;后,**c的值是A.变量a的地址B.变量b的地址C.变量a中的值D.变量b中的值二、程序阅读题(本大题共6小题,每小题4分,共24分)请将下面各程序的输出填写在下划线处。1.#includeiostream.hintmain(){inti,j,k,s=0;for(i=1;i=5;i++)for(j=1;j=i;j++)for(k=1;k=j;k++)s++;coutsendl;return0;}输出:2.#includeiostreamusingnamespacestd;intmain(){inti,s,a[10],p[3];s=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)s+=p[i]*2;coutsendl;return0;}输出:得分33.#includeiostream.hintmain(){intp[8]={11,12,13,14,15,16,17,18};inti=0,s=0;while(i7)if(p[i++]%2==1)s+=p[i];coutsendl;return0;}输出:4.#includeiostreamusingnamespacestd;intfun(inta){staticintb=1;b=a*b;returnb;}intmain(){inti,s=0;for(i=1;i6;i++)s+=fun(i);coutsendl;return0;}输出:5.#includeiostreamusingnamespacestd;intsolve(intn,intm){inti,sum;if(m==1)return1;sum=0;for(i=1;i=n;i++)sum+=solve(i,m-1);returnsum;}intmain(){ints;s=solve(5,3);coutsendl;return0;}输出:6.#includeiostreamusingnamespacestd;voiddele(char*s);intmain(){charstr[]=x1+y2=z3;dele(str);coutstrendl;return0;}voiddele(char*s){intn=0,i;for(i=0;*(s+i)!='\0';i++)if(!(*(s+i)='0'&&*(s+i)='9'))s[n++]=s[i];s[n]='\0';}输出:4三、程序填空题(本大题共2小题,每空3分,共18分)1.下面程序执行后,输出100以内的所有质数。请填空将程序补充完整。#includeiostream#includecmathusingnamespacestd;intmain(){inti,j,k;for(i=2;i=100;i++){k=sqrt(i);for(j=2;j=k;j++)if(__________)//(1)__________;//(2)if(__________)//(3)coutiendl;}return0;}2.从键盘输入一个字符串(设其最大长度为80个字符),判断其是否是回文。若是输出“Yes”,否则输出“No”。回文是指正向、反向的拼写都一样。例如:ABCBA、aaaa等是回文;china、ABC等不是回文。#includeiostreamusingnamespacestd;intmain(){charstr[81];inti,j,n;cinstr;n=strlen(str);for(________________;ij;i++,j--)//(1)if(________________)break;//(2)if(___________)coutYes!\n;//(3)elsecoutNo!\n;return0;}…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………得分5四、程序编写题(本大题共3小题,每小题10分,共30分)1.编写程序:按从小到大的顺序输出用0至9之间的不同的数字组成的全部三位数(从102到987共648个)2.编写函数voidfun(char*s,charch),其功能是删除字符串s中的字符ch(ch要全部删除)。例如,设charch='a',s[80]=la2bc3,b4c5a6,c7a8b9,执行fun(s,ch);,s字符串为l2bc3,b4c56,c78b9得分63.编写voiddiff(LinkListhead)函数,使得下列程序运行后,输出6-1=5。#includeiostream.hstructNode{intdata;Node*next;};typedefNode*LinkList;voiddiff(LinkListhead);Node*creat(inta[],intn){LinkListhead,p,q;head=NULL;for(inti=0;in;i++){p=newNode;p-data=a[i];p-next=NULL;if(head==NULL){head=p;q=p;}else{q-next=p;q=p;}}returnhead;}intmain(){inta[6]={4,1,2,3,6,5};LinkListhead;head=creat(a,6);diff(head);return0;}voiddiff(LinkListhead){}7…………装订线………………装订线内不要答题,不要填写信息………………装订线…………武汉理工大学考试试题答案(B卷)2017~2018学年1学期高级语言程序设计课程一、单项选择题(本大题共14小题,每小题2分,共28分)1234567891011121314BDCDACDCDCBAAC二、程序阅读题(本大题共6小题,每小题4分,共24分)1.352.213.604.1535.156.x+y=z三、程序填空题(本大题共2小题,每空3分,共18分)1.(1)i%j==0(2)break(3)jk2.(1)i=0,j=n-1(2)str[i]!=str[j](3)ij四、程序编写题(本大题共3小题,每小题10分,共30分)1.#includeiostreamusingnamespacestd;intmain(){intn,a,b,c;for(n=102;n=987;n++){a=n/100;b=n/10%10;c=n%10;if(a==b||a==c||b==c)continue;coutn;}return0;}82.voidfun(char*s,charch){char*p=s;while(*s!='\0'){if(*s!=ch){*p=*s;p++;}s++;}*p='\0';}3.voiddiff(LinkListhead){intmax,min;LinkListp;if(head==NULL)coutNULLList!\n;p=head;max=min=p-data;while(p){if(maxp-data)max=p-data;if(minp-data)min=p-data;p=p-next;}coutmax-min=max-minendl;}9
本文标题:2017高级语言程序设计考卷B及参考答案
链接地址:https://www.777doc.com/doc-2156362 .html