2010-2011(3)算法语言与程序设计笔试试卷A(试卷) 下载本文

内容发布更新时间 : 2024/6/18 20:34:57星期一 下面是文章的全部内容请认真阅读。

自 觉 遵 名 守姓 考 场 纪 律 如 考 试 作 弊 号 此学 答 卷 无 效东 南 大 学 考 试 卷(A卷)

课程名称 算法语言与程序设计Ⅱ

考试学期 10-11(三)

得分

适用专业

非电类

考试形式

闭卷

考试时间长度 120分钟

(开卷、半开卷请在此写明考试可带哪些资料) 题目 一 二 三 总分 得分 批阅人 线注:学生答案一律写在密封线右侧并保持适当距离。

一、单选题(每题1.5分,共30分)

1. 设有变量声明 char *s; double *t; 下面关于指针的陈述错误的是 。

A. s和t所占内存的字节数是不同的。 封B. 可以为t赋值NULL。

C. 如果变量声明后紧接着执行cout<

密2. 若有以下语句: char a[ ]=\,*p;则以下能正确输出a的子串\的是 。

A. p=a+6; cout<

3.为指针变量赋值,以下语句中不正确的是 。

A. int *p=0; B. float *p=new float(50); C. int *p=new 50;

D. float *p=new float[50];

4.设有如下定义语句char b[5], *p=b;则正确的赋值语句是 。

A. b=\

B. *b=\C. p=\

D. *p=\

5. 设s和t分别为指向两个长度相同的字符数组指针,则循环语句while( );可以正确实现字符串t到s的完整复制功能。

第 1 页 共 12 页

A.*s=*t && t!=0

C.*(++s)=*(++t)

B.s++=t++ &&*t!=0 D.*s++=*t++

6.设有定义: int arr[]={6,7,8,9,10},*ptr;则下列程序段的输出结果为 ptr=arr; *(ptr+2)+=2;

cout<<*ptr<<','<<*(ptr+2)<

A.8,10 B.6,8 C.7,9 D.6,10 7.当数组名为函数的实参时,它传递给函数的是 。

A.数组的首地址

B.数组名

C.数组第一个元素的值 D.数组全部元素 8.对于一个C++的类, 。

A.只能有一个构造函数和一个析构函数 B.可有一个构造函数和多个析构函数 C.可有多个构造函数和一个析构函数 D.可有多个构造函数和多个析构函数

9. 在下列函数原型所示的函数中,按“传值”方式传递参数的是 。

A. void fun(int x);

B. void fun(int *x); D. void fun(int &x);

C. void fun(int x[]);

10. 在 C++中,编译系统自动为一个类生成缺省构造函数的条件是 。

A. 该类没有定义任何有参构造函数 B. 该类没有定义任何无参构造函数 C. 该类没有定义任何构造函数 D. 该类没有定义析构函数

11. 在一个派生类的成员函数中,试图调用其基类的成员函数f(),但无法通过编译。这可能的原因是 。

A. f()是基类的私有成员 B. 派生类的继承方式为私有 C. f()是基类的保护成员 D. 派生类的继承方式为保护 12. 下列关于运算符重载的叙述中,错误的是 。

A. 有的运算符可以作为非成员函数重载

B. 所有的运算符都可以通过重载而被赋予新的含义 C. 不得为重载的运算符函数的参数设置默认值 D. 有的运算符只能作为成员函数重载 13. 有如下程序: #include class A{

public:

~A(){cout<<'*';}

};

void main(){

A a[2], *p[2]; }

执行这个程序输出星号(*)的个数为 。

A. 程序编译不通过

B. 2

C. 3

D. 4

14. 下列选项中,与实现运行时多态性无关的是 。

A. 重载函数

B. 虚函数 C. 指针

D. 引用

15. 下列运算符重载函数的原型中,不属于类 A 的成员函数的是 。

A. A operator+(A); B. A operator-(); C. A operator*(int); D. A operator/(A,A); 16.关于虚函数的不正确说法是: 。

A.构造函数和析构函数都可以是虚函数,都可以被继承

B.虚函数重新定义(重构)时必须保证参数个数、类型及返回值类型与基类中函数一致 C.虚函数必须是成员函数,不能是友元、静态函数

D.基类中的虚函数可以为派生类继承,继承下来仍为虚函数

17. 建立一个有对象成员的派生类对象时,各构造函数体的执行次序为 。

A. 派生类、成员对象类、基类 B. 成员对象类、基类、派生类 C. 基类、成员对象类、派生类 D. 基类、派生类、成员对象类 18. 下列关于类定义的说法中,正确的是 。

A. 类定义中包括数据成员和函数成员的声明 B. 类成员的缺省访问权限是保护的 C. 数据成员必须被声明为私有的 D. 成员函数只能在类体外进行定义

19. 下列关于派生类构造函数和析构函数的说法中,错误的是 。

A. 派生类的构造函数会隐含调用基类的默认构造函数

B. 如果基类中没有缺省构造函数,那么派生类必须定义构造函数

C. 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D. 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 20. 下列有关继承和派生的叙述中,正确的是 。

A. 派生类不能访问基类的保护成员 B. 作为虚基类的类不能被实例化 C. 派生类应当向基类的构造函数传递参数 D. 虚函数必须在派生类中重新实现