ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:33.50KB ,
资源ID:5024798      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5024798.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计A期末模拟试题14.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计A期末模拟试题14.docx

1、C语言程序设计A期末模拟试题14 C语言程序设计A期末模拟试题一一、单项选择题(每小题2分,共20分)1.由C+目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik2.x0 & x=10的相反表达式为( )。A. x10 B. x10C. x=0 | x0 & x103.在下面的一维数组定义中,哪一个有语法错误。( C ) A. int a=1,2,3; B. int a10=0;C. int a; D. int a5;4.假定p是具有double类型的指针变量,则表达式+p使p的值(以字节为单位)增加( C )。A. 1 B. 4 C.

2、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为指向该类对象的一

3、个指针,则访问px所指对象中数据成员a的格式为( )。 A. px(a) B. pxa C. px-a D. px.a8.栈具有( )的操作特性。 A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意9.对于任一个类,用户所能定义的构造函数的个数至多为( )。 A. 0 B. 1 C. 2 D. 任意个10.下列对派生类的描述中错误的说法是:( )。 A. 派生类至少有一个基类 B. 派生类可作为另一个派生类的基类 C. 派生类除了包含它直接定义的成员外,还包含其基类的成员 D. 派生类所继承的基类成员的访问权限保持不变二、填空题(每题2分,共20分)1.C+语言是在_语言的基础上发

4、展起来的。2.当执行cin语句时,从键盘上输入每个数据后必须接着输入一个_符,然后才能继续输入下一个数据。3.假定x是一个逻辑量,则x & false的值为_。4.元素类型为char的二维数组a1030共占用_ _字节的存储空间。5.局部变量具有局部生存期,存放在内存的_栈_区中。6.已知语句“coutp;”的输出是“Hello!”,则语句“cout*p;”输出的是_。7.对类中常量成员的初始化是通过在构造函数中给出的_来实现的。8.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_。9.假定用户为类AB定义了一个构造函数“AB(int aa):a(aa)”,则定义该类的对

5、象时,有_种定义格式。10.在每个成员函数中,隐含的第一个参数的参数名为_。 三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。每小题6分,共24分)1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。#includevoid main() int f,f1,f2,i; cout” 斐波那契数列:n”; f1=0; f2=1; coutsetw(6)f1setw(6)f2; for(i=3;i=20;i+) f=_(1)_; coutsetw(6)f

6、;if(_(2)_) coutendl;f1=f2;f2=_(3)_; coutendl; (1) (2) (3) 2. 对数组an按升序进行的选择排序算法 void SelectSort(int a, _(1)_) int i,j,k; for(i=1;in;i+) /进行n-1次选择和交换 k=i-1; for(j=i;jn;j+) if(ajak) _(2)_; int x=ai-1; ai-1=ak; _(3)_; (1) (2) (3) 3. 已知一个类的定义如下:#includeclass AA int a10; int n;public: void SetA(int aa, in

7、t 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=a0; for(int i=1; ix) _(2)_; _(3)_;(1) (2) (3)4class A int a; public

8、: A() a=0; _(1)_ /定义构造函数,用参数aa初始化数据成员a ; main() _(2)_; /定义类A的指针对象p _(3)_; /用p指向动态对象并初始化为整数5 (1) (2) (3)四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。每小题6分,共24分) 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; iai) max=ai; if(xai) min=ai; coutmax:ma

9、xendl; coutmin:minendl; 2. #include void main() for(int i=1,s=0;i20;i+) if(i%2=0 | i%3=0) continue; couti ; s+=i; coutsendl; 3. void trans(int x) char a10; int i=0,rem; do rem=x%16; x=x/16; if(rem0) couta i; coutendl; 4. char *f(char *s) int n=strlen(s); char* r=new charn+1; for(int i=0; i=a & sims)

