算法语言与程序设计07下模拟试卷_第1页
算法语言与程序设计07下模拟试卷_第2页
算法语言与程序设计07下模拟试卷_第3页
算法语言与程序设计07下模拟试卷_第4页
算法语言与程序设计07下模拟试卷_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成都理工大学2007-2008学年班级 姓名 学号 成绩 密封线第一学期算法语言与程序设计模拟试卷时间:120分钟大题一二三四五六总分得分151020202015一、选择填空题(每小题1分,共15分)1.C+语言与C语言的最本质区别是( )。(A)面向过程(B)面向对象(C)安全性(D)复用性2.面向对象程序在处理数据和相应数据处理方法(函数)时是( )。(A)分开处理(B)当成一个整体处理(C)用文件处理(D)通过过程调用处理3.C+程序的开发过程要经过( )三个步骤。(A)编辑编译执行(B)编辑编译连接(C)编译连接执行(D)编辑分析执行4.在你实习使用的计算机系统中计算机对C+语言的理解

2、过程是通过( )来实现的。(A)Visual C+6.0分析程序系统(B) Visual C+6.0翻译程序系统(C)Visual C+6.0编辑程序系统(D) Visual C+6.0编译程序系统5.有int a=5,b=5,c=5;求经过a-=+b+c-;计算后a,b,c的值( )。(A) 11,5,4;(B) 11,6,4;(C) -6,6,4(D) -6,5,5;6.有int a=5,b=6,c=7,d=8,m=2,n=2;求经过(m=ab)&(n=c0;8.写出执行下列操作后变量x,y,z的值( )。 bool x=true,y=false,z=false;x=x|y&z;y=x&y

3、|z;z=!(x!=y)|(y=z);(A) false, true, false;(B) true, true, false; (C) true, false, true;(D) false,false,false;9.在公有继承的情况下,允许派生类直接访问的基类成员包括( )。(A)公有成员(B)公有成员和受保护成员(C)公有成员、受保护成员和私有成员 (D)受保护成员10.for(int x=0,y=0;!x&yb)&(n=cd)的值 。4. 有int a=6,b=5;则表达式(a+,b+,a+b)的值为 。5.结构化程序设计所规定的三种基本控制结构是顺序、选择和 。6.C+语言在调用函

4、数与被调用函数之间传递函数参数的方式(即参数传递方式)有 和 两种。7.定义存放字符串的structure的字符数组定义形式为 。8.程序的多态性分为两类:编译时多态性和 。9.若有变量定义int* a,b;则变量b的类型为 。10在C+的类定义中由系统自动调用的两个函数是 和 ;三、程序改错题(每小题5分,4小题共20分)说明:下列程序中都有一处错误,请指出错误、说明错误类型并改正;此程序目的是实现函数参数的引用传递。#include void fun(int &);void main()for(int i=0;i3;i+)fun(&i);couti ;coutendl;void fun(i

5、nt &n)n+;2. test3_2.cpp#include class AA int aa=10;public:AA(int xx) aa=xx; int get() return aa; AA() coutDestroyingn; ;void main() AA elem3=5,8,4;for (int i=0;i3;i+)coutelemi.get():; 3 .test3_3.cpp#include class A int x;public:A(int a) x=a; virtual void fun()=0;class B:public A public:B(int b) :A(b

6、) void fun() ;void main()A aa(5);B bb(8);4 .test3_4.cpp此程序用于演示双目运算符重载。#includeclass Vectorint x,y;public:Vector() ; Vector(int x1,int y1) x=x1;y=y1;friend Vector operator +(Vector v) x+=v.x;y+=v.y;return (*this); void display() cout(x,y)endl;void main()Vector v1(6,8),v2(3,6),v3;coutv1=; v1.display()

7、;coutv2=; v2.display();v3=v1+v2; coutv1+v2=; v3.display();四、程序阅读题(每小题4分,共5小题20分)说明:有下列程序,请仔细阅读,写出程序运行结果(注意格式)1 test4_1.cpp#include #include void main()static int a23=1,2,3,4,5,6,(*pa)3;int i,j;pa=a;for (i=0;i2;i+)for (j=0;j3;j+)cout setw(3) paij;cout endl;2 test4_2.cpp#include class Sampleint n;publ

