1、 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. pxa C. px-a D. px.a8. 栈具有( )的操作特性。 A. 先进先出 B. 先进
2、后出 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.
3、 元素类型为char的二维数组a1030共占用_ _字节的存储空间。5. 局部变量具有局部生存期,存放在内存的_栈_区中。6. 已知语句“cout”的输出是“Hello!”,则语句“cout*p;”输出的是_。7. 对类中常量成员的初始化是通过在构造函数中给出的_来实现的。8. 在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_。9. 假定用户为类AB定义了一个构造函数“AB(int aa):a(aa)”,则定义该类的对象时,有_种定义格式。10. 在每个成员函数中,隐含的第一个参数的参数名为_。 三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容
4、填写到程序下面相应标号的后面。每小题6分,共24分)1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。#includevoid main() int f,f1,f2,i; cout” 斐波那契数列:n”; f1=0; f2=1; coutsetw(6)f1f2; for(i=3;i=20;i+) f=_(1)_;coutf;if(_(2)_) coutendl;f1=f2;f2=_(3)_; cout(1) (2) (3) 2. 对数组an按升序进行的选择排序算法 void SelectSort(int
5、 a, _(1)_) int i,j,k; for(i=1;n;i+) /进行n-1次选择和交换 k=i-1; for(j=i;jj+) if(ajak) _(2)_; int x=ai-1; ai-1=ak; _(3)_;(1) (2) (3) 3. 已知一个类的定义如下:class AA int a10; int n;public: void SetA(int aa, int nn); /用数组aa初始化数据成员a, /用nn初始化数据成员n int MaxA(); /从数组a中前n个元素中查找最大值void SortA(); /采用选择排序的方法对数组a中前n个元素 /进行从小到大排序
6、void InsertA();/采用插入排序的方法对数组a中前n个元素进行从小到大排序 void PrintA(); /依次输出数组a中的前n个元素; 该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。int _(1)_ int x=a0; for(int i=1; ix) _(2)_;(1) (2) (3)4class A int a; public: A() a=0; _(1)_ /定义构造函数,用参数aa初始化数据成员a ; main() _(2)_; /定义类A的指针对象p _(3)_; /用p指向动态对象并初始化为整数5四、理解问答题(写出前两小题的程序运行结果和指出后两
7、小题的程序(或函数)所实现的功能。 1. #include #include void main() int a8=25,48,32,85,64,18,48,29; int max,min; max=min=a0; for(int i=0;8; i+) if(xai) max=ai; if(xai) min=ai; max:maxmin:min 2. #include for(int i=1,s=0;20; if(i%2=0 | i%3=0) continue; ; s+=i;s 3. void trans(int x) char a10; int i=0,rem; do rem=x%16;
8、x=x/16; if(rem0) cout=a & sims) coutError! exit(1); MS=ms; n=nn; a=new intMS;MS; i+) ai=aai;AA* Reverse(); /对于调用该函数的对象,将其a数组中前n个 /元素值按相反的次序排列,返回指向该对象的指针。C语言程序设计A期末模拟试题一参考答案一、 单选题1. B 2. A 3. C 4.B 5.C 6.A 7.C 8.B 9.D 10.D二、 填空题1. C 2. 空白 3. false(或0) 4. 300 5.栈 6.H 7. 初始化表 8. 成员函数 9. 1 10. this三、程序填
9、充题1. (1) f1+f2 (2) i%5=0 (3) f2. (1) int n (2) k=j (3) ak=x3. (1) AA:MaxA() (2) x=ai (3) return x4. (1) A(int aa):a(aa) (2) A *p (3) p=new A(5)四、理解问答题1. 85 18 2. 1 5 7 11 13 37 3.此函数用于把十进制整数x转换为十六进制数字串输出4.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。五、编程题1. #includex; max=x;9; cin if(xmax) max=x;2.AA* AA:Reverse() int i,x; for(i=0;n/2; x=ai; ai=an-1-i; an-1-i=x; return this; C语言程序设计A期末模拟试题二1. 编写C+程序一般需经过的几个步骤依次
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1