
一、单项选择题(每小题2分,共20分)
1.由C++目标文件连接而成的可执行文件的缺省扩展名为( )。
A. cpp B. exe C. obj D. lik
2.x>0 && x<=10的相反表达式为( )。
A. x<=0 || x>10 B. x<=0 && x>10
C. x<=0 || x<=10 D. x>0 && x>10
3.在下面的一维数组定义中,哪一个有语法错误。( C )
A. int a[]={1,2,3}; B. int a[10]={0};
C. int a[]; D. int a[5];
4.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( C )。
A. 1 B. 4 C. sizeof(double) D. sizeof(p)
5.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。
A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C. 仅仅搜索源程序所在目录
D. 搜索当前逻辑盘上的所有目录
6.假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。
A. delete p; B. delete *p; C. delete &p; D. delete []p;
7.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。
A. px(a) B. px[a] C. px->a D. px.a
8.栈具有( )的操作特性。
A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意
9.对于任一个类,用户所能定义的构造函数的个数至多为( )。
A. 0 B. 1 C. 2 D. 任意个
10.下列对派生类的描述中错误的说法是:( )。
A. 派生类至少有一个基类
B. 派生类可作为另一个派生类的基类
C. 派生类除了包含它直接定义的成员外,还包含其基类的成员
D. 派生类所继承的基类成员的访问权限保持不变
二、填空题(每题2分,共20分)
1.C++语言是在_________语言的基础上发展起来的。
2.当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
3.假定x是一个逻辑量,则x && false的值为__________。
4.元素类型为char的二维数组a[10][30]共占用____ ____字节的存储空间。
5.局部变量具有局部生存期,存放在内存的______栈______区中。
6.已知语句“cout<
7.对类中常量成员的初始化是通过在构造函数中给出的______________来实现的。
8.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_____________。
9.假定用户为类AB定义了一个构造函数“AB(int aa):a(aa){}”,则定义该类的对象时,有________种定义格式。
10.在每个成员函数中,隐含的第一个参数的参数名为________。
三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。每小题6分,共24分)
1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。
#include void main() { int f,f1,f2,i; cout<<” 斐波那契数列:\n”; f1=0; f2=1; cout< f=______(1)______; cout< f2=____(3)_______; } cout< (1) (2) (3) 2. 对数组a[n]按升序进行的选择排序算法 void SelectSort(int a[], ___(1)___) { int i,j,k; for(i=1;i for(j=i;j } } (1) (2) (3) 3. 已知一个类的定义如下: #include class AA { int a[10]; int n; public: void SetA(int aa[], int nn); //用数组aa初始化数据成员a, //用nn初始化数据成员n int MaxA(); //从数组a中前n个元素中查找最大值 void SortA(); //采用选择排序的方法对数组a中前n个元素 //进行从小到大排序 void InsertA();//采用插入排序的方法对数组a中前n个元素进行从小到大排序 void PrintA(); //依次输出数组a中的前n个元素 }; 该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。 int ____(1)_____ { int x=a[0]; for(int i=1; i ___(3)___; } (1) (2) (3) 4.class A { int a; public: A() {a=0;} ___(1)___{} //定义构造函数,用参数aa初始化数据成员a }; main() { ___(2)___; //定义类A的指针对象p ___(3)__; //用p指向动态对象并初始化为整数5 } (1) (2) (3) 四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。每小题6分,共24分) 1. #include #include void main() { int a[8]={25,48,32,85,,18,48,29}; int max,min; max=min=a[0]; for(int i=0; i<8; i++) { if(x>a[i]) max=a[i];
