《面向对象程序设计》第一次作业答案你的得分:96.0完成日期:2013年09月02日15点40分说明:每道小题括号里的答案是您最高分那次所选的答案,标准答案将在本次作业结束(即2013年09月12日)后显示在题目旁边。
一、单项选择题。
本大题共30个小题,每小题2.0 分,共60.0分。
在每小题给出的选项中,只有一项是符合题目要求的。
1.C++函数的声明和定义可以分开,函数声明不需要(D )。
A.返回类型B.函数名C.参数表D.函数体2.函数的形参是(B )。
A.全局变量B.局部变量C.静态变量D.部变量3.数组名表示的是数组的(C)。
A.类型B.用途C.地址D.长度4.如果短整型的长度是2字节,有一个短整型指针p的值是0xFFED1200,那么p+1的值为(B)。
A.0xFFED1201B.0xFFED1202C.0xFFED1203D.0xFFED12045.private访问属性限制对象的成员可以在(A )中访问。
A.本类的成员函数B.main函数C.父类的成员函数D.子类的成员函数6.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为(C)。
A.myclass operator++();B.myclass&operator++();C.myclass operator++( int );D.myclass& operator++( int );7.如果有如下定义:const char* str = "OK";那么,sizeof(str)的值应该是(D)A.1B.2C.3D.48.父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么(C)。
A.在子类中这两个函数构成重载关系B.子类不会继承父类的这个函数C.子类中的函数会覆盖父类中的函数D.编译时会发生错误9.如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100;会(B)。
A.调用拷贝构造函数B.调用整型参数的构造函数C.调用赋值运算符D.引起编译错误10.抽象类指的是(D)。
A.没有任何成员的类B.只有成员函数没有数据成员的类C.有虚函数的类D.有纯虚函数的类11.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由(C)的构造函数来传递。
A.第一个父类B.第二个父类C.派生类D.以上都不是12.多态性是通过(C )实现的。
A.构造函数B.析构函数C.虚函数D.函数重载13.十进制数127转换成二进制数是(A )A.11111111B.01111111C.10000000D.1111111014.执行语句char ch[] = "Hello";char * p = &ch[0];cout<<*p结果是输出(C)。
A.一个地址B.HC.HelloD.乱码15.以下不能正确进行字符串赋初值的语句是(A)A.char str[5]="good!";B.char str[]="good!";C.char *str="good!";D.char str[5]={‘g',‘o',‘o',‘d'};16.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是:(D )A.B.负数C.正数D.不确定17.使用流控制符(C )需要头文件。
A.endlB.hexC.setwD.left18.C++泛型编程通过(B )实现。
A.voidB.templateC.NULLD.typedef19.C++异常处理机制中没有(D )。
A.tryB.throwC.catchD.finally20.要打开一个文件并从中读取数据,应该使用(C)类的对象。
A.istreamB.ostreamC.ifstreamD.ofstream21.判断一个ofstream类对象file打开文件是否失败,应该判断(D)。
A.创建文件流对象时是否抛出异常B.open成员函数的返回值C.feof成员函数的返回值D.! file 是否为真22.链表的基本单元是(B)。
A.节点B.头指针C.尾指针D.数据域23.二叉查找树按(C)遍历时访问到节点的数据是排好序的。
A.前序B.中序C.后序D.层次24.二进制数00001001跟01000011异或的结果为(C )。
A.01001011B.00000001C.01001010D.0100110025.若有定义:int aa[ 8];。
则以下表达式中不能代表数组元aa[1]的地址的是(C)A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+126.一个类如果没有定义任何函数,编译器不会自动为这个类产生(C )。
A.拷贝构造函数B.无参构造函数C.输出流运算符D.赋值运算符27.如果在try块中用throw "error";语句抛出一个异常,则参数类型是(B)的catch块能够捕获这个异常。
A.char *B.const char *C.CharD.const char28.队列的最大特征是(A)。
A.先进先出B.后进先出C.自动排序D.大数优先29.下列排序算法中,平均效率最低的排序算法是(B)。
A.插入法B.冒泡法C.选择法D.快速排序法30.下面不支持下标操作的容器是(C )。
A.vectorB.dequeC.listD.map二、多项选择题。
本大题共5个小题,每小题4.0 分,共20.0分。
在每小题给出的选项中,有一项或多项是符合题目要求的。
1.for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是(BCD )。
A.两个分号B.表达式1C.表达式2D.表达式32.C++中变量要求(ABD)。
A.有明确的类型B.先声明后使用C.名字中不能使用下划线D.严格区分大小写3.流程控制语句有(ABC )几种。
A.条件语句B.循环语句C.分支语句D.表达式语句4.面向对象的编程方法的主要特征包括(ABC )。
A.封装B.继承C.多态D.消息5.类成员的访问属性可以是(ABC )。
A.publicB.protectedC.privateD.default三、判断题。
本大题共5个小题,每小题4.0 分,共20.0分。
1._int可以定义为用户标识符。
( 正确)正确错误2.结构化程序设计的基本方法是递归法。
(错)正确错误3.C++语言的跳转语句中,break语句只应用于循环体中。
(错)正确错误4.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。
(错)正确错误5.重载函数形参个数可以不同。
( 正确)正确错误。