东南大学2005年6月C++下试卷B.doc
文本预览下载声明
东南大学考试卷(B卷)
课程名称 C++程序设计(下) 考试学期 得分
适用专业 考试形式 闭卷 考试时间长度 100分钟
说明:此卷满分为60分
单选题 (每题2分,共20分)
1.面向对象程序设计的核心是类和对象。类= a 。
A) 数据+对数据的操作 B) 对象+对象+…….+对象
C)对象+算法 D) 算法+数据结构
2.设有变量定义:int aval=2005;int *ap;double *dp;下面赋值正确的是 a 错 。
A) ap=aval; B) *ap=aval; C) dp=ap; D) *dp=*ap;
3.设有三个语句:int s=100;int w[s];cinw;则编译认为 c 。
A) 仅第二个语句“int w[s];”错
B) 仅第三个语句“cinw;”错
C) 仅第一个语句“int s=100;”正确
D)三个语句都正确,没有语法错误
4.当数组名作为函数的实参时,它传递给函数的是 a 。
A) 数组首地址 B) 数组名
C) 数组第1个元素值 D)数组全部元素
5.有关内存分配的说法中, b 是错误的。
A) 指针变量可以保存动态分配的存储空间。
B) 数据元素存储在堆区的数组在建立时就被初始化(清零)。
C) 用new 为指针变量分配的存储空间可以是一个数组。
D) 指向静态变量的指针不必用delete 释放。
6.为指针变量赋值,以下语句中不正确的是 c 。
A) int *p=0; B) float *p=(float *)50;
C) int *p=new 50; D) float *p=new float[50];
7.设s和t分别为指向两个长度相同的字符数组的指针,则循环语句while( d );可以正确实现字符串t到s的完整复制功能。
A) *s=*t*t!=0 B) s++=t++*t!=0
C) *(++s)=*(++t) D) *s++=*t++
8.设有以下定义:
class Ball : public Circle{
double r;
public:
……
}
则正确的描述为 c 。
Circle是Ball 的派生类
r是Circle的数据成员
Ball 是Circle的派生类
r是Ball和Circle共同的数据成员
9.C++中多态性包括两种:编译时的和运行时的。运行时多态性是通过 b 和 实现的。
①函数重载 ②运算符重载 ③类继承关系 ④动态链接 ⑤虚函数
A) ①和② B) ③和⑤ C) ④和⑤ D) ③和④
10.EOF为文件结束标志,在iostream.h 中定义EOF为 a 。
A) -1 B) 0 C) 1 D) NULL
二、阅读程序题 (每题5分,共20分)
1.执行以下程序,当输入数据2、8和-1时,写出屏幕显示的输入输出内容。
#include iostream.h
const int N=10;
void main()
{ int i,m,k=1;
int data[N];
for(i=0;iN;i++)
data[i]=i;
while(k=0kN){
cout起始位置: ;
cink;
if (k0) break;
m=0;
for(i=k;iN;i+=2){
coutdata[i] , ;
m++;
}
cout数据个数: mendl;
}
}
2.写出以下程序执行时的屏幕输出
#include iostream.h
int sum(int p[ ], int *w, int
显示全部