C++复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

101C++程序的头文件和源程序文件扩展名分别为________和________。02在C++程序中,使用基本输入/输出流需要包含的头文件是____________。03字符串类型的变量一般用_________和__________类型的变量表示。04一个二维字符数组a[10][20]能够存储_________个字符串,每个字符串的长度最多为______。05C++语言中,唯一的三目运算符是______________.06设intx=10,则表达式x=10?20:30的值分为_________07数组元素a[i]是该数组中的第_________个元素。08在C++程序中,一个数组的名字实际上是指向该数组___________元素的指针,并且在任何时候都不允许修改。09除了在___________和___________的情况下,定义引用变量必须初始化。10执行___________操作将动态分配p所指向的数据空间,执行___________操作将释放由p所指向的动态分配的数据空间。答案01.h.cpp02iostream.h03字符指针字符数组04101905?:062007i+108第一个09函数参数函数返回值10newp;deletep11下面程序是计算1000以内能被3整除的自然数之和。请完成下列程序。#includeiostream.hvoidmain(){intx=1,sum;___________;while(true){if(___________)break;if(___________)sum+=x;x++;}}答案sum=0x1000x%3==012下列程序求解矩形两条对角线上的元素之和,请完成下列程序。#includeiostream.hvoidmain(){inti,j,sum1,sum2;inta[][4]={1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8};sum1=0;___________;for(i=0;i4;i++)2for(j=0;j4;j++){if(___________)sum1+=a[i][j];if(___________)sum2+=a[i][j];}coutsum1','sum2endl;}答案sum2=0i==ji+j==313下列程序计算由0到9之间的任意3个不相同的数字组成的三位数共有多少种不同的组合方式。请完成下列程序。#includeiostream.hvoidmain(){inti,j,k,count=0;for(i=9;i=1;i--)for(j=9;j=0;j--)if(___________)continue;elsefor(k=0;k=9;k++)if(___________)count++;coutcountendl;}答案i==j(k!=i)&&(k!=j)14在C++程序中,每个变量都必须遵循___________的原则。15具有相同函数名但具有不同参数表的函数成为___________。16一个函数可以直接或间接调用自己,这种函数叫做___________。17假设有如下函数定义:voidFun(intx,inty=100);则语句Fun(5)与语句___________等价。18在函数原型声明中,必须声明函数参数的类型,但可以省略___________.19静态整型变量的初始值是___________。20假定一个函数参数说明为intx[],则等价的指针参数说明为___________。21假定一个函数参数说明为intx[][N](N是常数),则等价的指针参数说明为___________。答案14先定义后使用15重载函数16递归函数17Fun(5,100)18参数名19020int*x21int(*x)[N]22下面的函数Fun未使用中间变量实现了对两个数的交换,请完成下列函数的定义。voidFun(int&x,int&y){x+=y;y=_________;3___________;}答案x-yx=x-y23下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素之和,并输出结果。函数TotalSum计算数组各元素之和。请完成下列程序。#includeiostream.h______________;voidmain(){inta[5]={2,3,6,8,10};________________;Total=TotalSum(a,5);cout”Sumofarray:”Totalendl;}intTotalSum(intarray[],intlen){____________________;for(inti=0;___________;i++)__________________;returnsum;}答案intTotalSum(int*,int);intTotalintsum=0ilensum+=array[i]24类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的_________,共同的行为被描述为类中的___________。25对类中成员函数和属性的访问是通过______、________、________这三个关键字来控制的。26一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为_______权限,而把成员函数(方法)定义为____________权限。27在结构定义中,数据成员和成员函数的默任权限是________。在类定义中,数据成员和成员函数的默任权限是________。28类中构造函数有_________个,析构函数有_______个。29在定义类的对象时,C++程序将自动调用该对象的______函数初始化对象自身。30在撤消类的对象时,C++程序将自动调用该对象的______函数。31_________运算符对指定类型对象动态分配内存并返回该类型的_______。32在类中定义和实现的函数称为__________。33非成员函数应声明为类的_________才能访问这个类的private成员。34若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语句__________435若要把函数voidFriendFunction()定义为类MyClass的友元函数,则应在类MyClass的定义中加入语句_________________。答案24数据成员成员函数25publicprotectedprivate26privatepublic27publicprivate28一或多一29构造30析构31new指针32内联函数也称内置函数)33友元函数34friendclassFriednFunctiou();35friendvoidFriendFunction();36在下面程序的横线处填上适当的语句,使该程序执行结果为10。#includeiostream.hclassMyClass{public:_____________;//为x置值_____________;//取x值private:intx;};voidmain(){MyClassmy(10);coutmy.GetNum()endl;}答案MyClass(inti){x=i;}intGetNUm(){returnx;}37下面的类中定义了一个关于星期的枚举类型,请完成下面的程序。classMyClass{public:enumWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat};Weekweek;};voidfun(MyClass&my){//将对象my的week赋值为所定义的枚举类型值为3的枚举量___________=____________;}答案my.weekWed38完成下面的定义。classMyClass{public:MyClass(){x=0;}______intGetNum(______my);private:intx;};intGetNum(_______my){returnmy.x;}答案friendMyClassMyClass539在C++语言中,每个类都有一个隐含的指针叫做_____指针,该指针指向_________。40当一个类对象的成员函数被调用时,该成员函数的_______指向调用它的对象。41指向数组的指针是指_________42指针数组是指____________43有如下定义语句:MyClass*p[10];则当指针数组p离开它的作用域时,系统自动调用该类析构函数________次。44有如下定义语句:MyClassp[10];则系统自动调用该类构造函数_______次,则当对象数组p离开它的作用域时,系统自动调用该类析构函数________次。答案39this调用它的对象40this41该指针指向一个数组42数组的每个元素都是指针43044101045下面的类定义了拷贝初始化构造函数,请完成该类的定义和实现。classMyClass{public:MyClass(intxx=0,intyy=0){X=xx;Y=yy;}____________________;//拷贝初始化构造函数private:intX,Y;};MyClass::______________//拷贝初始化构造函数的实现{X=____________;______________;}答案MyClass(MyClass&p)MyClass(MyClass&p)p.XY=p.Y46下面程序在构造函数和析构函数申请和释放类的私有成员,请完成该类的实现。classMyClass{public:MyClass(inta);~MyClass();private:int*X;};MyClass::MyClass(inta){_______________;}MyClass::~MyClass(){______________;}答案X=newint(a)deleteX47重载运算符的函数名由关键字__________引出。48单目运算符作为类成员函数重载时________形参;双目运算符作为_________重载时需声明其右操作数,作为_________重载时需声明6全部操作数。49利用成员函数对二元运算符重载,其左操作数为________,右操作数为________。答案47operator48没有类成员函数友元函数49this指针成员函数参数50下列程序定义了一实部为real,虚部为imag的复数类complex,并在类中重载了复数的+、-操作。请将下列程序补充完整。classComplex{public:Complex(doubler=0.0,doublei=0.0){_________}_________operator+(Complex&);_________operator–(Complex&,Complex&);private:doublereal,imag;};_________operator+(Complex&c){returnComplex(________);}________operator–(Complex&c1,Complex&c2){returnComplex(________________);}答案real=r;imag=i;ComplexfriendComplexComplexComplex::real+c.real,imag+c.imagComplexc1.real+c2.real,c1.imag+c2.imag51如果类Alpha继承了类Beta,则类Alpha称为_____类,类Beta称为_____类。52若类Y是类X的私有派生类,类Z是类Y的派生类,则类Z_______访问类X的保护成员和公有成员。53当用protected继承从基类派生一个类时,基类的public成员成为派生类的_______成员

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功