《高级程序设计语言C++试卷及答案10套.docx》由会员分享,可在线阅读,更多相关《高级程序设计语言C++试卷及答案10套.docx(85页珍藏版)》请在优知文库上搜索。
1、诚信应考,考试作弊将带来严重后果!期末考试高级程序设计语言C+试卷考前须知:1.考前请将试卷和答题纸密封线内各项填写清楚;2.所有答案写在答题纸上,否那么无效;3.试卷和答题纸同时提交:4考试形式:闭卷;5本试卷共五大题,总分值100分,考试时间120分钟。题号四五总分得分评卷人单项选择题(每题2分,共26分)(B) l=a, a=b, t=b, b=a;1.由C+目标文件连接而成的可执行文件的缺省扩展名为(C)。(A) &ra=a;(B) rb = ra;(C) &rb=&ra;(D) *rb=*ra;Obj(八)cppintbreak(B)intcharnew(C)breakCASEsiz
2、eof,以下四个选项中,不能交换变Ifta和b的值是(PJ。SWitChfloatinteger2.以备演中全部都是C+关键字的选项为(B(d)(八)a=a-b,b=a+b,a=b-a;(八)143.字符串Hello,nHi041”包含的有效字符个数为(D(八)14(B)13(C)12(D)IO4.以下代码执行的结果是(B)。intX=3510;doubley=x/100*100;couty;(八)3510(B)3500(C)3000(D)I5.inti=3;下面语句执行的循环次数是(B)。(八)Idoi-;coutiendl;)while(i!=1);(八)1(B)2(C)(D)无限次7.假
3、设inta=l,b=2,&ra=a,&rb=b;以下正确的语句是(C)t=a,a=b,b=t;(D)t=b,a=b,b=a;7.假堡)BM0b=2,&ra=a,&rb=b;以下正确的语句是B)o8.在下面的函数声明中,存在着语法错误的选项是(D2 H3 24 、ttincludevoidfunc(int,int,int*):voidmain()(intx,y,Z;func(1,2,&x);func(3,x,&y):func(x,y,&z):coutxcndlycndlzendl;)voidfunc(inta,intb,int*c)b-=a:*c=b-a;06-65 、ttincludeintf
4、l(inta,intb)returnalb*5:)intf2(inta,intb)returna*b;)intf3(int(*t)(int,int),inta.intb)return(*t)(a,b);voidmainOint(*p)(int,int):=fl;coutf3(p,5,6)endl;p=f2;cout3(p,7,8)endl:)25566 、tfincludettincludevoidfNum(intW)inti;if(w0)for(i=l;i=w;i+)coutsetw(3)wjcoutendl;INum(w-1);)voidmain()fNum(4):4444333221四、
5、程序填空题(每空2分,共20分)1、下面程序的功能是:输入三角形的三条边存放在变量a,b和C中,判别它们能否构成三角形,假设能,那么判断是等边、等腰、还是其它三角形,在横线上填上适当内容。eincludevoidmain()floata,b,c;coutabc;if(a+bc&b+c)a&c+ab)(if(jj)a=b&b=Ccout等边三角形!n:elseif(2)H=ba=CIIb=Ccout等腰三角形!n;elsecout其它三角形!n,;)clsccoutn不能构成三角形!nn;)2、以下程序功能是输出IoOO以内个位数为6且能被3整除的所有数。请填空。ftincludevoidmai
6、n()inti,j:for(i=0;【3;i+)i100j=i*10+6;if(141)continue;j%3coutj*;)3、求n(n26)内的所有偶数表示为两个素数之和,图1为输入12的运行结果。补充完整以下程序。提小:一个偶数11(1126)可以表小为l+(11T),2+(n-2),3(11-3),.*includeHinCIUde*include。Omanip.hintisprime(int);voidmain()intnum;COU请输入一个偶数N(N=6):n:c=6):126=3+38=3+510=3+712=5+7Pressanykeytocontinuecinnum;fo
7、r(intn=6;n=num:n+二2)for(inti=3;i=n2;i+=2)if(5】)isprime(i)&isprime(n-i)coutsctw(3)n*,sotw(3)i*+,setw(3)(n-i)cndl;break:intisprime(intn)inti,sqrtm=(int)sqrt(n);for(i=2;i=sqrtm;i+)if(【6return0:11%i-0j;return14、以下程序是创立一个动态数组,数组长度由程序运行时输入数据决定。调用随机函数对动态数组赋初值,并输出动态数组各元素值。请填空。4includettincludetfincludevoidm
8、ain()intn,*p=8;NULLeOUt*Plcascinputn:nw;cinn;P二9new.intnif(p=NULL)cout*Allocationfaiurcnn;return:srand(time(O);for(inti=0;in;i+)pi=rand()%100;for(110;ap+n;a+)int*a=pcout*a,W;/coutendljdeletep;)五、编程题(20分)1、(6分)编写程序,打印正整数的平方和立方值。程序运行后显示相应的提示信息,要求输入2个正整数,然后显示这个范围的数据的平方和立方值。例如,分别输入整数2和9,执行效果如图2所示。-1!x49
9、1625364964811CE:C+C和C+题07卷Debug平方立方根请揄入宜I个整和=0:2造输入翁个整物:9N聿方立方82764125216343512729Pressanvkeytocontinue_1J图2显示数制对照农#include#includevoidmain()inta,b;couto请输入第1个整数(=0):;cina;COUt请输入第2个整数(=第1个整数):;cinb;coutselw(12),Nsetw(12)平方vsetw(12)立方endl;for(inti=a;i=b;i)coutsetw(12)isetw(12)i*isetw(12)i*i*iendl;2、
10、函数原型。(6分)以下程序用随机函数生成两位整数,取M个各不相等的数据,按生成顺序存放在数组a中。图3是生成20个数据的显示效果。请依题意编写函数insert及填写函数原型。cE:.C+C和C+题TO出卷Debug性成数,.ttincludettincludettinclude生成数组:54学日3468801117951299、,一46909669366339496420Pressanykeytocontinue11intinsert(int*aainikimn);函数原型或:intinsert(intapfLintkintn):voidmainOIconstintM=20:intnli=0;
11、intaM=0;srand(time(O);while(iM)fdeITI=toCZl八11Ilarh;1c/c/IC二lz(Jif(insert(a,i,把不相同数据插入数组an)图3生成数组C+程序设计试卷第13页共92页cout生成数组:,endl;for(i=l:i=M;i+)coutai,*;if(i%10=0)coutendl;coutendl;)intinsert(int*ap,intk,intn)for(intj=0;jk;j+)tf滤去相同数if(apj=n)break;if(j=k)apj=n;return1;添加数据return0;)3、(8分)木程序功能是把一个用拼音输
12、入的名字自动生成6位数字串的密码。生成规那么是把字母串的最后6位逆序,取每个字母小写的ASCH码值,其除以10的余数为该位的密码值。当输入名字的字母串缺乏6位,生成时以字母“z”补足。图4是程序的运行效果。请填写Change函数的函数原型并编写函数。4includestructlinkchars;link*next:):voidinputName(link*&h);voidoutLink(link*h);/change的函数原型voidmain()link*nam。二NULL*code=NULL;COUt请输入名字拼音,以#结束:ninputName(nune);change(code,name);ttincludeCA EAC+ + 3DC+ +S 07S XDebttinclude请输入名字拼音.以“结束:耳ZhOngFUWatt 生成密码 为:797230#Press any key to cont inue11图4生成密码structlinkchars;link*next;:voidinputName(link*&h);voidoutLink(link*h);/change的函数原型voidmain()link*nameXNULL,*code=NULL;COUt请输入名字拼音,以#结束:ninputName(name):change(