版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷科目:C++开发基础C++开发基础(习题卷34)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC++开发基础第1部分:单项选择题,共57题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.类A、B、C的定义如下:ClassA{public:intm;A(intm=0):m(m){}};ClassB{public:intm;A(intm=0):m(m){}};ClassC{public:intm;Aa;Bb;C(intm=0):b(m),a(m),m(m){}};则在C类的对象生命期结束时,调用各个类的析构函数的次序是:A)A,B,CB)B,A,CC)C,A,BD)C,B,A答案:D解析:[单选题]2.不能作为函数重载判断的依据的是()A)返回类型B)constC)参数个数D)参数类型答案:B解析:[单选题]3.执行排序操作时,根据使用的存储器可将排序算法分为A)插入排序和内排序B)内排序和外排序C)外排序和插入排序D)以上都不对答案:B解析:[单选题]4.关于异常机制,以下说法正确的是()。A)异常不是语法错误B)异常代表了编程过程中遇见的所有错误C)一旦出现异常,程序将会中断,退出执行D)派生类不能捕获基类的异常答案:A解析:[单选题]5.设有基类定义:Classbase{Private:inta;protected:intb;public:intc;};为使变量成员b成为派生类的私有成员,可以采用的继承方式是()A)私有继承B)公有继承C)保护继承D)私有、公有、保护均可答案:A解析:[单选题]6.已知某应用系统中已经定义了函数fum,其原形是intfun(char=?A?);则下列函数中,可以在同一系统中加以重载的是()。A)intfun();B)intfun(char);C)intfun(char,int);D)intfun(char,double=0.0);答案:C解析:[单选题]7.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a[2][1]的值是()。A)0B)2C)6D)7答案:C解析:[单选题]8.关于类模板的模板参数说法正确的是()。A)只可作为数据成员的类型B)只可作为成员函数的返回值类型C)只可作为成员函数的参数类型D)既可作为数据成员的类型,也可说明成员函数的类型答案:D解析:[单选题]9.若有以下类W说明,函数fConst的正确定义是()。classW{inta;public:voidfConst(int)const;};A)voidW::fConst(intk)const{k=a;}B)voidW::fConst(intk)const{k=a++;}C)voidW::fConst(intk)const{cin>>a;}D)voidW::fConst(intk)const{a=k;}答案:A解析:[单选题]10.实现编译时的多态性要使用()A)重载函数B)析构函数C)构造函数D)虚函数答案:A解析:[单选题]11.执行语句inta=5,b=10,c;int*p1=&a,*p2=&b;后,下面语句中不正确的是()。A)*p2=b;B)p1=a;C)p2=p1;D)c=*p1*(*p2);答案:B解析:[单选题]12.执行C++程序时出现的?溢出?错误属于()错误。A)运行B)编译C)连接D)逻辑答案:A解析:[单选题]13.有以下程序中:#include<iostream>Usingnamespacestd;Voidmain(){Intm=0,n=0;Charc='B';Cin>>m>>c>>n;Cout<<m<<c<<n;}若从键盘上输入:20A30<回车>,则输出结果是_____。A)20A30B)20B30C)30A30D)20A20答案:A解析:[单选题]14.()是析构函数的特征。A)析构函数在对象创建时调用B)一个类中只能定义一个析构函数C)析构函数的定义只能在类体内D)析构函数可以有一个或多个参数答案:B解析:[单选题]15.下面选项中等价的是________。A)inta[2][3]={3,4,5}与inta[][3]={3,4,5};B)inta[2][3]={0,1}与inta[2][3]={{0},{1}};C)inta[2][3]={1,0,2,2,4,5}与inta[2][]={1,0,2,2,4,5};D)inta[][3]={1,0,2,2,4,5}与inta[2][3]={1,0,2,2,4,5};答案:C解析:[单选题]16.若x和y是程序中的两个整型变量,则下列if语句中正确的是________。A)ifx!=0y=1;elsey=2;B)if(x!=0)theny=1elsey=2;C)if(x!=0)y=1;elsey=2;D)if(x!=0)y=1elsey=2;答案:C解析:[单选题]17.下列静态数据成员的特性中,()是错误的。A)说明静态数据成员时前边要加修饰符staticB)静态数据成员要在类体外进行初始化C)静态数据成员不是所有对象所共用的D)引用静态数据成员时,要在其名称前加<类名>和作用域运算符答案:C解析:[单选题]18.计算机算法必须具备输入、输出和__等5个特性A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性C)确定性、有穷性和稳定性D)易读性、稳定性和安全性答案:B解析:[单选题]19.在函数调用时,如某一默认参数要指明一个特定值,则有()A)其之前所有参数都必须赋值B)其之后所有参数都必须赋值C)其前、后所有参数都必须赋值D)其前、后所有参数都不必赋值答案:A解析:[单选题]20.与y=x>0?1:xA)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;B)if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;C)y=-1if(x)if(x>0)y=1;elseif(x==0)y=0;elsey=-1;D)y=0;if(x>=0)if(x>0)y=1;elsey=-1;答案:A解析:[单选题]21.有如下程序:intx=3;do{X-=2;cout<<x;}while(!(--x));执行这个程序的输出结果是()。A)1B)30C)1-2D)死循环答案:C解析:[单选题]22.下列说法错误的是________。A)形参是局部变量B)在不同函数中可以使用相同名字的变量C)在函数内定义的变量只在本函数范围内有效D)在函数内的复合语句中定义的变量在本函数中有效答案:D解析:[单选题]23.C++中注释?//?的有效范围是()A)从?//?开始到行尾B)从?//?开始到下一个?//?C)?//?及其后一个字符D)从?//?开始到程序尾答案:A解析:C++程序中,仍沿用C语言的注释风格,即注释有以下两种形式。1)从/*开始,到*/结束,这之间的所有内容都视作注释。2)从//直到行尾,都是注释。故本题选A。[单选题]24.从一个栈顶指针为HS的链栈中删除一个结点,用x保存被删除结点的值,则执行A)x=HS;HS=HS->next;B)HS=HS->next;x=HS->data;C)x=HS->data;HS=HS->next;D)s->next=Hs;Hs=HS->next;答案:C解析:[单选题]25.模板函数的真正代码是在()时候产生。A)源程序中声明函数时B)源程序中定义函数时C)源程序中的调用函数时D)运行执行函数时答案:C解析:[单选题]26.设有如下定义:int*(*ptr)();则以下叙述中正确的是()A)ptr是指向一维数组的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是指向函数的指针,该函数的返回值是指向int型数据的指针答案:D解析:1、对于int*ptr()而言,ptr是一个函数名,该函数的返回值是一个int类型的指针;2、对于int(*ptr)()而言,ptr是一个函数指针,该函数的返回值是一个int类型的数;3、对于int(*ptr)()而言,无非就是在2的基础上,其函数返回值类型是一个int类型的指针。注:1和2是在c++primer中讲函数指针知识点的时候特别强调过,函数指针就是把函数名用一个指针代替,并且用括号括起来,此处的括号不能省。[单选题]27.以下程序段的运行结果是()。hara[]={?a?,?b?,?\0?,?c?,?\0?}printf(""%s"",a);"A)?a???b?B)abC)abcD)ab0c0答案:B解析:[单选题]28.下面关于虚函数和函数重载的叙述不正确的是()A)虚函数不是类的成员函数B)虚函数实现了C++的多态性C)函数重载允许非成员函数,而虚函数只针对于成员函数D)函数重载的调用根据参数的个数、序列来确定,而虚函数依据对象确定答案:A解析:虚函数也是类的成员函数,A说法是不正确的;虚函数和函数重载都实现了C+=的多态性,但表现形式不一样,函数重载调用根据参数个数、参数类型等进行区分,而虚函数则是根据动态联编来确定调用什么,故BD说法正确函数重载可以是类的成员函数也可以是非成员函数,比如:intfun(inta);intfun(inta,intb);这就是非成员重载,虚函数必须是成员函数了,否则就失效了,所以C对[单选题]29.进栈序列为a,b,c,则通过入、出栈可能得到的a,b,c的不同排列个数是A)4B)5C)6D)7答案:B解析:[单选题]30.关于C++语言中return语句正确的说法是()。A)只能在主函数中出现B)在每个函数中都必须出现C)可以在一个函数中出现多次D)只能在除主函数之外的函数中出现答案:C解析:[单选题]31.以下有关继承的叙述中,正确的是________。A)派生类继承基类的所有成员B)派生类继承基类的所有非私有成员C)派生类没有继承基类的析构函数D)虚基类不能解决多继承产生的二义性答案:C解析:[单选题]32.用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()A)仅修改队头指针B)仅修改队尾指针C)队头、队尾指针都可能要修改D)队头、队尾指针都要修改答案:C解析:[单选题]33.有说明structpoint{intx;inty;}p;正确的赋值语句是()。A)point.x=1;point.y=2;B)point={1,2};C)p.x=1;p.y=2;D)p={1,2};答案:C解析:[单选题]34.下列关于函数重载的叙述中,错误的是()。A)重载函数的参数个数可以不同B)重载函数的参数类型可以不同C)重载函数的返回值类型必须不同D)重载函数的参数个数或参数类型必须有所不同答案:C解析:[单选题]35.以下输入输出语句错误的是()A)cout<<x<<endl;B)cin>>y>>z;C)cout>>a>>b;D)cout<<?a?;答案:C解析:[单选题]36.下面描述中,正确的是()。A)虚函数是没有实现的函数B)纯虚函数是返回值等于0的函数C)抽象类是只有纯虚函数的类D)抽象类指针可以指向不同的派生类答案:D解析:[单选题]37.欲使下列程序输出?Point:(1,1),Radius:6?,下列填空错误的是______。A)第(1)空填Point(x,y)B)第(1)空填x=1,y=1C)第(2)空填Point(c)D)第(2)空填Point(c.x,c.y)答案:B解析:[单选题]38.有如下程序段:执行这个程序段后输出字符*的个数是________。inti=1;while(1){i++;if(i==30)break;if(i%3==0)cout<<'*';}A)10B)8C)9D)30答案:C解析:[单选题]39.右值引用的说法错误的是?A)消除两个对象交互时不必要的对象拷贝B)节省运算存储资源C)能够更简洁、明确地定义泛型函数D)降低了运行效率答案:D解析:[单选题]40.关于类的对象,说法错误的是()。A)同1个类定义的两个对象可以互相赋值B)对象是类的1个实例C)对象是现实生活中具有共同特征的一类事物的抽象D)对象的成员包括两个:数据成员和成员函数答案:C解析:[单选题]41.数组a经初始化chara[]=?English?;a[1]中存放的是A)字符nB)字符EC)"n"D)"E"答案:A解析:[单选题]42.设x为整型变量,不.能.正确表达数学关系1<x<5的C++逻辑表达式是()。A)1<x<5B)x==2||x==3||x==4C)1<x&&x<5D)!(x<=1)&&!(x>=5)答案:A解析:[单选题]43.表达式3.6-5/2+1.2+5%2的值是________。A)4.3B)4.8C)3.3D)3.8答案:D解析:[单选题]44.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是A)XYZB)YZXC)ZXYD)ZYX答案:C解析:[单选题]45.运行这个程序段的输出是________。A)1234B)1233C)1122D)1223答案:C解析:[单选题]46.有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是________。A)v1B)v2C)v3D)v4答案:C解析:[单选题]47.以下数据结构中哪一个是非线性结构A)队列B)栈C)线性表D)二叉树答案:D解析:[单选题]48.一个最简单的C++程序,可以只有一个()。A)库函数B)自定义函数C)main函数D)空函数答案:C解析:[单选题]49.假定要对类AB定义加号运算符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()A)ABoperator+(AB&a,AB&b)B)ABoperator+(AB&a)C)operator+(ABa)D)AB&operator+(AB&a)答案:B解析:[单选题]50.已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为()A)1B)2C)3D)4答案:C解析:++x为真,后面的就不运算了,所以语句执行结束后x=2,y=1,z=1[单选题]51.一个队列的入队序列是1,2,3,4,则队列的输出序列是A)4,3,2,1B)1,2,3,4C)1,4,3,2D)3,2,4,1答案:B解析:[单选题]52.下列关于类的权限描述错误的是()A)类本身的成员函数可以访问自己定义的任何成员B)类的对象只能访问公有成员C)普通函数只能通过对象访问类的公有成员D)一个类不能包含另一个类的对象作为成员答案:D解析:因为类本身就是一种新的数据类型,所以一个类的对象可以作为另一个类的成员。普通成员函数由类的对象调用。故D错误。访问类的成员变量及调用类的成员函数时,要考虑成员名的访问范围。类中定义的访问方法是public的,所以可以在类外(如主函数中)中直接调用。类内的函数仅作为类内其他函数的辅助函数使用,并不对外提供服务,这样的函数可以定义为私有的,也就是说,在类外不可以直接调用它们。故ABC正确。[单选题]53.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是________。A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;答案:C解析:[单选题]54.已知如下程序:classB{public:B(){}B(intc):count(c){}virtualvoidprint()const=0;private:intcount;};classD:publicB{public:D():B(0){}D(intc):B(c){}voidprint()const{cout<<""hello""<<endl;}};voidmain(){Dd(10);B*pb;pb=&d;//OKB&cb=d;Ddd=*pb;//2B对象不能转换为DD&cd=cb;//3B对象不能转换为D&Bbb=d;//4B类,不能实例化抽象类}则在标出的几个语句中,没有错误的是()。A)1B)2C)3D)4答案:A解析:[单选题]55.有以下程序Intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}Voidmain(){inti,j=0;for(i=1;i<3;i++)j+=f(i);cout<<j<<endl;}程序运行后的输出结果是()。A)4B)3C)2D)1答案:B解析:[单选题]56.下列格式控制符,既可以用于输入,又可以用于输出的是()。A)setbaseB)setfillC)setprecisionD)setw答案:A解析:[单选题]57.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是________。A)0B)0.5C)1D)2答案:A解析:第2部分:多项选择题,共6题,每题至少两个正确答案,多选或少选均不得分。[多选题]58.下列表达式结果可以表示?true?的有()。A)x=1B)intx=1,x==1C)intx=1,!xD)x=3答案:ABD解析:[多选题]59.下列关于C++关键字的说法中错误的是A)关键字是用户为程序中各种需要命名的?元素?所起的名字B)关键字是对程序中的数据进行操作的一类单词。C)关键字是在程序中起分割内容和界定范围作用的一类单词D)关键字是C++中预先定义并实现一定功能得一类单词。答案:ABC解析:[多选题]60.关于冒泡排序和快速排序的时间复杂度说法正确的是A)对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(n^2)B)对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(nlogn)C)对于n个记录的集合进行快速排序,在最坏的情况下所需要的时间是O(n^2)D)对于n个记录的集合进行快速排序,在最坏的情况下所需要的时间是O(nlogn)答案:AC解析:[多选题]61.二分查找要满足顺序存储、链存储、按value有序中的哪些条件A)顺序存储B)链存储C)按value有序D)以上答案都不正确答案:AC解析:[多选题]62.数据结构中,排序算法不稳定的有哪些A)快速排序B)冒泡排序C)直接插入排序D)希尔排序答案:AD解析:[多选题]63.下面关于快速排序和插入排序的选择正确的是A)若初始记录基本无序,则最好选用快速排序B)若初始数据基本正序,则选用插入排序C)若初始记录基本无序,则最好选用插入排序D)若初始数据基本正序,则选用快速排序答案:AB解析:第3部分:填空题,共4题,请在空白处填写正确答案。[填空题]64.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的___________答案:地址值解析:[填空题]65.在编译指令中,宏定义使用___指令。答案:#define解析:[填空题]66.设enumPrintstatus{ready=2,busy,error};则cout<<busy的输出结果是________。答案:3解析:[填空题]67.类中运算符重载一般采用两种形式:___________和____________答案:成员函数,友元函数解析:第4部分:判断题,共13题,请判断题目是否正确。[判断题]68.由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间更多()A)正确B)错误答案:错解析:[判断题]69.()++运算符重载时,只用写一个重载函数,就能够用在操作数的左边和右边。A)正确B)错误答案:错解析:[判断题]70.线性链表中的表头元素一定存储在其他元素的前面A)正确B)错误答案:错解析:[判断题]71.若要求排序是稳定的,且关键字为实数,则选用直接插入排序比较合适A)正确B)错误答案:对解析:[判断题]72.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止()A)正确B)错误答案:错解析:[判断题]73.计算机最小的存储单位是bit。()A)正确B)错误答案:对解析:[判断题]74.顺序查找,时间复杂度为O(n)A)正确B)错误答案:对解析:[判断题]75.For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。答案:错解析:[判断题]76.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。A)正确B)错误答案:对解析:[判断题]77.()在C++语言中,类的构造函数的名称必须和类名一样。A)正确B)错误答案:对解析:[判断题]78.保护私有成员是继承过程中的重要准则。()A)正确B)错误答案:对解析:第5部分:问答题,共20题,请在空白处填写正确答案。[问答题]79.什么是常指针,什么是指向常变量的指针?答案:常指针的含义是该指针所指向的地址不能变,但该地址所指向的内容可以变化,使用常指针可以保证我们的指针不能指向其它的变量,指向常变量的指针是指该指针的变量本身的地址可以变化,可以指向其它的变量,但是它所指的内容不可以被修改。指向长变量的指针定义解析:[问答题]80.已知类String的原型为:classString{public:String(constchar*str=NULL);//普通构造函数String(constString&other);//拷贝构造函数~String(void);//析构函数String&operate=(constString&other);//赋值函数private:char*m_data;//用于保存字符串};请编写String的上述4个函数。答案://普通构造函数String::String(constchar*str){if(str==NULL)//strlen在参数为NULL时会抛异常才会有这步判断{m_data=newchar[1];m_data[0]=?;}else{m_data=newchar[strlen(str)+1];strcpy(m_data,str);}}//拷贝构造函数String::String(constString&other){m_data=newchar[strlen(other.m_data)+1];strcpy(m_data,other.m_data);}//赋值函数(重载运算符)String&String::operator=(constString&other){if(this==&other)return*this;delete[]m_data;m_data=newchar[strlen(other.m_data)+1];strcpy(m_data,other.m_data);return*this;}//析构函数String::~String(void){delete[]m_data;}解析:[问答题]81.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?答案:1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。2.程序源代码:#include?stdio.h?#include?conio.h?main(){longinti;intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(?%ld?,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bonus1+(i-100000)*0.075;elseif(i<=400000)bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(?bonus=%d?,bonus);getch();}解析:[问答题]82.下面的程序的输出结果为ananimalapersonananimalaperson,请将程序补充完整。#include<iostream.h>classanimal{public:______①_____voidspeak(){cout<<"Ananimal"<<"";}};classperson:publicanimal{public:voidspeak(){cout<<"aperson"<<"";}};voidmain(){animala,_______②_______;personp;a.speak();p.speak();pa=&a;pa->speak();________③_______;pa->speak();}答案:本题主要考查对多态性的理解与应用。本题通过虚函数实现多态性,所以在基类中应定义虚函数;为了实现多态性,必须定义基类的指针,然后将它指向各个派生类的对象。本题答案为:①virtual、②*pa、③pa=&p解析:[问答题]83.执行下列语句后inta,c;a=30;c=++a;变量a,c的值是()答案:31,31解析:[问答题]84.打印出所有的?水仙花数?,所谓?水仙花数?是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个?水仙花数?,因为153=1的三次方+5的三次方+3的三次方。答案:1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:#include?stdio.h?#include?conio.h?main(){inti,j,k,n;printf(?w?aterflower?numberis:?);for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf(?%-5d?,n);}getch();}解析:[问答题]85.有两个长方柱,其长、宽、高分别为:(1)12,20,25;(2)10,30,20。分别求他们的体积。编一个基于对象的程序,且定义两个构造函数,其中一个有参数,一个无参数答案:#include<iostream>classBox{private:intlength;intwight;intheight;public:Box();Box(int,int,int);intvolume();};intmain(){usingnamespacestd;Boxmybox1;cout<<"Thefirstbox'svolume="<<mybox1.volume()<<endl;Boxmybox2(10,30,20);cout<<"Thesecondbox'svolume="<<mybox2.volume()<<endl;return0;}Box::Box(){length=12;wight=20;height=25;}Box::Box(intl,intw,inth){length=l;wight=w;height=h;}intBox::volume(){returnlength*wight*height;}解析:[问答题]86.strcpy()和memcpy()的区别?答案:strcpy()m和emcpy()都可以用来拷贝字符串,strcpy()拷贝以\0??结束,但memcpy()必须指定拷贝的长度。解析:[问答题]87.定义一个复数类Complex,重载运算符?+?,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数)。编程序,分别求两个复数之和、整数和复数之和。初值自拟答案:#include<iostream>classComplex{private:doublereal;doubleimag;public:Complex(){real=0;imag=0;}Complex(doubler,doublei){real=r;imag=i;}Complexoperator+(Complex&c2);Complexoperator+(int&i);friendComplexoperator+(int&,Complex&);voiddisplay();};ComplexComplex::operator+(Complex&c){returnComplex(real+c.real,imag+c.imag);}ComplexComplex::operator+(int&i){returnComplex(real+i,imag);}voidComplex::display(){usingnamespacestd;cout<<"("<<real<<","<<imag<<"i)"<<endl;}Complexoperator+(int&i,Complex&c){returnComplex(i+c.real,c.imag);}intmain(){usingnamespacestd;Complexc1(3,4),c2(5,-10),c3;inti=5;c3=c1+c2;cout<<"c1+c2=";c3.display();c3=i+c1;cout<<"i+c1=";c3.display();c3=c1+i;cout<<"c1+i=";c3.display();return0;}解析:[问答题]88.在算术运算和关系运算中如果参与运算的操作数类型不一致,编译系统会自动对数据进行转换,基本原则是将_____类型数据转换为_______类型数据。答案:低高解析:[问答题]89.Box类中所有对象的高都为10,编写程序计算Box类对象的体积。#include<iostream>usingnamespacestd;classBox{public:Box(int,int);intvolume();_______________________intwidth;intlength;};_____________________Box::Box(intw,intlen){width=w;length=len;}intBox::volume(){__________________________}intmain(){Boxa(15,20),b(20,30);cout<<a.height<<endl;cout<<b.height<<endl;cout<<Box::height<<endl;cout<<a.volume()<<endl;return0;}答案:第一空:staticintheight;第二空:intBox::height=10;第三空:return(height*width*length);解析:[问答题]90.若类A是类B的友元,类B是类C的友元,则下列说法正确的是()。(a)类B是类C的友元(b)类A是类C的友元(c)类A,B,C互为友元(d)以上说法都不对答案:本题考查对友元关系的理解。友元关系是单向的,也是不能传递的。答案为:a解析:[问答题]91.下列函数中,()是对文件进行写操作的。(a)read()(b)seekg()(c)get()(d)put()答案:read()的功能是输入指定数量的字节存入指定的字符空间中;seekg()的功能是按指定方式将输入定位于指定的相对位置处;get()的功能是提取并返回当前输入位置的字符代码,或将提取的字符存入指定变量中;put()的功能是把一个字符写到输出流中。答案为:d。解析:[问答题]92.写出每趟循环时循环变量i,循环体sum的值sum=0;for(i=1;i<=5;i++){sum=sum+10*i;}答案:写出每趟循环时循环变量i,循环体sum的值i=1时,1<=5为真,第1次执行循环体:sum=0+10=10i=2时,2<=5为真,第2次执行循环体:sum=10+20=30i=3时,3<=5为真,第3次执行循环体:sum=30+30=60i=4时,4<=5为真,第4次执行循环体:sum=60+40=100i=5时,5<=5为真,第5次执行循环体:sum=100+50=150解析:[问答题]93.实现运行时的多态性要使用()。(a)构造函数(b)析构函数(c)重载函数(d)虚函数答案:动态联编要在程序运行时才能确定调用哪个函数。虚函数是实现动态联编的必要条件之一,没有虚函数一定不能实现动态联编。答案为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国智能清洁机器人制造行业市场现状供需分析及品牌推广规划分析研究报告
- 2026区块链互联网行业市场深度调研及发展趋势与投资战略研究报告
- 税法原理练习题及答案云盘分享
- 直播带货家居用品讲解手册
- 营销策划技巧与案例分析手册
- 面料生产与工艺规范手册-1
- 智能消费设备制造质量检验与管控手册
- 合成材料生产批次追溯管理手册
- 《工业设备润滑保养管理操作手册》
- 武术赛事裁判执行与指导手册
- 2026秋统编版小学语文六年级上册第七单元《20 文言文二则》曹冲称象教学设计
- 北京市丰台区2026届四年级数学下学期期末考试试题含答案解析
- 2026年秋新教材外研版九年级上册英语Unit 1-8课文+翻译
- 2026年防疫员技师实操题库及评分细则
- 2026年四川省宜宾市网格员招聘考试备考试题及答案解析
- 初中八年级历史与社会“全球视野下的文明互鉴:郑和下西洋与哥伦布航海的比较研究”教学设计
- 工行合规教育培训课件
- 2026中国资源循环集团电池有限公司招聘4人考试参考题库及答案解析
- 高校实验课程项目评估标准
- 2025年中国带状疱疹疫苗行业发展研究报告
- 浦发银行招聘真题及答案
评论
0/150
提交评论