您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 长沙理工大学C++程序试卷11
长沙理工大学考试试卷………………………………………………………………………………………………………………试卷编号11拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C++程序设计课程代号0806005专业计算机科学与技术层次(本、专)本考试方式(开、闭卷)闭第1页共7页一、填空题(每空1分,共15分)。1.C++程序通常由一个或多个函数组成。C++程序中至少要包含一个。2.初始化值是0.618的双精度变量a的定义形式为______________。3.设inti=5;则循环语句while(i=1)i--;执行后,i的值为____________。4.设charstring[]=″This_is_a_book!″;则数组的长度应是________________。5.设inta[2][3]={{2},{3}};则数组元素_________的值为3。6.表示条件10<x<100或x<0的C语言表达式是_______________.7.所有程序可用三种控制结构描述:顺序、______和循环。8.直接或间接调用自己的函数是_________函数.9.结构体定义用关键字______引入。10类成员的默认访问模式为___________.11.当创建一个类的对象时,系统自动调用该类的________________。12.C++中,基类的指针可以指向________对象,反过来,指向派生类对象的指针不能指向_______对象。13.在C++中,如果类的成员中含有一个指针成员,那么当一个函数返回一个类的对象时,该类必须定义一个________构造函数。14.C++定义类时的关键字是_____________。二、单项选择题(每小题2分,共20分)1.正确的C++语言用户自定义标识符是()A.printB.floatC.2_whenD.random﹪22.设inta=3;则表达式a1&&--a1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和33.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default4.与语句if(ab)if(cd)x=1;elsex=2;等价的是()A.if((ab)&&(cd))x=1;elsex=2;B.if(ab){if(cd)x=1;}elsex=2;C.if(ab){if(cd)x=1;elsex=2;}D.if(a=b)x=2;elseif(cd)x=1;5.设inta[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()A.2B.3C.4D.无确定值C++程序设计语言试卷第2页共7页6.执行下列程序inta[3][3]={{1},{2},{3}};intb[3][3]={1,2,3};voidmain(){couta[1][0]+b[0][0];}后输出的结果是()A.0B.1C.2D.37.设intx[]={1,2,3,4,5,6},*p=x;则最后一个值为3的表达式是()A.p+=2,*++pB.p+=2,*p++C.p+=3,*pD.p+=2,++*p8.执行下列程序inta=3,b=4;voidfun(intx1,intx2){coutx1+x2b;}voidmain(){inta=5,b=6;fun(a,b);}后输出的结果是()A.3,4B.11,1C.11,4D.11,69.设有定义语句struct{inta;floatb;}d[3]={{1,4.2},{2,5.4},{6,7.5}};则coutd[2].b;的输出是()A.4.2B.5.4C.7.5D.110.将一个整数intx=10;chary=97;存到磁盘上,占用的字节数分别是()A.4和1B.4和2C.1和4D.1和1三、阅读程序填空(共15分)1、计算两个矩阵的乘积,即A=B*C,并求矩阵A的元素之和。#includeiostream.hintmain(intargc,char*argv[]){intb[6][5]={{438,269,738,624,513},{340,420,572,726,612},{455,286,615,530,728},{385,324,713,594,544},{402,382,550,633,654},{424,400,625,578,615}};int(*p)[5]=b;intc[5]={500,950,1340,2270,2985};int*p1=c;int*p2=newint[6];//给p2分配存储空间inti,j;intsum=0;for(i=0;i6;i++)C++程序设计语言试卷第3页共7页{*(p2+i)=0;//对p2所指的存储空间初始化for(j=0;j5;j++)*(p2+i)+=p[i][j]*(*(p1+j));cout*(p2+i);sum+=*(p2+i);}coutendlsum=sumendl;return0;}2、将一个整数转换成一个数字字符串。#includeiostream.hclassthree_d{intx,y,z;public:three_d(){x=y=z=0;}three_d(inti,intj,intk){x=i;y=j;____(5)____;}three_doperator+(three_dt);three_d____(6)____=(three_dt);voidshow();};three_dthree_d::operator+(three_dt){three_dtemp;____(7)____;temp.y=y+t.y;temp.z=z+t.z;____(8)____;}three_dthree_d::operator=(three_dt){x=t.x;y=t.y;z=t.z;return*this;}voidthree_d::show(){coutx,y,z\n;}main(){three_da(1,2,3),b(10,10,10),c;a.show();b.show();c=a+b;c.show();C++程序设计语言试卷第4页共7页return0;}四、阅读程序,写出输出结果(1、2题5分,3题10分,共20分)。1.假设输入数据为:li,li,wang,zhan,liu,liu,liu,liu,zhan,wang,wang,li,wang,li,wang,wang,li,zhan,liu,li#includeiostream.h#includestring.hintmain(intargc,char*argv[]){structperson{charname[20];intcount;}leader[4]={{li,0},{wang,0},{zhan,0},{liu,0}};charname[20];//输入一个候选人名,给该候选人计票while(1){cinname;if(strcmp(name,?)==0)break;for(intj=0;j4;j++)if(strcmp(name,leader[j].name)==0)leader[j].count++;}//输出各候选人得票for(intj=0;j4;j++)coutleader[j].nameleader[j].countendl;return0;}2.#includestdafx.hstructdate/*定义结构体类型date*/{intyear;intmonth;intday;};/*注意:本结构体类型定义结束应该加;号*/structstudent/*定义结构体类型student*/{intnum;charname[10];structdatebirth;/*成员birthday又是structdate结构类型*/}x;/*定义变量x为structstudent型*/intmain(intargc,char*argv[])C++程序设计语言试卷第5页共7页{x.num=4101;strcpy(x.name,zhangli);x.birth.year=1988;x.birth.month=10;x.birth.day=20;coutsetw(10)x.numsetw(10)x.name);coutsetw(6)x.birth.yearsetw(6)x.birth.monthsetw(6)x.birth.dayendl;return0;}3.//复数运算符重载1.cpp:Definestheentrypointfortheconsoleapplication.//引入了this指针,用它指向当前对象的成员#includeiostream.hclasscomplexs{doublereal,image;public:complexs(){real=image=0;}complexs(doublex,doubley){real=x;image=y;}complexsoperator+(complexsx);//重载加法运算符complexsoperator-(complexsx);complexsoperator*(complexsx);complexsoperator/(complexsx);voidprint(complexsx);};complexscomplexs::operator+(complexsx){complexsz;z.real=x.real+this-real;z.image=x.image+this-image;returnz;}complexscomplexs::operator-(complexsx){complexsz;z.real=this-real-x.real;z.image=this-image-x.image;C++程序设计语言试卷第6页共7页returnz;}complexscomplexs::operator*(complexsx){complexsz;z.real=this-real*x.real-this-image*x.image;z.image=this-real*x.image+this-image*x.real;returnz;}complexscomplexs::operator/(complexsx){complexsz;doublefraction=x.real*x.real+x.image*x.image;if(fraction!=0){z.real=(this-real*x.real+this-image*x.image)/fraction;z.image=(this-image*x.real-this-real*x.image)/fraction;}returnz;}voidcomplexs::print(complexsx){coutx.real;if(x.image0)cout+x.imageiendl;elseif(x.image==0)coutendl;elsecoutx.imageiendl;}intmain(intargc,char*argv[]){complexsx(1,2),y(2,-5),z(-10,-20),w;w=x+y;w.print(w);w=x-y;w.print(w);w=x*y;w.print(w);w=x/y;w.print(w);return0;}C++程序设计语言试卷第7页共7页五.编程(每小题10分,共30分)1.请编写一个函数Strcon(chara[],charb[])把b字符串连接到a字符串的后面,并返回a中新字符串的长度。2.编写一个函数voi
本文标题:长沙理工大学C++程序试卷11
链接地址:https://www.777doc.com/doc-4594975 .html