2014秋计本福师《C++语言程序设计》在线作业1答案1

更新时间:2024-01-16 16:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

福师《C++语言程序设计》在线作业一

试卷总分:100 测试时间:--

一、单选题(共 20 道试题,共 40 分。)

V

1. 下面有关重载函数的说法中正确的是( )

A. 重载函数必须具有不同的返回值类型 B. 重载函数形参个数必须不同 C. 重载函数必须有不同的形参列表 D. 重载函数名可以不同 满分:2 分

2. 下列描述正确的是()。

A. 表示m>n为true或mn&&m B. switch语句结构中必须有default语句 C. if语句结构中必须有else语句

D. 如果至少有一个操作数为true,则包含“‖”运算符的表达式为true 满分:2 分

3. C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()。A. 增加了一些新的运算符

B. 允许函数重载,并允许设置缺省参数 C. 规定函数说明符必须用原型 D. 引进了类和对象的概念 满分:2 分

4. 下列函数中,可以是虚函数的是______。( )

A. 自定义的构造函数 B. 拷贝构造函数 C. 静态成员函数 D. 析构函数

满分:2 分

5. 设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。

A. f1(a,b); B. f1(&a,b); C. f1(a,&b); D. f1(&a,&b); 满分:2 分

6. 如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )

A. 4 B. 10 C. 11 D. 40 满分:2 分

7. 下列描述中哪个是正确的()。

A. 私有派生的子类无法访问父类的成员

B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

C. 私有派生类不能作为基类派生子类

D. 私有派生类的所有子孙类将无法继续继承该类的成员 满分:2 分

8. 下面对静态数据成员的描述中,正确的是_________。

A. 静态数据成员可以在类体内进行初始化 B. 静态数据成员不可以被类的对象调用 C. 静态数据成员不能受private控制符的作用 D. 静态数据成员可以直接用类名调用 满分:2 分

9. 类模板规定了如何创建一个______。( )

A. 对象

B. 类 C. 实例 D. 变量 满分:2 分

10. 下面的哪个选项不能作为函数的返回类型?

A. void B. int C. new D. long 满分:2 分

11. 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是

_________。

A. 派生类的对象可以赋给基类的对象 B. 派生类的对象可以初始化基类的引用 C. 派生类的对象可以直接访问基类中的成员 D. 派生类的对象的地址可以赋给指向基类的指针 满分:2 分

12. 当说明一个结构变量时,系统分配给它的内存是( )

A. 各成员所需内存量的总和 B. 结构中第一个成员所需内存量

C. 成员中占内存量最大的成员所需的容量 D. 结构中最后一个成员所需内存量 满分:2 分

13. 不能作为重载函数的调用的依据是_________。

A. 参数个数 B. 参数类型 C. 函数类型

D. 函数名称 满分:2 分

14. 已知:f1(int)是类A的公有成员函数,函数p是指向成员函数f1()的指针,采用()

是正确的。 A. p=f1 B. p=A::f1 C. p=A::f1() D. p=f1() 满分:2 分

15. 对于全局函数 int f(void) ,与其完全等价的函数原型为____________。

A. int& f( ); B. int f(void ) const; C. const int f( ); D. A、B、C都不是 满分:2 分

16. 设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )

A. 先调用A类的构造函数,然后调用B类的构造函数 B. 先调用B类的构造函数,然后调用A类的构造函数 C. 不调用A类的构造函数

D. 视定义时A类和B类出现的位置 满分:2 分

17. 下列运算符中,( )运算符在C++中不能重载

A. && B. [] C. :: D. new 满分:2 分

18. 下面关于new 和delete操作符的说法中,不正确的是( )

A. 使用new操作符,可以动态分配全局堆中的内存资源

B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用 C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中 D. 执行语句A * p=new A[100]时,类A的构造函数只会被调用1次 满分:2 分

19. 如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换( )

A. x=x+y,y=x-y,x=x-y B. t=x,x=y,y=t C. t=y,y=x,x=t D. x=t,t=y,y=x 满分:2 分

20.

下列程序的运行结果为_________。 #include

void print(double a) {

cout<<++a; }

void print(int a,int b) { cout< } void main() { print(1.2); cout<<” ”; print(3,4); } A. 1.2 34 B. 2.2 34 C. 1.2 43 D. 2.2 43

满分:2 分

二、判断题(共 20 道试题,共 40 分。)

V

1. 以面向IA-32处理器的VC++ 2008和gcc 4.2为准,float类型数据在内存中占4个字

节,double型数据占8个字节,long double型数据占8个字节。( ) A. 错误 B. 正确 满分:2 分

