福师《C++语言程序设计》在线作业1答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(共30 道试题,共60 分。)
1. 下面列出的保留字中,不能作为函数的返回类型的是(C)
A. void
B. int
C. new
D. long
2. 下面关于类的对象性质的描述,正确的是(D )
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
3. 循环体至少被执行一次的语句为(C)
A. for循环
B. while循环
C. do循环
D. 任一种循环
4. 要使几个不同数据类型的数据共享同一块内存区域,应使用(C )
A. 数组
B. 结构
C. 联合
D. 文件
5. 要声明一个有10个int型元素的数组,正确的语句是(A)
A. int a[10];
B. int a[2,5];
C. int a[];
D. int *a[10];
6. 下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);(B)
A. 3 3
B. 4 4
C. 3 4
D. 4 3
7. 下列运算符中,运算对象必须是整型的是(B)
A. /
B. %
C. =
D. &
8. 下面关于new 和delete操作符的说法中,不正确的是(D )
A. 使用new操作符,可以动态分配全局堆中的内存资源
B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D. 执行语句A * p=new A[100]时,类A的构造函数只会被调用1次
9. 下列叙述正确的是(A )
A. 一个程序中可以有多个#include命令行
B. 在#include命令行中,用双引号和用尖括号将被包含的文件名括起来没有区别
C. #include命令行只能放在程序开始位置
D. #include命令后也必须以分号结束
10. 表达式9!=10的值为(D) A. 非零值B. true C. 0 D. 1
11. 下面说法中,正确的是(C )
A. 公有派生类的成员函数可以访问基类的私有成员
B. 私有派生类的成员函数可以访问基类的私有成员
C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
12. 下列关于C++语言类的描述中错误的是(C )
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,而不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
13. 在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用(B )
A. 类
B. 类模板
C. 抽象类
D. 虚基类
14. 虚函数使用关键字(A )
A. virtual
B. static
C. public
D. private
15. 下列字符中不能构成标识符的是(D )
A. 数字字符
B. 大写字母
C. 下划线字符
D. 连接符
16. 已知函数test定义为:void test() { …………} 则函数定义中void的含义是(A)
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
17. 下列运算符中,(C)运算符在C++中不能重载
A. &&
B. []
C. ::
D. new
18. 若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是(B )
A. 1/x*y*z
B. 1.0/(x*y*z)
C. 1/(x*y*z)
D. 1/x/y/(float)z
19. 已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是(A )
A. void print( ) const;
B. const void print( );
C. void print( );
D. void print(const);
20. 下列对引用的陈述中,不正确的是(C )
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
21. 在C++语言中,二维数组元素在内存中的存放顺序是(A )
A. 按行存放
B. 按列存放
C. 由用户自己定义
D. 由编译器决定
22. 下面不能正确表示a*b/(c*d)的表达式是(A )
A. (a*b)/c*d
B. a*b/(c*d)
C. a/c/d*b
D. a*b/c/d
23. 下列四个运算符中,优先级最低的是(D )
A. ()
B. ->
C. .
D. ++
24. 下面有关重载函数的说法中正确的是(C)
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
25. 下列哪项不是面向对象程序设计的主要特征(D)
A. 封装
B. 继承
C. 多态
D. 结构
26. 下列各个成员函数中,纯虚函数是(D)
A. void fun(int)=0
B. virtual void fun(int)
C. virtual void fun(int){}
D. virtual void fun(int)=0
27. 下列关于函数模板和模板函数的描述,错误的是(D)
A. 函数模板是一组函数的模板
B. 模板函数是一个实在的函数
C. 函数模板是定义重载函数的一种工具
D. 模板函数在编译时不生成可执行代码
28. 下列关于构造函数说法不正确的是(D)
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
29. 下列各种高级语言中,______是面向对象编程语言。(C)
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
30. 下列的各函数中, 不是类的成员函数的是(C )
A. 构造函数
B. 析构函数
C. 友元函数
D. 复制构造函数
二、判断题(共20 道试题,共40 分。)
1. 在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。(√)