C++考试复习题库及答案

C++考试复习题库及答案

ID:37917901

大小:396.50 KB

页数:20页

时间:2019-06-02

C++考试复习题库及答案_第1页
C++考试复习题库及答案_第2页
C++考试复习题库及答案_第3页
C++考试复习题库及答案_第4页
C++考试复习题库及答案_第5页
资源描述:

《C++考试复习题库及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复习范围:所有讲过的内容。下面的复习题基本涵盖所有考试内容,请认真作答,并重在理解。考试时间:2014.4.2614:30——17:00简答题1.什么是程序?什么是程序设计?什么是程序设计语言?程序是用程序设计语言表示的计算机的解题算法或解题任务。程序设计是将解题任务转变为程序的过程。程序设计语言是由一些符号所构成的集合,这些符号可用于定义、组织并完成各种各样的计算任务。2.类型的强弱指的是什么?什么是无类型语言、强类型语言、弱类型语言?C++语言属于哪种?强类型定义语言:一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。java、.NET、C

2、++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。3.什么是抽象数据类型?C++是通过什么方式实现抽象数据类型的?由一组对象和一组在这些对象上的操作所组成,利用数据抽象机制把一个数据类型的表示和操作汇集起来,封装在一起,定义成一个新的数据类型,这种新的数据类型统称为抽象数据类型。引入类类型。4.C++中标识符的命名规则是什么?什么是合法的标识符,什么是不合法的标识符1、大小写英文字母,下划线(_),以及阿

3、拉伯数字组成。2、标识符的第一个字符必须是大小写英文字母或者下划线,而不能是数字。合法命名非法命名wiggles$Z]**/* $、]和*都是非法字符*/cat22cat/*不能以数字开头*/Hot_TubHot-Tub/*-是非法字符*/taxRatetaxrate/*不能有空格*/_kcabdon't/*'是非法字符*/5.什么是引用机制?指针和引用有什么区别和联系?允许程序正文中通过引用为已有名字的内存单元声明新的名字,这个新名字成为该内存单位已有名字的引用名,俗称别名。相同点:都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。区别:1、指针

4、是一个实体,而引用仅是个别名;2、引用使用时无需解引用(*),指针需要解引用;3、引用只能在定义时被初始化一次,之后不可变;指针可变;4、引用没有const,指针有const;5、引用不能为空,指针可以为空;6、“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身(所指向的变量或对象的地址)的大小;7、指针和引用的自增(++)运算意义不一样;8、从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。联系:在既能使用指针也能使用引用的情况下,使用引用要安全一些,因此应该尽量使用引用。6.函数调用时的两种参数传递方式是什么?深

5、入理解值调用和引用调用。一种是按值传递,一种是按地址传递。按值传递就是在子函数中开辟出一个临时内存空间,将传递的数值保存在这个空间中,当子函数结束后,这个内存空间就会释放了。按地址传递则是把主函数开辟的某个内存空间首地址传递给子函数,子函数可以直接读写主函数上这段内存空间,当子函数结束后,这部分空间不会被释放,主函数将继续使用这段空间。传值:函数调用入口参数时,一般都会创建副本或者调用类对象的拷贝构造函数,所以操作结束后入参的值没有变化,变化的只是副本。引用:则是直接操作原来的对象,不会建立副本,对该对象做的操作,会直接影响到原来传入的变量或者对象。C++传值调用需要创建一个实参

6、副本,所以要重新开辟一块内存,进行赋值拷贝动作。引用传参,因为引用是变量的别名,所以不需要进行重新分配内存,重新赋值,可以节约系统资源。7.什么是内联函数?内联函数的作用是什么?用inline关键字定义的函数。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。作用:内联扩展是用来消除函数调用时的时间开销。它通常用于频繁执行的函数。8.使用class、struct和union关键字声明类的区别是什么?class 对象封装,具有多态等特性。struct的成员默认是public的,是class的特列,class能

7、对有对数据的隐秘机制,struct没有。union,不论其内部有多少成员,在任意时刻,只有一个可用,因为所有成员公用的一个地址,其大小为最大那个数据的大小。9.什么是封装、继承、派生、多态?封装:隐藏内部的行为和信息,使用者只用看到对外提供的接口和公开的信息。继承:可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。派生:从已有的类(父类)产生一个新的子类,称为类的派生。派生类是基类的具体化,而基类则是派生类的抽象。多态:一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。