2. NULL是空指针值,它不指向任何地方。( )

A. 错误 B. 正确 满分:2 分

3. 函数的返回值也称函数值,返回的不是函数本身,而是一个值。( )

A. 错误 B. 正确 满分:2 分

4. C++中,一个函数必须在函数声明后才能使用( )

A. 错误 B. 正确 满分:2 分

5. 若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通

过Derived类的实例对象,不可能输出基类Base中的变量x的值。 A. 错误 B. 正确 满分:2 分

6. 表达式8&3的结果是1。

A. 错误 B. 正确 满分:2 分

7. 私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。( )

A. 错误

B. 正确 满分:2 分

8. 对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构

造函数中的函数体实现。 A. 错误 B. 正确 满分:2 分

9. 变量分为全局和局部两种,局部变量没有赋初值时,其值是确定的。

A. 错误 B. 正确 满分:2 分

10. 类的静态数据成员需要在定义每个类的对象时进行初始化。

A. 错误 B. 正确 满分:2 分

11. C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( ) A. 错误 B. 正确 满分:2 分

12. 面向对象的模型中,最基本的概念是对象和函数。

A. 错误 B. 正确 满分:2 分

13. 设有int w[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为int (*

pw)[4]=w; A. 错误 B. 正确 满分:2 分

14. C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或

者返回多个值,应该采取传地址方式。

A. 错误 B. 正确 满分:2 分

15. 每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。 A. 错误 B. 正确 满分:2 分

16. typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( ) A. 错误 B. 正确 满分:2 分

17. float和double类型的大小分别为4和8。

A. 错误 B. 正确 满分:2 分

18. 带extern的变量说明是变量声明,不是变量定义。( )

A. 错误 B. 正确 满分:2 分

19. 类是一种类型,它封装了数据和操作。

A. 错误 B. 正确 满分:2 分

20. 关键字friend用于声明友元。

A. 错误 B. 正确 满分:2 分

三、多选题(共 10 道试题,共 20 分。)

V

1. 对C++语言和C语言的兼容性,描述不正确的是______。

A. C++兼容C B. C++部分兼容C C. C++不兼容C D. C兼容C++ 满分:2 分

2. 函数调用可以______。

A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 满分:2 分

3. 下面描述中,表达正确的是______。

A. 公有继承时基类中的public成员在派生类中仍是public的 B. 公有继承时基类中的private成员在派生类中是public的 C. 公有继承时基类中的protected成员在派生类中仍是protected的 D. 私有继承时基类中的public成员在派生类中是private的 满分:2 分

4. 下列说法中错误的是______。

A. C++程序总是从第一个定义的函数开始执行 B. C++程序总是从main函数开始执行 C. C++函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一个程序文件中 满分:2 分

5. 下列哪种函数不可以是虚的______。

A. 自定义的构造函数

B. 拷贝构造函数 C. 静态成员函数 D. 析构函数 满分:2 分

6. 以下关于函数模板叙述错误的是______。

A. 函数模板也是一个具体类型的函数

B. 函数模板的类型参数与函数的参数是同一个概念

C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 满分:2 分

7. 以下不正确的描述是______。

A. 函数的定义可以嵌套,函数的调用不可以嵌套 B. 函数的定义不可以嵌套,函数的调用可以嵌套 C. 函数的定义和函数的调用均可以嵌套 D. 函数的定义和函数的调用均不可以嵌套 满分:2 分

8. 在下面的一维数组定义中,没有语法错误的是______。

A. int a[ ]={1,2,3} B. int a[10]={0} C. int a[ ] D. int a[5] 满分:2 分

9. C++语言的跳转语句中,对于break和continue说法不正确的是______。A. break语句只应用于循环体中 B. continue语句只应用于循环体中 C. break是无条件跳转语句,continue不是

D. break和continue的跳转范围不够明确,容易产生问题 满分:2 分

10. 关于异常和C++提供的异常处理机制正确的说法是______。

A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现 B. 使用dynamic_cast操作符可能会产生异常 C. 异常可以用catch进行捕获处理 D. 异常可以是对象,也可以是普通整数 满分:2 分

最高得分82分

D. break和continue的跳转范围不够明确,容易产生问题 满分:2 分

10. 关于异常和C++提供的异常处理机制正确的说法是______。

A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现 B. 使用dynamic_cast操作符可能会产生异常 C. 异常可以用catch进行捕获处理 D. 异常可以是对象,也可以是普通整数 满分:2 分

最高得分82分

本文来源:https://www.bwwdw.com/article/m9fo.html

Top