成都元亨教育面向对象程序设计复习题.docx
- 文档编号:12314069
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:25
- 大小:22.44KB
成都元亨教育面向对象程序设计复习题.docx
《成都元亨教育面向对象程序设计复习题.docx》由会员分享,可在线阅读,更多相关《成都元亨教育面向对象程序设计复习题.docx(25页珍藏版)》请在冰豆网上搜索。
成都元亨教育面向对象程序设计复习题
面向对象程序设计复习题
一、选择题
1、基类中的保护成员在其私有派生类中的访问属性是(A)。
A.私有B.公有C.保护D.不确定
2、在类的非静态成员函数中,不可以直接访问的数据成员是(D)。
A.本类的私有成员B.本类的保护成员
C.本类的公有成员D.本类的所有非静态成员
3、下列标示符中,不符合C++标示符命名规则的是(C)。
A.x10B._totalC.πD.www
4、下列整型常数中,不符合C++语法的是(C)。
A.12uB.-67lC.059D.0X11ff
5、下列常量中,不符合C++语法的是(D)。
A.”\0”B.‘*’C.“”D.“It’sanarray!
”
6、下列数组的初始化形式中,不符合C++语法的是(A)。
A.ints1[3]={1,2,3,4}B.ints2[3]={0}
C.chars3[3]={‘a’,’x’,’d’}D.chars4[]=“asd”
7、如果说明语句为:
inta[4]={10,20,30,40,50},*p=&a[2];则*p的值是
(B)。
A.a[2]的地址B.30C.20D.不确定
8、已知:
inta[3][3];下列表示数组元素a[0][0]的方法中,不符合C++语法的是(C)。
A.**aB.*a[0]C.a[0]D.*(*a[1]-1)
9、已知:
inta=3,b=5,下列表达式中,值为0的表达式是(B)。
A.a%5-5B.a/bC.!
a||bD.a&&b
10、C++中字符常数的定界符是(B)。
A.”B.‘C.#D.\
11、已知:
inta=9,sum=0;下列循环中,不构成死循环的是(A)。
A.for(;a;a++)sum+=a--B.do{sum+=a--}while(--a);
C.while(a=1)sum+=a--;D.do{sum+=a}while(a-1);
12、如果定义一个函数时未指定该函数的返回值类型,则函数返回值类型应是
(B)。
A.无B.intC.任意D.void
13、下列描述中,属于传值调用的是(C)。
A.形参是指针,实参是地址B.形参、实参都是数组
C.形参是变量,形参是常数D.形参是指针,实参是数组名。
14、在类的友元函数中,可以访问的数据成员是(D)。
A.本类的私有成员B.本类的保护成员
C.本类的公有成员D.本类的所有成员
15、下列各种函数中,在对象生命期结束时自动调用的函数的是(B)。
A.构造函数B.析构函数C.友元函数D.虚函数
16、下列描述中,属于析构函数的特征是(D)。
A.函数的名字与类名无关B.函数可以重载
C.函数形参可有可无D.不能指定函数返回值的类型
17、列对类的描述中,不符合C++语法的是(B)。
A.一个派生类至少有一个基类
B.一个派生类只能有一个基类
C.一个基类不可以有多个派生类
D.抽象类一定是另一个类的基类
18、C++中的虚函数可以实现的面向对象的基本特性是(D)。
A.封装性B.继承性C.抽象性D.多态性
19、下列关于运算符重载的描述中,错误的是(D)。
A.运算符只能重载为成员函数
B.运算符只能重载为友元函数
C.有些运算符只能重载为成员函数
D.有些运算符只能重载为友元函数
20、有文件打开语句:
ofstreamfout(“data”);则下列描述中,正确的描述是(D)。
A.fout是一个标准输入流对象;B.fout是一个标准输出流对象;
C.fout是一个文件输入流对象;D.fout是一个文件输出流对象;
21、下列标示符中,符合C++标示符命名规则的是(A)。
A.AmaxB.x
(2)C.intD.姓名
22、下列常数中,不符合C++语法的是(C)。
A..5B.‘7’C.2e0.5D.3.14f
23、下列字符常量中,不符合C++语法的是(B)。
A.’\0’B.‘\’C.‘3’D.‘*’
24、以下指针用法中错误的是(B)。
A.inti;int*ptr=&i;B.int*ptr=2000;
C.int*ptr=0;D.inti,*ptr=&i;*ptr=5;
25、下列描述中,不属于地址调用的是(D)。
A.形参、实参是指针B.形参、实参都是数组
C.形参是指针,实参是数组名D.形参是变量的引用,实参是变量
26、下列各种函数中,在对象生命期结束时自动调用的函数是(B)。
A.构造函数B.析构函数C.友元函数D.虚函数
27、下列描述中,不属于虚函数的特征是(C)。
A.函数定义时不加virtualB.是类的非静态成员函数
C.函数没有形参D.不能重载
28、C++中设置友元函数的目的是(B)。
A.解决继承中的二义性问题B.提高编程效率
C.实现动态多态性D.实现静态多态性
29、下列关于运算符重载的描述中,正确的是(D)。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变原有运算符的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载可以定义新的运算方法
30、用I/O流打开一个文件时,如果不指定文件存储方式,则该文件的格式是(B)。
A.二进制文件B.文本文件C.无格式D.不确定
二、判断题(每题1分,共10分,对的打√,错的打×)
1、一个程序文件中,main函数有且只能有一个。
(√)
2、程序中的注释是可执行的语句。
(×)
3、C++的表达式中不允许不同类型数据的混合运算。
(×)
4、系统函数不需要任何人定义,编程时可直接使用。
(×)
5、数组名可以看作一个指针变量。
(×)
6、不同函数间传递数组时,采用的是引用调用方式。
(×)
7、虚函数可以是类的静态成员。
(×)
8、抽象类只能做基类,但可以定义该类的对象。
(×)
9、文本文件只能保存字符数据,不能保存数值数据。
(×)
10、函数调用在前,定义在后时,需要原型声明。
(√)
11、main函数总是程序中第一个被执行的函数。
(√)
12、程序中的注释是写给编程人员看的。
(√)
13、C++的表达式中允许不同类型数据的混合运算。
(√)
14、函数在调用之前必须先定义或声明。
(√)
15、数组名中存放的是一个地址。
(√)
16、不同函数间传递数组时,采用的是地址调用方式。
(√)
17、基类的指针可以指向其派生类的对象。
(√)
18、复制构造函数与构造函数的执行时机是一样的。
(×)
19、类中定义的成员函数都是内联函数。
(√)
20、没有main函数的C++程序也可以执行。
(×)
21、程序中有没有注释不影响程序的执行。
(√)
22、一个函数的函数体中不能包含另一个函数的定义。
(√)
23、类的任何公有成员在类体外必须通过对象来访问。
(×)
24、一个指针变量指向数组元素时可以做++或—操作。
(√)
25、具有块作用域的变量在块结束时,所占存储空间一定被释放。
(×)
三、阅读程序写结果
1、#include
voidmain(){
ints=0,k;
for(k=7;k>=0;k--){
switch(k){
case1:
case4:
case7:
s+=k;break;
case2:
case3:
case6:
break;
case0:
case5:
s++;break;
}
}
cout<<”S=”<
}
输出结果:
答:
S=14
2、写出以下程序运行时分别输入1、0、5时的输出结果。
#include
voidmain()
{inta,b=5;
cout<<”输入一个整数:
”;
cin>>a;
switch(a>0)
{case1:
switch(b<10)
{case0:
cout<<″*″< case1: cout<<″#″< } default: cout<<″! \n″; case0: switch(b>0) {case0: cout<<″ok1\n″; case1: cout<<″ok2\n″; } } } 输出结果: 答: 第一次运行: 输入一个整数: 1 # ! ok2 第二次运行: 输入一个整数: 0 ok2 第三次运行: 输入一个整数: 5 # ! ok2 3、写出下列程序运行时输入9的运行结果 #include voidmain(){ inta[10]={23,4,78,9,9,37,92,47,9,17},x,i,k=-1; cout<<”Inputanumber: ”; cin>>x; for(i=0;i<10;i++) if(a[i]! =x)a[++k]=a[i]; for(i=0;i<=k;i++) cout< cout< } 输出结果: 答: 2347837924717 4、#include voidmain() {inta[4],i,j,k; for(i=0;i<4;i++)a[i]=0; k=3; for(i=0;i for(j=0;j<=k;j++) a[j]=a[i]+2; cout< } 输出结果: 答: 1012 5、#include longfac(int); voidmain() {inti; for(i=1;i<=5;i++) cout< } longfac(intn) {staticlongf=1; f=f*n; returnf; } 输出结果: 答: 12 26 324 4120 5720 6、#include voidswap(int&m1,int&m2) {m1*=2;m2+=2;} voidmain() {inta(10),b(20); cout< swap(a,b); cout< } 输出结果: 答: 1020 2022 7、#include classmyclass {private: intx,y; staticlongsum; public: myclass(inta,intb){x=a;y=b;} voidgetxy() {sum*=x*y; cout<<″sum=″< } }; longmyclass: : sum=1; voidmain() {myclassob1(1,2); ob1·getxy(); myclassob2(3,4); ob2·getxy(); myclassob3(5,6); ob3·getxy(); } 输出结果: 答: sum=2 sum=24 sum=720 8、#include classcube {public: cube(intht=2,intwd=5,intdp=3) {height=ht;width=wd;depth=dp; cout<<″depth=″< } ~cube(){cout<<″depth=″< intvolume(){returnheight*width*depth;} private: intheight,width,depth; }; voidmain() {cubecone(10,20,15),ctwo; cout< cout< } 输出结果: 答: depth=15construnctedcalled depth=3construnctedcalled 3000 30 depth=3Destructedcalled depth=15Destructedcalled 9、#include classA{ public: virtualvoiddisp(){cout<<”A”< }; classB: publicA{ voiddisp(){cout<<”B”< }; voidp1(A&a1) {a1.disp();} voidp2(Aa2) {a2.disp();} voidmain() {Bb; p1(b); p2(b); } 输出结果: 答: B A 10、#include voidf(int); voidmain() { for(inti (1);i<=4;i++) f(i); } voidf(intj) { staticinta=10; intb=1; a+=10; b+=5;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成都 教育 面向 对象 程序设计 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)