"C 程序设计模拟试卷(二)"
版权申诉
67 浏览量
更新于2024-02-22
收藏 50KB DOCX 举报
"。5D. 6答案:B解析:(P117)执行“AB a(2), b[3], *p[4];”语句时,涉及到了类的对象a、数组b和指针数组p的声明,其中a(2)是一个对象a的声明并进行了初始化,调用构造函数1次;b[3]是一个大小为3的数组b的声明并进行了初始化,调用构造函数3次;*p[4]是一个指针数组p的声明,但不是对象的声明,不调用构造函数。所以调用构造函数的次数为1+3=4次。3. 下面有关static成员的说法中,错误的是()A. static数据成员是共享的B. static成员函数不能引用非static成员C. 静态成员函数没有this指针D. static成员可以被继承和隐藏答案:B解析:(P106)static数据成员是共享的,它属于类,而不是属于具体的对象(P107)静态成员函数没有this指针,因为this指针指向隐含的对象参数,静态成员是共享的,它不依赖于具体的对象,是属于类的一部分,所以是不具有this指针的。由于静态成员是共享的,所以说static成员变量是可以被继承的。既然静态成员函数没有this指针,自然就不能访问非静态的成员变量,只能访问static成员。静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员。4. 在C++程序设计中,为了调用基类的构造函数,可以使用()来调用A. superB. thisC. baseD. parent答案:C解析:(P75)在C++中,调用基类的构造函数可以使用base来调用。super是Java中的关键字,表示对超类的引用,this表示指向当前对象的指针,parent是命名约定,并不是C++中的关键字。5. 下面关于C++类的描述中,错误的是()A. 类成员函数可以访问该类的public、private和protected成员B. 类成员函数可以访问该类的static、non-static成员函数C. 类的成员变量可以是静态类型D. 类的成员函数可以是静态类型答案:D解析:(P106)类的成员函数可以是静态类型,但类的静态成员函数只能访问静态成员变量,而不能访问非静态的成员变量,也不能使用this指针。静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必须通过参数传递的方式得到相应的对象,再通过对象来访问。6. 下面程序的输出结果是什么?#include <iostream>using namespace std;void fun(int n){ if(n>1){ fun(n-1); }}int main(){fun(3);return 0;}A. 输出3B. 输出2C. 输出1D. 以上都不对答案:C解析:(P121)上述程序是一个递归函数,fun函数的功能是不断递减n的值,直到n不大于1时结束递归。所以在主函数main中调用fun(3),fun函数依次调用fun(2)和fun(1),而fun(1)不再继续递归,所以最终输出结果为1。7. 下列程序运行后的输出结果是什么?#include <iostream>using namespace std;class A{public: virtual void show(){ cout<<"A"<<endl; }};class B: public A{public: void show(){ cout<<"B"<<endl; }};int main(){A *pa=new B;pa->show();return 0;}A. 输出A B. 输出B C. 编译出错D. 运行时错误答案:B解析:(P90)A是基类,B是派生类,当通过基类指针调用虚函数时,会根据指针指向对象的类型来决定调用哪个版本的虚函数。在这里,pa指向一个B类型的对象,所以调用show函数时会执行B类中的show函数,输出结果为B。8. 下列程序的输出结果是什么?#include <iostream>using namespace std;int main(){char a[20],*p;int i;for(i=0;i<20;i++){ a[i]=65+i;}p=a;for(i=0;i<20;i++){ cout<<*p;p++;}return 0;}A. 输出ABCDEFGHIJ·····答案:A解析:(P116)上述程序是一个简单的C++程序,定义一个包含20个元素的字符数组a,并初始化为字
2022-06-02 上传
2022-10-23 上传
2023-02-27 上传
2023-06-10 上传
2023-02-24 上传
2023-05-30 上传
2023-05-31 上传
2023-05-31 上传
2023-09-04 上传
G11176593
- 粉丝: 6870
- 资源: 3万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建