10、 coutError!endl; exit(1); MS=ms; n=nn; a=new intMS; for(int i=0; iMS; 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三、程序填充题1. (1) f1

11、+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. max:85 min:18 2. 1 5 7 11 13 37 3.此函数用于把十进制整数x转换为十六进制数字串输出4.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。五、编程题1. #include void main() int x,max; cinx;

12、max=x; for(int i=0;ix; if(xmax) max=x; coutmax:maxendl; 2.AA* AA:Reverse() int i,x; for(i=0; in/2; i+) x=ai; ai=an-1-i; an-1-i=x; return this; C语言程序设计A期末模拟试题二一、单项选择题(每小题2分,共20分)1.编写C+程序一般需经过的几个步骤依次是( )。 A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接2.假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则

13、元素a21的值为( A )。 A. 0 B. 4 C. 8 D. 63.函数重载是指( A )。 A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同4.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用( D )。 A. cout*s; B. couts; C. cout&s; D. cout(void *)s;5.在类作用域中能够通过直接使用该类的( )成员名进行访问。

14、 A. 私有 B. 公用 C. 保护 D. 任何6.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( )。 A. a B. AA:a C. a() D. AA:a()7.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾(即最后一个)元素的位置为( )。 A. length+1 B. first+length C. (first+length-1)%MS D. (first+length)%MS 8.假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。 A. 无参构造函数

15、B. 带参构造函数 C. 赋值重载函数 D. 拷贝构造函数9.双目运算符重载为普通函数时,其参数表中应带有( )个参数。 A. 0 B. 1 C. 2 D. 310.当派生类中有和基类一样名字的成员时,一般来说,( )。 A. 将产生二义性 B. 派生类的同名成员将覆盖基类的成员 C. 是不能允许的 D. 基类的同名成员将覆盖派生类的成员二、填空题(每题2分,共20分)1.行尾使用注释的开始标记符为_。2.设enum Printstatusready=2,busy,error; 则coutname等价的表达式是_。6.如果一个派生类的基类不止一个,则这种继承称为_。7.在一个用数组实现的队列类

16、中,假定数组长度为MS,队首元素位置为first,队列长度为length,则插入一个新元素的位置为_。8.向一个队列中插入元素就是把该元素放到_元素的后一位置上。9.假定用户只为类AB定义了一个构造函数“AB():a(0),b(0)”,则定义该类对象x的定义语句“AB x;”是_(正确/错误)的。10.除了_运算符外,其他重载的运算符都可以被派生类继承。三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。每小题6分,共24分) 1. 统计字符串中英文字母个数的程序。 #include int count (char str); void m

17、ain() char s180; cout s1; cout ”count=”count(s1)=a & stri=z |_(1)_ ) _(2)_; _(3)_; (1) (2) (3) 2. 从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。 #include void main() int x; coutx; int a20,k=0,r; do r=x%2; ak+=r; x=_(1)_; while(_(2)_); for(-k;k=0;k-) _(3)_; coutendl; (1) (2)

18、 (3) 3. 假定有定义为“struct NODEint data; NODE* next;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。void f6(NODE*& L, int table, int n) L=NULL; if(ndata=_(2)_; p-next=L; _(3)_; i+; (1) (2) (3) 4. 已知一个利用数组实现栈的类定义如下:const int ARRAY_SIZE=10;class Stack public: void Init() top=-1; /初始化栈为空 void Push

19、(int newElem); /向栈中压入一个元素 int Pop(); /从栈顶弹出一个元素 bool Empty() /判栈空 if(top=-1) return true;else return false; int Depth() return top+1; /返回栈的深度 void Print(); /按照后进先出原则依次输出栈中每个元素,直到栈空为止private: int elemARRAY_SIZE; /用于保存堆栈元素的数组 int top; /指明栈顶元素位置的指针; 该类的Pop和Print函数的实现分别如下:_(1)_ if(top=-1) cout栈空!endl; e

20、xit(1); /中止运行 return _(2)_;void Stack:Print() while(!Empty() cout_(3)_ ;(1) (2) (3)四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。每小题6分,共24分) 1. #include const int N=5; void main() int i,p=1,s=0; for(i=1;iN; i+) p=p*i; s=s+p; coutsetw(5)isetw(5)p; coutsetw(5)sendl; 2#include #include class CD char* a; i

21、nt b; public: void Init(char* aa, int bb) a=new charstrlen(aa)+1; strcpy(a,aa); b=bb; char* Geta() return a; int Getb() return b; void Output() couta bendl; ;void main() CD dx,dy; char a20; dx.Init(abcdef,30); strcpy(a,dx.Geta(); strcat(a,xyz); dy.Init(a,dx.Getb()+20); dx.Output(); dy.Output(); 3. #

22、include #include #include void main() int i=10,a; while(i0) a=rand()%100+10; int j, k=int(sqrt(a)+1e-5); /sqrt(x)为求x的平方根函数 for(j=2; jk) coutastr2i) return 1; else return -1; if(str1i=str2i) return 0; else if(str1istr2i) return 1; else return -1; 五、编程题(每小题6分,共12分) 1. 按照下面函数原型语句编写一个函数,返回二维数组amn中所有元素的平

23、均值,假定采用变量v存放平均值。 2. 根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。class AA int* a; int n; int MS;public: void InitAA(int aa, int nn, int ms) if(nnms) coutError!endl; exit(1); MS=ms; n=nn; a=new intMS; for(int i=0; iMS; i+) ai=aai; int MaxMin(int& x, int& y); /从数组a的前n个元素中求出 /最大值和最小值,并分别由引用参数x和y带回, /同时若n大于0则返回1,否则返回0。;C语言程序设计A期末模拟试题二 参考答案三、单选题1. B 2. A 3. A 4.D 5.B 6.A 7.C 8.D 9.C 10.B四、填空题1. / 2. 3 3. 类型 4. template 5. (*p).name 6. 多继承 7. (first+length)%MS 8. 队尾 9. 正确 10. 赋值

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1