1、2013年 4月考试 C+程序设计语言第一次作业 一、单项选择题(本大题共 69.99999 分,共 25 小题,每小题 2.8 分) 1. 下列字符序列中 ,能够作为用户自定义标识符的是( )。 A. if B. while C. extern D. student 2. 下面关于类和对象的说法中 ,不正确的是( )。 A. 对象是类的一个实例 B. 任何一个对象只能属于一个具体的类 C. 类与对象的关系类似于数据类型与变量的关系 D. 一个类只能有一个对象 3. 在应用程序设计中 ,建立函数的主要目的之一是( )。 A. 提高程序的执行效率 B. 提高程序的可读性和可维护性 C. 减少程序
2、的篇幅 D. 减少程序代码所占内存 4. 一个类如果有一个以上的基类就叫做( )。 A. 循环继承 B. 单继承 C. 非法继承 D. 多继承 5. 在 C+应用程序设计中若要进行文件操作 ,则在程序中包含头文件( )。 A. iostream.h B. fstream.h C. stdio.h D. string.h 6. 下列各种函数中 ,不属于类成员函数的是( )。 A. 构造函数 B. 拷贝构造函数 C. 友元函数 D. 析构 函数 7. 在 C+应用程序设计中要使用 I/O流 ,则应在程序中包含( )。 A. iostream.h B. ostream.h C. istream.h
3、D. cin 8. 下列关于函数的说法中 ,不正确的是( )。 A. 在不同函数中可以使用相同的名字命名变量 B. 形式参数是局部变量 C. 在函数内部定义变量的作用域在本函数中 D. 在一个函数内的复合语句中定义变量的作用域也是整个函数 9. 在 C+应用程序中 ,语句块 catch() 用于( )。 A. 抛出异常 B. 检测某种类型异常 C. 检测 所有类型异常 D. 检测并处理所有类型异常 10. 对于结构中定义的成员 ,其隐含访问权限为( )。 A. public B. protected C. private D. static 11. 一个类的友元函数能够访问该类的( )。 A.
4、 私有成员 B. 公有成员 C. 保护成员 D. 所有成员 12. 在 ios中提供的格式控制标志位中 ,表示转换为 16进制形式的标志位是( )。 A. Oct B. Dec C. Left D. hex 13. 下列要求中 ,对重载函数不必要的是( )。 A. 要求参数的个数 不同 B. B要求参数中至少有一个类型不同 C. 要求参数个数相同时类型不同 D. 要求函数的返回值类型不同 14. 由 C+目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. lik 15. cin是( )类的标准对象引用 A. ostream B. istream C
5、. stdout D. stdin 16. 说明模板参数的关键字为( )。 A. Inline B. Template C. Friend D. define 17. 基类的( )在派生类内不能 被访问。 A. 私有成员 B. 保护成员 C. 公有数据成员 D. 公有静态数据成员 18. 下列字符序列中 ,能够作为用户自定义标识符的是( )。 A. if B. while C. 2while D. my student 19. 在 C+中 ,运行时多态性通过使用( )来实现。 A. 构造函数 B. 析构函数 C. 虚函数 D. 重载函数 20. C+的注释一般有两种 ,即一种是用 “/* 注释
6、 */” 可以表示多行注释 ,另一种是用( )。 A. “ 注释 ” 表示 单行注释 B. “ 注释 ” 表示多行注释 C. “/ 注释 ” 表示单行注释 D. “/ 注释 ” 表示多行注释 21. 下列关于静态数据成员的论述,正确的是( )。 A. 可以通过 this指针访问静态数据 B. 可以用类名和作用域访问静态数据 C. 静态数据在类内声明并初始化 D. 只能由该类的静态成员函数访问 22. 将公共基类说明为虚基类的目的是( )。 A. 简化应用程序 B. 消除对基类成员的访问二义性 C. 提高程序运行效率 D. 精简目标程序代码 23. 类型修饰符 unsigned 不能修饰的数据类
7、型是 ( )。 A. char B. int C. long int D. float 24. 模板是实现类属机制的一种工具 ,它即允许程序员构造类属函数 ,即模板函数 ;也允许程序员构造类属类 ,即( )。 A. 模板函数 B. 函数模板 C. 模板类 D. 类模板 25. 类定义中,下列正确的纯虚函数声明形式是( )。 A. void virtual print()=0; B. virtual void print() = 0; C. virtual void print() ; D. virtual void print(); 二、判断题(本大题共 30 分,共 10 小题,每小题 3
8、分) 1. 现在有以下语句 : char * p1= “China”,“Japan”,“Korea”,“Russia”,“Vietnam” ; char p2= “Hello,everyone” ; int s1=sizeof (p1); int s2=sizeof(p2); int s3=strlen(p2); 则变量 s1, s2, s3 的值分别为 20,15,14.( ) 2. 构造函数可以有参数。 ( ) 3. 使用 const 语句定义一个标识符常量时 ,则必须对它同时进行初始化。( ) 4. 因为可以重复继承 ,所以在定义派生类是可以将同一个基类直接继承两次以上。( ) 5. C
9、+语言本身并没有定义 I/O操作 ,C+应用程序中的 I/O操作是通过标准库iostream提供的基本 I/O类实现的。( ) 6. C+中的多态性就是指在编译时 ,编译器对同一个函数调用 ,根据情况调用不同的实现代码。( ) 7. 在 C+的异常处理机制中 ,关键字(保留字) try和 catch不必配合使用。( ) 8. 所有的 MFC应 用程序都必须有一个且只有一个 CWinApp对象。( ) 9. 在 C+中用 new 分配的内存空间 ,在不需要时一般用 free将该空间释放。( ) 10. 如果一个类的所有对象都共享某一个变量 ,则应当将该变量定义为该类的static成员。( ) 答案: 一、单项选择题( 69.99999 分,共 25 题,每小题 2.8 分) 1. D 2. D 3. B 4. D 5. B 6. C 7. A 8. D 9. D 10. A 11. D 12. D 13. D 14. B 15. B 16. B 17. A 18. C 19. C 20. C 21. B 22. B 23. D 24. C 25. B 二、判断题( 30 分,共 10 题,每小题 3 分) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.