天津大学16春《面向对象程序设计》在线作业二和一满分答案
《面向对象程序设计》在线作业二一、单选题:【20道,总分:100分】
1.以下运算符中不能用友元函数重载的是( )。 (满分:5)
A. ==
B. !=
C. ++
D. %
2.下列关于文件存取方式的描述中,符合C++语言语法规定的是( )。 (满分:5)
A. 文件只能是顺序读写的
B. 文件只能是随机读写的
C. 文件可以是顺序存取,也可以随机存取
D. 没有规定
3.switch语句结构中,每个分支都必须有break语句 (满分:5)
A. 对
B. 错
4.析构函数名与类名没有关系 (满分:5)
A. 对
B. 错
5.派生类至少有一个基类 (满分:5)
A. 对
B. 错
6.成员函数可以是另一个类的友元函数 (满分:5)
A. 对
B. 错
7.构造函数和析构函数都能被继承 (满分:5)
A. 对
B. 错
8.一个类的数据成员中可以有本类的对象 (满分:5)
A. 对
B. 错
9.switch语句结构中必须有default语句 (满分:5)
A. 对
B. 错
10.基类的公有成员一定能通过派生类的对象访问 (满分:5)
A. 对
B. 错
11.在一个类中,只能定义一个构造函数 (满分:5)
A. 对
B. 错
12.通过派生类的对象一定可以访问基类的保护成员 (满分:5)
A. 对
B. 错
13.通过运算符重载可以改变运算符原有的( )。 (满分:5)
A. 操作数类型
B. 操作数个数
C. 优先级
D. 结合性
14.函数必须有返回值 (满分:5)
A. 对
B. 错
15.一个类只能有一个对象 (满分:5)
A. 对
B. 错
16.构造函数的函数名必须与类同名 (满分:5)
A. 对
B. 错
17.拷贝构造函数的作用是使用一个已经存在的对象去初始化一个新的同类的对象 (满分:5)
A. 对
B. 错
18.使用setw(int)或setprecision(int)等直接嵌入到cin或cout实现I/O格式控制时,需要使用的头文件是( )。 (满分:5)
A. iostream.h
B. iomanip.h
C. fostream.h
D. stdlib.h
19.一个派生类可以做另一个派生类的基类 (满分:5)
A. 对
B. 错
20.构造函数和析构函数都应是类的公有成员函数 (满分:5)
A. 对
B. 错
《面向对象程序设计》在线作业一
一、单选题:【20道,总分:100分】
1.以下字符串初始化中不正确的是( )。 (满分:5)
A. charstr[ ]=”abcdefg”;
B. charstr=”abcdefg”;
C. charstr={“”};
D. charstr={‘1’,’3’,’5’,’7’,’9’};
2.设有定义: char str;当执行cin>>str;时从键盘输入:″C++programmingwindows″(不包括双引号),则str中的内容是( )。 (满分:5)
A. C++
B. C++ programming
C. windows
D. C++ programming windows
3.在C++语言中,数组元素的下标( )。 (满分:5)
A. 只能是整型常量
B. 只能是整型表达式
C. 可以是整型常量或整型表达式
D. 可以是任何类型的表达式
4.不能直接访问非静态数据成员的成员函数是( )。 (满分:5)
A. 构造函数
B. 析构函数
C. 拷贝构造函数
D. 静态成员函数
5.在对象生存期结束时由系统自动调用的函数是( )。 (满分:5)
A. 构造函数
B. 友元函数
C. 析构函数
D. 虚函数
6.静态数据成员的初始化必须在( )。 (满分:5)
A. 类内
B. 类外
C. 构造函数内
D. 静态成员函数内
7.设有说明char ch=’a’; int x=3;float y=4;double z=5;,则表达式ch*(x-y)/z的数据类型是。 (满分:5)
A. char
B. 不确定
C. int
D. double
8.在C++中,字符串"c:\\dos\\ex.txt"的存储长度是( )。 (满分:5)
A. 15
B. 14
C. 13
D. 12
9.下列常数中不属于C++字符型常量的是( )。 (满分:5)
A. '\n'
B. '6'
C. "A"
D. 'A'
10.静态成员函数一定没有( )。 (满分:5)
A. 返回类型
B. 返回值
C. this指针
D. 局部变量
11.在C++中,不能被派生类继承的基类成员是( )。 (满分:5)
A. 函数成员
B. 构造函数和析构函数
C. 数据成员
D. 私有成员
12.设int a,*p=&a; double b,*q; 则以下语句中正确的是( )。 (满分:5)
A. p=&b;
B. q=p;
C. p=NULL
D. q=new int;
13.设B类是A类的派生类。当创建一个B类的对象时,构造函数的调用顺序是( )。 (满分:5)
A. 先调用A类的构造函数,然后调用B类的构造函数
B. 先调用B类的构造函数,然后调用A类的构造函数
C. 不调用A类的构造函数
D. 视定义时A类和B类出现的位置
14.以下运算符中不能重载的是( )。 (满分:5)
A. .&
B. !=
C. ::
D. %
15.类Mclass的拷贝初始化构造函数是( )。 (满分:5)
A. Mclass( )
B. Mclass(Mclass)
C. Mclass(Mclass *)
D. Mclass(Mclass&)
16.完成编译预处理工作的阶段是( )。 (满分:5)
A. .编译前
B. .编译时
C. .编译后
D. .连接时
17.设函数原型为:void test(int a,intb=7,char *s=”*”); 以下函数调用中,不合法的是( )。 (满分:5)
A. test(5);
B. test(5,8);
C. test(6,”#”);
D. test(0,0,”@”);
18.设有定义: int i=8,a,b; double x=1.34,y=5.3; 下列表达始中,符合C++语法的是( )。 (满分:5)
A. a+=a-=(a=3)*(b=4)
B. x%5
C. a=a*3=2
D. y=float(i)++
19.如果一个函数被说明为一个类的友元,则( )。 (满分:5)
A. 该类可以使用该函数的局部变量
B. 该函数可以使用该类中成员函数的局部变量
C. 该函数可以直接使用该类的私有成员
D. 该函数可以通过对象使用该类的任意成员
20.下列循环结构中,不是无限循环的是( )。 (满分:5)
A. for( t =1 ;; t + + ) cout<<t;
B. t = 1;while( t - - ){ cout<< t + + ; }
C. t = 1 ; do { cout<< t ;t + + ;} while( - - t ) ;
D. for( t = 0 ; t ; t ++ )cout<< t ;
**** Hidden Message *****
页:
[1]