8、ic:Sample(int m)n=m;void fun1()n+;void fun2()n+=2;void disp() coutn=nendl;void main()Sample s(10);void (Sample:*pfun)();s.disp();pfun=Sample:fun1;(s.*pfun)();s.disp();pfun=Sample:fun2;(s.*pfun)();s.disp();3 test4_3.cpp#include class Sampleint n;public:Sample()Sample(int m)n=m;Sample dd()this-n=2*thi

9、s-n;return(*this);void disp()coutn=nendl; void main() Sample a(5); a.dd(); a.disp(); a.dd(); a.disp(); 4 test4_4.cpp#includeclass teacher;class studentchar *name;public:student(char *s)name=s;friend void print(student &,teacher &);class teacherchar *name;public:teacher(char *s)name=s;friend void pri

10、nt(student &,teacher &);void print(student &a,teacher &b)cout The student is endl;cout The teacher is endl;void main()student s(Wang XiaoHua);teacher t(Chen LinLin);print(s,t);5 test4_5.cpp#include class Apublic: A() coutAendl;class B: public Apublic:B() coutBendl;class C1:virtual public

11、 Bpublic:C1() coutC1endl;class C2 : virtual public Bpublic:C2() coutC2endl; ;class D:public C1,public C2public:D() coutDendl; ;void main()D d;五、程序填空(每小题4分,5小题共20分)1. 下列程序test5_1.cpp用于实现HanioTower问题:有三根柱子,有n个盘子从大到小套放在A柱上且B柱C柱为空,目的是将它们从A柱移到C柱,每次只能搬一片且小的不能在大的上面。程序采用递归方法实现。请将程序补充完整,并给出给出输入结果。/*/ test5_1

12、.cpp/ Hanio Tower Puzzle/*#include void hanio(int,char,char,char);void main()char A=A,B=B,C=C;int n=2; ; void hanio(int n,char A,char B,char C)if( )cout将第n个盘片从A柱搬到C柱上endl;elsehanio(n-1,A,C,B);cout将第n个盘片从A柱搬到C柱上endl;hanio(n-1,B,A,C);2. 在程序test5_2.cpp中填上适当的语句使用程序运行结果为n=2,m=20#include class Sample cons

13、t int n,m; / 常数据成员 public:Sample(int i,int j): _ _ void print() coutn=n,m=mendl; ;void main() Sample a(10,20); ; 3. 在程序test5_3.cpp中填上适当的语句使用程序运行结果为:Base:=10Derived:=24/test5_3.cpp#include class Base int x;public:Base(int a) x=a; virtual void print()_ _; class Derived:public Base int y;public:Derived

14、(int a,int b):Base(a) y=b; _ _;void main() Base b(10),*p;Derived d(12,24);b.print();p=&d;p-print();4在程序test5_4.cpp中声明了两个类AA和BB,其中函数“print”是类AA的成员函数,但是类BB类AA的派生的类属类,两个形式类属参数为TYPE1和TYPE2,且用TYPE2为基类的实例参数。请填入正确的内容,使程序能正常运行。/test5_4.cpp#include _ _class AA public:void print(TYPE b)coutAAbn;return;templat

15、e class BB: public AA int s;public:BB(int y) s=y; void print1(TYPE1 obj1,TYPE2 obj2);_ _void BB:print1(TYPE1 obj1,TYPE2 obj2)coutobj1,obj2n;return;void main()BB obj1(233);AA obj2;obj1.print1(15,123.456);obj2.print(233);5两个复数只有当它们的实部和虚部分别相等时,才被认为它们相等。在test5_5.cpp空格处填入合适的内容,以完成下面的程序,使其重载运算符“ =”,用以比较两个复数的相等。并在主函数中输出比较的结果。/test5_5.cpp#include class comp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论