还剩4页未读,继续阅读
文本内容:
西安电子科技大学网络与继续教育学院2022学年上学期《面向对象程序设计(C++)》期末考试试题(综合大作业)题号—二—*四五总分题分1020202030得分考试说明
1、大作业试题公布时间2022年4月22日
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院2022春期末考试答题纸》(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;
4、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4纸),正确上传
一、简答题(共10分)
1.(3分)什么是引用?它与指针有什么区别?
2.(3分)C++提供了哪些循环语句?它们各自的特点是什么?
3.(4分)构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?
二、填空题(每空2分,共20分)
1.C++程序中的数据可以分为两大类,其中是指在程序执行过程中值不改变的数据是程序中用于存储信息的单元,并对应于某个内存空间
2.C++中函数之间传递参数有和两种方式
3.假设x=5,y=0,z=3,则表达式!x||yfz的值为,执行表达式后y的值为
4.下列程序在构造函数和析构函数中申请和释放类的私TF成员,请完成该类的实现class MyClass{privateint*x;public:MyClass(int a);第I页(共4页)MyClassO;};MyClass::MyClassint a{;}MyClass::“MyClass0{;}
5.在C++中,类A的每一个非静态成员函数都有一个隐藏的指针类型的形参,它指向当前正在操作的对象,其类型为0
三、选择题每题2分,共20分
1.下列常量中,不是字符常量A.007B.a C.n D.
2.类的析构函数是时被自动调用的A.创建类B.创建对象C.引用对象D.释放对象
3.在C++语言中,下列变量名正确的是A.char89_name;B.bool is-loan;C.int classD.int_abc:4,正确的for语句是c.已知int i,a;A.for i10a-;B.fori=0,i10,i++a-;C.for i=0;i10;i++,a—;D.for i=0;i10;a-;
5.下列关键字中,—不是类定义中使用的关键字A.class B.public C.swi tchD.protected
6.关于对象的描述中,是错误的A.对象就是C语言中的结构变量B.对象是状态和操作的封装体C.对象之间的信息传递是通过消息进行的D.对象是某个类的实例7,下列关于运算符重我的描述中,是正确的A,运算符重载可改变其优先级B.运算符会载不改变其语法结构C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数
8.虚函数使用关健字A.virtual B.static C.public D.private
9.下面的函数中,静态成员函数不能访问的是,A.静态数据成员B.静态成员函数C.类以外的函数和数据D.非静态数据成员
10.假定A是一个类,那么执行语句“A a,b3,*p”调用了次构造函数A.2B.3C.4D.5
四、读程题每题5分,共20分
1.给出下述源程序的运行结果{j=i*3;}void mainOint a»b;fun3,afun9,b;cout«*a+b=«a+h«endl;
2.给出下述源程序的运行结果^include iostream.h void mainO{int a=5;do{cout«++a«endlifa==10break}whilca==9cout«okn;}
3.给出下述源程序的运行结果^include iostream.h int addint*x,int n{int sum,i;forsum=0,i=0;in;i++sum+=return sum;void mainO{int arr[]={1,3,5,7};cout«addarr,4«endl;
4.给出下述源程序的运行结果^include iostream.h classA{public:A{al=a2=0;cout«*Default constructorcalled.\n*;}Aint i,int j{al=i;a2=j;cout«^Constructor called.\n*;void print{cout«*al=*«al«*,«*a2=*«a2«endl:private:int al»a2;;void mainO{A x,y3,9x.print;y.print;}
5.1ffn个整数已按由小到大的顺序排列好,要求输入一个整数,把它插入到原有数列中,而且仍然保持有序,同时输出新的数列插入时应考虑到插入的数的各种可能性,比所有的数都小;比所有的数都大;在最大数和最小数之间
5.2定义并实现一个类Myst,使下列语句能够正常运行Myst x
3.2,y5,5,z
0.0;z=
8.9-y;y=x-
6.3;第1页(共4页)学习中心/函授站_姓名学号西安电子科技大学网络与继续教育学院2022学年上学期《面向对象程序设计(C++))》期末考试试题(综合大作业)题号一二三四五总分题分1020202030得分考试说明
1、大作业试题公布时间2022年4月22日;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院2022春期末考试答题纸》(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;
4、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4纸),正确上传
一、简答题(共10分)
1.(3分)什么是引用?它与指针有什么区别?
2.(3分)C++提供了哪些循环语句?它们各自的特点是什么?
3.(4分)构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?
二、填空题(每空2分,共20分)
1.C++程序中的数据可以分为两大类,其中是指在程序执行过程中值不改变的数据;是程序中用于存储信息的单元,并对应于某个内存空间
2.C++中函数之间传递参数有和两种方式
3.假设x=5,y=0,z=3,则表达式!x11y++z的值为,执行表达式后y的值为
4.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现class MyClass{privateint*x;public:MyClass(int a);第2页(共4页)~MyClass(););MyClass::MyClass(int a){;}MyClass::~MyClass(){;}
5.在C++中,类A的每一个非静态成员函数都有一个隐藏的指针类型的形参,它指向当前正在操作的对象,其类型为
三、选择题(每题2分,共20分)
1.下列常量中,不是字符常量A.\007B.a C.\n D.
2.类的析构函数是时被自动调用的A.创建类B.创建对象C.引用对象D.释放对象
3.在C++语言中,下列变量名正确的是A.char89_name;B.bool is-loan;C.int classD.int abc;
4.正确的for语句是已知int i,a;A.fori10a-;B.fori=0,i10,i++a-;C.fori=0;i10;i++,a--;D.fori=0;i10;a-;
5.下列关键字中,不是类定义中使用的关键字A.class B.public C.switch D.protected
6.关于对象的描述中,是错误的A.对象就是C语言中的结构变量B.对象是状态和操作的封装体C.对象之间的信息传递是通过消息进行的D.对象是某个类的实例
7.下列关于运算符重载的描述中,是正确的A.运算符重载可改变其优先级
8.运算符重载不改变其语法结构C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数
9.虚函数使用关键字A.virtual B.static C.public D.private10下面的函数中,静态成员函数不能访问的是A.静态数据成员B.静态成员函数C.类以外的函数和数据D.非静态数据成员
11.假定A是一个类,那么执行语句“Aa,b3,*p;”调用了次构造函数A.2B.3C.4D.5
四、读程题每题5分,共20分
1.给出下述源程序的运行结果#include iostream.h voidfunint i,int j第3页共4页{j=i*3;}void main{int a,b;fun3,a;fun9,b;cout«a+b=«a+b«endl;
2.给出下述源程序的运行结果#include iostream.h void main{inta=5;do{a++;cout«++a«endl;ifa==10break;}whilea==9cout«ok\n;}
3.给出下述源程序的运行结果#include iostream.h intaddint*x,int n{int sum,i;forsum=0,i=0;in;i++sum+=*x+i;return sum;voidmain{int arr[]={1,3,5,7;cout«addarr,4«endl;
4.给出下述源程序的运行结果#include iostream.h classA{public:A{al=a2=0;cout«Default constructorcalled.\n u;}Aint i,int j{al=i;a2=j;cout«Constructor called.n;}void print{cout«al=«al«,«a2=«a2«endl;}private:int al,a2;;voidmain{A x,y3,9;x.print;y.print;五编程题每题15分,共30分第4页共4页
5.1有n个整数已按由小到大的顺序排列好,要求输入一个整数,把它插入到原有数列中,而且仍然保持有序,同时输出新的数列插入时应考虑到插入的数的各种可能性,比所有的数都小;比所有的数都大;在最大数和最小数之间
5.2定义并实现一个类Myst,使下列语句能够正常运行Myst x
3.2,y5,5,z
0.0;z=
8.9-y;y=x-
6.3;。