《2023年C面向对象程序设计模拟试题一.pdf》由会员分享,可在线阅读,更多相关《2023年C面向对象程序设计模拟试题一.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢1 C+面向对象程序设计模拟试题一 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1说明虚函数的关键字是()。A.inline B.virtual C.define D.static 2在每个 C+程序中都必须包含有这样一个函数,该函数的函数名为()。A.main B.MAIN C.name D.function 3cout 是某个类的标准对象的引用,该类是()。A.ostream B.istre
2、am C.stdout D.stdin 4如果在类外有函数调用 CPoint:func();则函数 func()是类 CPoint 的()。A.私有静态成员函数 B.公有非静态成员函数 C.公有静态成员函数 B.友元函数 5.如果 class 类中的所有成员在定义时都没有使用关键字 public、private 或 protected,则所有成员缺省定义为()。A.public B.protected C.private Dstatic 6一个类的所有对象共享的是()。A.私有数据成员 B.公有数据成员 C.保护数据成员 D.静态数据成员 7动态联编所支持的多态性称为()。A.虚函数 B.继承
3、 C.编译时多态性 D.运行时多态性 8定义类模板时要使用关键字()。A.const B.new C.delete D.template 9对虚基类的定义()。A.不需要使用虚函数 B.必须使用虚函数 C.必须使用 private D.必须使用 public 10类型转换函数()。A.不能带有参数 B.只能带一个参数 C.只能带 2 个参数 D.只能带 3 个参数 二、判断正误题(本大题共 6 小题,每小题 2 分,共 12 分)判断正误,在题后的括号内,正确的划上“”错误的划上“”。1虚函数在基类和派生类之间定义,且要求函数原型完全一致。()2抽象类可以用来直接创建对象。()3内联函数中可以
4、出现递归语句。()4模板类与类模板的意义完全相同。()5常对象只能调用常成员函数。()6重载函数要求函数有相同的函数名,但具有不同的参数序列。()精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢2 三、填空题(本大题共 6 小题,每小题 2 分,共 12 分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。1在用 C+进行程序设计时,最好用()代替 malloc。2函数模板中紧随 template 之后尖括号内的类型参数都要寇以保留字()。3编译时多态性可以用()函数实现。4拷贝构造函数用它所在类的()作为参数。5用关键字 static 修饰的类的成员称为
5、()成员。6重载运算符“+”的函数名为()。四、程序分析题(本大题共 4 小题,每小题 5 分,共 20 分)给出下面各程序的输出结果。1阅读下面程序,写出输出结果。#include using namespace std;class CArray public:CArray(int iArray,int iSize):m_pArray(iArray),m_iSize(iSize)int GetSize()return m_iSize;int&operator(int iIndex)return m_pArrayiIndex-1;private:int*m_pArray;/指向一个数组空间 i
6、nt m_iSize;/数组元素个数;int main()int s=3,7,2,1,5;CArray oArray(s,5);oArray1=9;for(int i=1;i=5;i+)字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢3 cout oArrayi ;cou
7、t endl;return 0;上面程序的输出结果为:2阅读下面程序,写出输出结果。#include using namespace std;template void Print(Type a,int n)for(int i=0;i n;i+)cout ai ;int main()int a=5,6,8;double b=6.8,9.6;Print(a,sizeof(a)/sizeof(int);Print(b,2);cout endl;return 0;上面程序的输出结果为:3阅读下面程序,写出输出结果。#include using namespace std;字是在每个程序中都必须包含有
8、这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢4 class CTest public:CTest(int iVar):m_iVar(iVar)m_iCount+;CTest()void Print()const;static int GetCount()return m_iCount;priva
9、te:int m_iVar;static int m_iCount;int CTest:m_iCount=0;void CTest:Print()const cout m_iVar m_iCount ;int main()CTest oTest1(6);oTest1.Print();CTest oTest2(8);oTest2.Print();cout CTest:GetCount();cout endl;return 0;字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据
10、成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢5 上面程序的输出结果为:4阅读下面程序,写出输出结果。#include using namespace std;class CTest public:CTest(int iX=0,int iY=0,int iZ=0):m_iZ(iZ)m_iX=iX;m_iY=iY;void Print()cout m_iX endl;cout m_iY endl;void Print()const cout
11、 m_iZ endl;private:int m_iX,m_iY;const int m_iZ;int main()CTest oTest1;oTest1.Print();CTest oTest2(1,6,8);oTest2.Print();字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请
12、联系网站删除 谢谢6 const CTest oTest3(6,0,18);oTest3.Print();cout endl;return 0;上面程序的输出结果为:五、程序改错题(本大题共 4 小题,每小题 5 分,共 20 分)指出下面程序中的错误,说明错误原因,并加以改正。1下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include /1 using namespace std;/2 /3 class CTest /4 /5 public:/6 CTest(int iVar=0):m_iArr(iVar)/7 /8 cout 构造函数:m_iArr end
13、l;/9 /10 /11 void CTest()/12 /13 cout 析造函数:m_iArr endl;/14 /15 /16 private:/17 int m_iArr;/18;/19 /20 /21 int main()/22 /23 CTest oTest1,oTest2(8);/24 cout endl;/25 /26 return 0;/27 /28 字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使
14、用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢7 2下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include /1 using namespace std;/2 /3 class CTest /4 /5 public:/6 CTest(int iA=0,int iB):m_iA(iA),m_iB(iB)/7 /8 /9 /10 void Show()/11 /12 cout m_iA ,m_iB endl;/13 /14 /15 private:/16 int
15、 m_iA,m_iB;/17;/18 /19 /20 int main()/21 /22 CTest oTest(12,16);/23 oTest.Show();/24 cout endl;/25 /26 return 0;/27 /28 3下面程序中类的定义中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include /1 using namespace std;/2 /3 class CTest /4 /5 public:/6 CTest(int iVar=0)/7 /8 m_iVar=iVar /9 /10 字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标
16、准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢8 /11 void Print()const /12 /13 cout m_iVar endl;/14 /15 /16 private:/17 const int m_iVar;/18;/19 /20 /21 int main()/22 /23 const CTest oTest(16);
17、/24 oTest.Print();/25 cout endl;/26 /27 return 0;/28 /29 4下面程序中有一处错误,请指出出错的行,说明错误原因,并加以改正。#include /1 using namespace std;/2 /3 class CBase /4 /5 public:/6 CBase(int iBase=0):m_iBase(iBase)/7 /8 /10 /11 virtual void Show()=0;/12 /13 int Get()const /14 /15 return m_iBase;/16 /17 /18 private:/19 int m
18、_iBase;/20;/21 字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢9 /22 class CDerive:public CBase /23 /24 public:/25 CDerive(int iBase=0,int iDerive=0):CBase(iBas
19、e)/26 /27 m_iDerive=iDerive;/28 /29 /30 void Show()/31 /32 cout CBase:Get(),m_iDerive endl;/33 /34 /35 private:/36 int m_iDerive;/37;/38 /39 int main()/40 /41 CBase obj(10);/42 obj.Show();/43 return 0;/44 /45 六、编程题(本大题共 2 个小题,每小题 8 分,共 16 分)1编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。函数模板声明如下:template Type Abs(
20、Type tVar)2定义一个复数类 CComplex,定义带有 2 个参数(其中一个为缺省参数)的构造函数,显示复数值的函数 Show(),重载“+”运算符(用成员函数实现),并编写测试程序进行测试。字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢10 C+面向对象程序
21、设计模拟试题一参考答案 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1B 2A 3A 4C 5C 6D 7D 8D 9A 10A 二、判断正误题(本大题共 6 小题,每小题 2 分,共 12 分)判断正误,在题后的括号内,正确的划上“”错误的划上“”。1参考答案:2参考答案:3参考答案:4参考答案:5参考答案:6参考答案:三、填空题(本大题共 6 小题,每小题 2 分,共 12 分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。1参考答案:new
22、 2参考答案:class 或 typename 3参考答案:重载 4参考答案:对象 5参考答案:静态 6参考答案:operator+四、程序分析题(本大题共 4 小题,每小题 5 分,共 20 分)给出下面各程序的输出结果。1参考答案:9 7 2 1 5 2参考答案:5 6 8 6.8 9.6 3参考答案:6 1 8 2 2 4参考答案:0 0 1 6 18 五、程序改错题(本大题共 4 小题,每小题 5 分,共 20 分)指出下面程序中的错误,说明错误原因,并加以改正。1参考答案:出错行:第 12 行 原因:析造函数不能有返回值类型 改正:去掉 void 字是在每个程序中都必须包含有这样一个
23、函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢11 2参考答案:出错行:第 7 行 原因:带缺省值的参数应放在参数表的尾部,其后不允许出现不带缺省值的参数 改正:CTest(int iA=0,int iB=0):m_iA(iA),m_iB(iB)/7 或 CTest(int iA,int iB=0):m_
24、iA(iA),m_iB(iB)/7 或 CTest(int iA,int iB):m_iA(iA),m_iB(iB)/7 3参考答案:出错行:第 9 行 原因:常数据成员只能通过初始化表方式进行初始化。改正:去掉第 9 行,在第 7 行后加初始化表,即第 9 行改为:CTest(int iVar=0):m_iVar(iVar)/7 4参考答案:出错行:第 42 行 原因:抽象类不能用来直接创建对象。改正:将第 42 行改为:CDerive obj(10);/42 六、编程题(本大题共 2 个小题,每小题 8 分,共 16 分)1参考程序:#include using namespace std
25、;template Type Abs(Type tVar)if(tVar=0)return tVar;else return-tVar;int main()cout Abs(5)endl;cout Abs(-5)endl;cout Abs(2.5)endl;cout Abs(-2.5)endl;return 0;2参考程序:字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一
26、个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢12#include using namespace std;class CComplex public:CComplex(double dReal,double dImage=0)m_dReal=dReal;m_dImage=dImage;void Show()cout 0)cout +m_dImage i endl;else if(m_dImage 0)cout -m_dImage i endl;CComplex operator+(const CComplex&obj)CComplex
27、objTemp(m_dReal+obj.m_dReal,m_dImage+obj.m_dImage);return objTemp;private:double m_dReal,m_dImage;int main()CComplex obj1(2,6),obj2(3,8),obj3(0);obj1.Show();obj2.Show();obj3.Show();字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换
28、函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢13 obj3=obj1+obj2;obj3.Show();return 0;临床检验危急值 当这种试验结果出现时,说明患者可能正处于有生命危险的边缘状态,此时如能给予及时、有效的治疗,患者生命可以得到挽救;否则,也可能会出现不良后果,所以这是一个表示危及生命的试验结果,因此把这种试验数值称为危急值。检验常见指标危急值参考数据 1.白细胞计数:参考值:(410)109/L 决定水平临床意义及措施:0.5 109/L 低于此值,病人有高度易感染性,应采取相应的
29、预防性治疗及预防感染措施。30 109/L 高于此值,提示可能为白血病,应进行白细胞分类,观察外周血涂片和进行骨髓检查。2.血红蛋白(HGB):参考值:成年男性 120 160g/L 成年女性 110 150g/L 决定水平临床意义及措施:230g L:提示可能为真性或继发性红细胞增多症,均必须立即施行减少血容量治疗。3.血小板(PLT):字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能
30、带个参数只能带一个参数只能带个参数必须使用虚函数精品好文档,推荐学习交流 仅供学习与交流,如有侵权请联系网站删除 谢谢14 参考值:(100 300)109/L 决定水平临床意义及措施:10 109/LPLT 计数低于此值,可致自发性出血。若出血时间待于或长于 15 分钟,和(或)已有出血,则应立即给予增加血小板的治疗。字是在每个程序中都必须包含有这样一个函数该函数的函数名为是某个类的标准对象的引用该类是如果在类外有函数都没有使用关键字或则所有成员缺省定义为一个类的所有对象共享的是私有数据成员公有数据成员保护数据成员静态义不需要使用虚函数必须使用类型转换函数不能带有参数只能带个参数只能带一个参数只能带个参数必须使用虚函数