版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 广东海洋大学2005年第二学期C+程序设计课考试题(A卷) 一、选择题(每题2分,共36分)、 由C+目标文件连接而成的可执行文件的缺省扩展名为_。 A cpp B exe C obj D lik 、 在下面的函数声明中,存在着语法错误的是_。 A void BC(int a, int); B void BD(int, int); C void BE(int, int=5); D int BF(int x; int y); 、 假定AB为一个类,则该类的拷贝构造函数的声明语句为_。 A. AB&(const AB x); B. AB(const AB x) ; C. AB(const
2、 AB& x); D. AB(const AB* x); 、 对于结构中定义的成员,其隐含访问权限为_。 A public B protected C private D static 5、 在下列表示引用的方法中,_是正确的。 已知:int m=10; A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m; 6、 对于C/C+语言的函数,下列叙述中正确的是_。 A .函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用
3、都可以嵌套 7、 在一个被调用函数中,关于return语句使用的描述,_是错误的。 A.被调用函数中可以不用return语句 B.被调用函数中可以使用多个return语句 C.被调用函数中,如果有返回值,就一定要有return语句 D.被调用函数中,一个return语句可以返回多个值给调用函数 8、 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用_。 A.内联函数 B.重载函数 C.递归调用 D.嵌套调用9、 下列的各类函数中,_不是类的成员函数。 A构造函数 B析构函数 C友元函数 D拷贝构造函数 10、 _不是构造函数的特征 A.构造函数的函数名与类名相同
4、B.构造函数可以重载 C.构造函数可以设置缺省参数 D.构造函数必须指定类型说明 11、 已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,_是正确的。 A.void print( ) const; B.const void print( ); C.void const print( ); D.void print(const); 12、 关于new运算符的下列描述中,_是错的。 A. 它可以用来动态创建对象和对象数组 B.使用它创建的对象和对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数 D.使用它创建对象数组时必须指定初始值 13、 下列fo
5、r循环的次数为_。 for(i=0, x=0; !x&&i<=5; i+) A.5 B.6 C.1 D.无限 14、 对于"int *pa5;"的描述中,_是正确的。 A.pa是一个指向数组的指针,所指向的数组是5个int型元素 B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量 C.pa5表示某个元素的第5个元素的值 D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针 15、 有以下程序段: int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b; b=p6;则b中值是_。 A、10 B、6 C
6、、8 D、9 16、 设正x、y均为整型变量,且x=10, y=3,则以下语句的输出结果是_ 。 printf("%d,%d,%dn",+x,+y,x-); A、10,4,11 B、11,4,11 C、10,4,10 D、9,4,10 17、 下面的程序,输出结果为 _。 #include <stdio.h> void fun(char *p) char t; if (*p!='0') t=*p+; fun(p); if (t!='0') printf("%c",t); void main() char *a;
7、 a="1234" fun(a); A、 运行出错 B、1324 C、4231 D、4321 18、 下面的程序,输出结果为 _。 #include<stdio.h> void main( ) int *p, i; int a=2, 6, 8, 7, 9; p=a; i=2; printf("%dt%dt%dt%dt%dn",*(a+i), ap-a,*p+,*+p, *(&ai); A、8 6 6 6 8 B、8 2 2 8 8 C、8 2 6 8 8 D、8 6 8 6 8 2、 填空(后3题每空2分,其余每空1分,共20分) 1
8、、 已知A' (Z'的ASCII码为65(90,当执行“int x=D'+5;”语句后x的值为_。2、表达式float(25)/4和int(14.6)%5的值分别为_和_。3、关系表达式x+y>5的相反表达式为_。 4、举出C+中两种用户自定义的数据类型:_、_ 5、执行“typedef int ABC10;”语句把ABC定义为具有10个整型元素的_, 那么语句“ABC a;”等价的语句是:_。 6、当一个类对象离开它的作用域时,系统将自动调用该类的_。7、在C+中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的_特性。 8、使用cons
9、t语句定义一个标识符常量时,则必须对它同时进行_。 9、设变量均为int型,则表达式(b=51,i=b+)的值是_。 10、全局变量和_若不显示初始化,则自动初始化为0。 11、若需要把一个函数“void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:_。 12、假定p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_。 13、假定 AB为一个类,则执行“AB a10;”语句时,系统自动调用该类构造函数的次数为_。 14、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为_。三、读程题(每小题5分,共20分)
10、1、#include<iostream.h> void main() int s=0; for(int i=1;i<=5;i+) s+=i*i; cout<<"s="<<s<<endl; 该程序的运行结果是:_ 2、#include<iostream.h> #include<stdlib.h> double SD(int a, int b, char op) double x; switch(op) case '+': x=double(a)+b; break; case '
11、;-': x=double(a)-b; break; case '*': x=double(a)*b; break; case '/': if(b) x=double(a)/b; else exit(1); break; default: exit(1); return x; void main() int x=20,y=8; cout<<SD(x,y,'-')<< " " cout<<SD(x,y,'*')<< " " cout<
12、;<SD(x+y,y,'/')<<endl; 该程序的运行结果是: 3、#include<iostream.h> #include<string.h> struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; void main() Worker x; char *t="WeiRong" int d=45; float f=1235; strcpy(,t); x.age=d; x.pay=f; cout<<<&l
13、t; " "<<x.age<< " "<<x.pay<<endl; 该程序的运行结果是: 4、 #include<iomanip.h> void LG(int*& a, int& m) a=new intm; int* p=a; for(int i=0;i<m;i+) *p+=i*i; void main() int *b,n=5; LG(b,n); for(int i=0;i<n;i+) cout<<bn-i-1<< ""
14、 cout<<endl; deleteb; 该程序的运行结果是: 4、 读程填空,将答案直接写在题中的横线上。(共分) 1、 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。 (3分) #include<iostream.h> #include<iomanip.h> void main( ) int f,f1,f2,i; cout<<" 斐波那契数列的前20个数为:n" f1=0; f2=1; cout<<setw(8)<&
15、lt;f1<<setw(8)<<f2; for(i=3;i<=20;i+) f=_; cout<<setw(8)<<f; if (_) cout<<endl; f1=f2; f2=_; cout<<endl; 2、 已知一个类的定义如下:(分) #include<iostream.h> class AA int a10; int n;public: void SetA(int aa, int nn) /用数组aa初始化数据成员a,用nn初始化数据成员n int MaxA(); /从数组a中前n个元素中查找
16、最大值 void SortA(); /对数组a中前n个元素进行从小到大排序 void PrintA(); /依次输出数组a中的前n个元素,最后输出一个换行 ; int AA: MaxA() void AA: SortA() void main() int a10=23,78,46,55,62,76,90,25,38,42; _; x.SetA(a,8); int _; _; x.PrintA(); cout<<m<<endl; 该程序运行结果为: 23 25 46 55 62 76 78 90 90 5、 编程题。(15分)按照下列要求编写程序:(1) 写一个函数voi
17、d strsort(char *s),调用该函数能将给定的字符串按由小到大排序。(其中:该函数参数s:为指向所要排序的字符串的首地址。该函数名为:strsort 该函数返回类型为:void)(5分) (2) 通过调用上面排序函数编程实现:将从键盘任意输入的两字符串先按由小到大排序输出,再和并,并将和并后的字符串也按由小到大排序输出。(10分)广东海洋大学2005年第二学期C+程序设计课程考试(A)答案及评分标准 1、 选择题(每题2分,共36分)评分标准:选对者得2分,否则不得分。 1-5: B C C A A 6-10: A D A C D 11-15: A D B D A 16-18: C
18、 D A 2、 填空(后3题每空2分,其余每空1分,共20分)评分标准:每题与参考答案相同者得分,否则不得分。 1、73 2、6.25 4 3、x<=5 4、 类结构 5、数组int a10; 6、析构函数 7、封装性 8、初始化 9、51 10、静态变量 11、friend void F(); 12、46 13、10 14、Worker *r=new Workern; 三、读程题(每小题5分,共20分)评分标准:每题与参考答案的数据和显示格式完全相同者得分,否则酌情给分。 1、 s=55 2、 12 160 3.5 3、WeiRong 45 1235 4、16 9 4 1 0 4、 读程填空。(共分)评分标准:每题与参考答案完全相同者得分,否则酌情给分。 1、 (1) f1+f2 (2) i%5=0 (3) f1+f2 2、 (1) AA x; (2) m=x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版软件开发咨询服务合同3篇
- 2024年度物业管理合同:物业公司与业主委员会2篇
- 观察物体三课件下载
- 融资服务协议书
- 财务聘用合同范本
- 部门业绩绩效报告范文
- 《报告解读新动脉》课件
- 《阅读指导借物喻人》课件
- 《工厂污水处理图》课件
- 课件语文高中
- 北师大版 四年级上册心理健康 第一课 我是什么样的人 多角度看自己|教案
- 8 安全记心上 第三课时 119的警示(课件)-部编版道德与法治三年级上册
- 新公司法修订要点和解读
- 岗位责任制大检查考核内容及评分标准
- 路灯的安装维护和修理行业市场特点分析
- BEC商务英语(高级)写作模拟试卷12(共26题)
- 《研学旅行基地运营与管理》课件-3.2.1编写研学旅行手册
- 《无衣》教学设计 2024-2025学年统编版高中语文选择性必修上册
- 船舶采购建造 投标方案(技术方案)
- 沪科版七年级上册数学全册教学课件
- 10S406 建筑排水塑料管道安装
评论
0/150
提交评论