




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学考试试卷2006 - 2007 学年 2 学期 时间100分钟 C+语言程序设计基础 课程 64学时3学分 考试形式: 闭 卷 专业年级: 总分100分, 占总评成绩56 %注:此页不作答题纸,请将答案写在答题纸上一、单选题(本题24分,每小题1分)1. C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是( )。A)增加了一些新的运算符 B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型 D)引进了类和对象的概念2下列哪个是C+语言的有效标识符( )?A)_No1 B)No.1 C)12345 D)int3设有定义int x; float v;,则10+x+v值的数据类型是( )。A)int B)double C)float D)不确定4下列程序的执行结果为( )。 #include void main() int a3,b0; int*p&a: b=+a+; cout*p”,”b; A)3,4 B)4,3 C)3,4 D)4,45下面程序的运行结果为( )。 #include void main() int a,x; for(a=0,x0;!x&a=10;a+) a+; couta; A)10 B)11 C)12 D) 06下列选项,不正确的是( )。 A)for(int a=1;a=10;a+); B)int a=1; do a+; while(a=10) C)int a=1; while(a=10) a+; D)for(int a=1;a=10;a+)a+;7下面关于数组的初始化正确的是( )。A)char stra,b,cB)char str2a,b,cC)char str23a,b,e,d,e,fD)char stra,b,c8下列程序的输出结果为( )。 #include void main() char,a”hello,”the,”world”; char*paa; pa+; cout*paendl; A)hello B)the C)world D)hellotheworld9决定C+语言中函数的返回值类型的是( )。A) return语句中的表达式类型 B)调用该函数时系统随机产生的类型C)调用该函数时的主调用函数类型D)在定义该函数时所指定的数据类型10下列程序的输出结果是( )。 #include int min(int a,int B) If (a)return a; else return B; return 0; void main() coutmin(0,1); A)0 B)1 C)2 D)311下列程序的运行结果为( )。 #include void print(double a) cout+a; void print(int a,int b) cout+a-b; void main() print(1.2); cout” ”; print(3,4); A)1.2 34 B)2.2 34 C)1.2 43 D)2.2 43 12对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )。A)公有类型B)私有类型C)保护类型D)友元类型13在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。A)友元函数B)虚函数 C)构造函数 D)析构函数14类的析构函数的作用是( )。A)一般成员函数的初始化 B)类的初始化C)对象的初始化 D)删除类创建的对象15下列说法正确的是( )。A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义16下面对静态数据成员的描述中,正确的是( )。A)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名调用17下面对于友元函数描述正确的是( )。A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性D)友元函数不能访问类的私有成员18在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。A)派生类的对象可以赋给基类的对象B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员D)派生类的对象的地址可以赋给指向基类的指针19下面程序的运行结果为( )。 #include class A public: A() cout”1”; A() cout”2”; class B:public A public: B() cout”3”; B() cout= C): D)/23当stream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。A)ios:inB)ios:outC)ios:in|ios:outD)以上都不对24下面程序的输出结果是( )。#include class example int a;public: example(int b) a=n+; void print()a=a+1;cout a ” ”; void print() constcout void main() example x,y(3); const example y(2); x.print(); y.print(); A)2 2 B)4 3 C)4 2 D)3 二、填空题(本题22分,每空2分)1. 在面向对象的程序设计中,类描述的是具有相似性质的一组_。2. 在C+语言的结构化程序设计中,_是程序的基本组成单元,在C+语言的面向对象设计框架中,_是程序的基本组成单元。3设int a=l,b=2;则表达式(+a/b) * b-的值为_。4. C+语言提供的基本控制结构可以分为3种类型:顺序结构、_和循环结构 。5C+语句const char * const p=hello ,所定义的指针p和它所指的内容都不能被_。6. C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 方式。7. 继承的方式有公有继承、私有继承和 3种。8表达式operator+(x,y)还可以表示为 。9类模板的使用实际上是将类模板实例化成一个具体的 。10对于下面定义的类MyClass,请在函数f( )中添加对象成员把n的值修改为50。 class MyClass public: MyClass(int x)nx; void SetNum(int n1)nn1; private: int n; ;void f() My Class*ptrnew MyClass(45); 三、阅读程序,严格按输出顺序与格式写出程序运行结果(本题30分,每小题6分)1. #include #include using namespace std;class MyClasspublic: MyClass() coutA; MyClass(char c )coutc; MyClass()coutB;int main() MyClass p1,*p2; p2=new MyClass(X); delete p2; return 0;2. #includeusing namespace std;class Obj static int i;public: Obj() i+; Obj()i-; static int getVal()return i;int Obj:i=0;void f()Obj ob2;coutObj:getVal();int main() Obj obl; f(); Obj *ob3=new Obj; coutgetVal(); delete ob3;coutObj:getVal(); return 0;3. #includeusing namespace std;class Apublic: virtual void funcl() coutA1; void func2()coutA2; class B:public A public: void func1()coutB1; void func2()coutfuncl(); p-func2(); return 0;4. #includeusing namespace std;class Base public: void print()coutB;class Derived:public Basepublic:void print()coutprint(); pd-print(); delete pd; return 0;5. #include#includeusing namespace std;class A int a; public: A():a(9) virtual void print() const couta;class B:public A char b; public: B()b=S; void print()constcoutprint(); show(d1); show(d2); return 0;四、程序填空(注意每个空栏只能填写1条简单语句或表达式。本题30分,每空3分)1. 以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。(所谓回文即正向与反向的拼写都一样,例如:adgda)。#include#include#include string.husing namespace std;char *huiwen(char *str) char *p1,*p2; int i,t(0); p1=str; p2=_(1)_ for(i=0;i=strlen(str)/2;i+) if(*p1+!=*p2-) t=1; break; if(_(2)_) return (yes!); else return (no!);void main() char str50; coutstr; cout (3) ;2. 下列程序的输出结果为Objectid=0Objectid=1请将程序补充完整。#includeusing namespace std;class Pointpublic: Point(int xx=0,int yy=0)X=xx; Y=yy; countP+; Point()countP-; int GetX() return X; int GetY() return Y; static void GetC()coutObjectid=countPendl;private:int X,Y;static int countP; (4) /静态数据成员的初始化int main ()Point:GetC();Point A(4,5); (5) ; return 0; 3. 下列程序的输出结果为2,请将程序补充完整。#includeusing namespace std;class Basepublic: (6) void fun()cout1; ;class Derived:public Basepublic: void fun()cout2;int main() Base *p=new Derived; (7) delete p;return 0;3请将下列类定义补充完整。class Base public:void fun()coutBase:funendl;class Derived:public Basepublic: void fun() (8) /显式调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧园艺课程改革在新农科背景下的实践
- 气道异物类知识竞赛题及答案
- 2025-2030年全球新能源产业政策对新能源产业市场拓展激励报告
- 上海策划咨询报价方案
- 日语考试模拟试题及答案
- DB65T 4382-2021 圆盘式果树修剪机 作业质量
- 段防洪应急预案(3篇)
- 书法专业面试题目及答案
- 最专业情商测试题及答案
- DB65T 4414-2021 机采棉水肥一体化化肥减量增效技术规程
- 新学期三年级班主任工作计划(16篇)
- 2025广东汕尾市海丰县公安局招聘警务辅助人员50人备考题库及答案解析
- 消防政府专职队培训课件
- 6.1 包饺子(教案)北师大版数学三年级上册
- 现代学徒制企业试点工作评估报告
- 火电厂特种设备培训课件
- 档案管理基本知识培训课件
- 2025至2030年中国K12教育行业市场调研分析及投资战略咨询报告
- 2025年中学无线电知识竞赛题库
- 2025《心肺复苏机救治院内心搏骤停患者护理专家共识》解读
- 自带设备管理办法
评论
0/150
提交评论