人人范文网 范文大全

C、C++总结

发布时间:2020-03-03 06:36:40 来源:范文大全 收藏本文 下载本文 手机版

1、类:类是一种抽象的数据结构,用来描述对象的属性,是将不同数据类型的数据以及与这些数据相关的操作封装在一起的集合体。(封装性)

一个类的对象所占空间的大小由它的数据成员所占据的空间总和决定;当类有virtual函数时,再加上4个字节的大小。

2、面向过程与面向对象程序设计的不同:

(1)过程是基于算法的,而对象是基于类的;

(2)过程是以函数(过程)的设计来实现的,而对象是以类的设计来实现的;

(3)过程通过数据流图(流程图)来体现的,而对象是通过类图(用例图)来体现的; (4)过程需要将步骤一步一步的具体化,而对象则只注重类的设计,不管实现方法。

3、面向对象的四大特点:抽象、封装、继承、多态

4、访问控制权限:

(1)public公有型:外部可以访问

(2)protected 保护型:除了本类、子类与友元可访问外其它的都不能访问 (3)private 私有型:除了本类外,外部的都不能访问

5、类与对象的区别:

(1) 二者的定义不同:类是不同类型数据及其相关操作的集合,对象则是类的实例化 (2) 类是个类型,不占空间,但对象占空间。

(3)类是类型而不是数据对象,每个类的对象都是该类数据成员的拷贝

6、继承与派生的目的: (1)实现代码的重用

(2)使已存在的类不需修改地适应新应用 7.继承的特点:

(1)每个派生类代表基类的特定版本

(2)基类的属性和方法,派生类必须拥有(构造与析构不会被继承) 8.继承的3种方式:public, private, protected

9、多态:是指发出同样的消息被不同类型的对象接收后导致完全不同的行为 (1)多态的条件:

○1有两个是父子关系的类 ○2有同名的虚函数

○3有父类指针或引用调用子类对象 (2)多态的实现:

函数的重载 运算符重载 虚函数

1、static有什么用途?(请至少说明两种) 关键字static的作用是什么?

定义静态变量 1.限制变量的作用域 2.设置变量的存储域

C和C++中static用法 (1)C中:

○1当一个变量被定义成static型时,表明该变量是一个静态变量,存储在静态存储区中,只能被定义初始化一次;特别的当全局变量被定义成static型时,还表明该变量不能被外部文件所引用

○2当一个函数被声明为static型时,表明该函数是一个静态函数,不能被外部文件所调用

1 (2)C++的类中:

○1当类的数据成员被声明为static型时,表明该成员是一个能被所有对象共享的数据成员,不与任何具体对象挂勾

○2 当类的成员函数被声明为static型时,表明该成员是静态成员函数。

2、引用与指针有什么区别? 1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。 2) 不存在指向空值的引用,但是存在指向空值的指针。

3、描述实时系统的基本特性

在特定时间内完成特定的任务,实时性与可靠性

4、全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈 5 什么是平衡二叉树?

左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1

6、

堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源

7、

什么函数不能声明为虚函数? constructor 8 冒泡排序算法的时间复杂度是什么? O(n^2)

9、 Internet采用哪种网络协议?该协议的主要层次结构? tcp/ip 应用层/传输层/网络层/数据链路层

10、 Internet物理地址和IP地址转换采用什么协议? ARP (Addre Resolution Protocol)(地址解析協議)

11、.IP地址的编码分为哪俩部分?

IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

12、分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)

BOOL型变量:if(!var) int型变量: if(var==0) float型变量:

const float EPSINON = 0.00001;

if ((x >= - EPSINON) && (x

指针变量:

if(var==NULL)

13、不能做switch()的参数类型是: switch的参数不能为实型/

14、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用\"::\" /

15、如何引用一个已经定义过的全局变量? 答:extern

16、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。

17、语句for( ;1 ;)有什么问题?它是什么意思?

2 答:和while(1)相同。

18、do„„while和while„„do有什么区别?

答:前一个循环一遍再判断,后一个判断以后再循环

18、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用; static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;

static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。

程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

19、sizeof(...)是运算符,它的功能是:获得保证能容纳实现所建立的最大对象的字节大小;strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。它的功能是:返回字符串的长度。 20、队列和栈有什么区别? 队列先进先出,栈后进先出

21、在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么?

函数名: atol 功 能: 把字符串转换成长整型数

用 法: long atol(const char *nptr);

22、对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现? c用宏定义,c++用inline

25、直接链接两个信令点的一组链路称作什么? PPP点到点连接

26、软件测试都有那些种类? 黑盒:针对系统功能的测试

白合:测试函数功能,各函数接口

27.确定模块的功能和模块的接口是在软件设计的那个队段完成的? 概要设计阶段

28/TCP/IP通信建立的过程怎样,端口有什么作用? 三次握手,确定是哪个应用程序使用该协议 29/进程和线程的差别。

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。 30、测试方法

人工测试:个人复查、抽查和会审

3 机器测试:黑盒测试和白盒测试

31、Heap与stack的差别。 Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。 Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

1、软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 流程:1.软件测试流程 :需求了解--测试计划--测试设计--测试用例编写--测试执行--bug管理跟踪--测试报告生成

2.bug就是测试过程中发现的程序缺陷,可以指需求上的,也可以指功能、性能上的

3.bug提交有多种方式,可以通过测试管理工具来管理bug,比如QC等 4.bug的生命周期: 发现bug(open)--修复bug(fixed)--关闭bug(closed) 4.软件测试方法:是指测试软件性能的方法。包括有:白盒测试、黑盒测试、动态测试(单元测试、集成测试、系统测试、验收测试、回归测试等。)

5.测试工具:三类软件测试工具: Mercury测试工具,Rational测试工具,Segue测试工具,qtp自动化测试工具和AutoRunner工具

6.测试内容:负载压力、功能测试、白盒测试、测试管理、测试辅助。

2、算法(Algorithm)是一系列解决问题的清晰指令,即能够对一定规范的输入,在有限时间内获得所要求的输出。图像处理算法工程师

1、一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

2、一个算法应该具有以下五个重要的特征: 有穷性、确定性、输入、输出、可行性。

3、冒泡排序(BubbleSort)一次比较两个元素,如果他们的顺序错误就把他们交换过来。基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

4快速排序:基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。 一个程序的空间复杂度是指运行完一个程序所需内存的大小。

C和C++总结

项目经理(C/C++)岗位职责

C语言与C++的区别总结

高质量编写c c++ 读书笔记

C/C++软件工程师岗位职责

C C++程序设计大赛策划

C,C++面试题目总汇

C、C++程序员求职面

C语言C++程序员编程必备

C++程序设计总结

C、C++总结
《C、C++总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 c入门总结教程
点击下载本文文档