C++知识点(应聘笔试常考)
C++知识点(应聘笔试常考) 篇1
找工作找了也有一段时间了,期间参加的笔试也不少,由此借最近比
较得闲之际,将整理出有关C++在笔试中常考到的知识点,这些都是我遇到的一些笔试题目或者是我自己以前搜集整理的资料,现在拿出来希望可以给大家一些帮助。如果有什么错误之处,请各位指出,谢谢!
1.C++跟C语言的异同之处?
答:C++语言来源于C语言。
同:规则简单,具有数据表示运算功能,可以直接对内存操作,运行效率高,异:C语言缺乏数据类型检查机制,代码重用性差;C++强化了数据的类型检查和语句的结构性,增加了面向对象的程序设计的支持。
2.请问C++的类和C里面的struct有什么区别?
答:struct的成员的默认访问说明符为Public,而class的成员的默认访问说明符为Private。其他没有区别
3.列举关键字static在C++中的作用。
a)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其
值不变。
b)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内
所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
c)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调
用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
4.编程题: 用最有效率的方法算出2乘以8等於几? ————2 << 3,2向
左移3位。
5.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
答:区别主要在两点:
a)条件操作只能操作布尔型的,而逻辑操作可以操作布尔型和数值型。b)逻辑操作不会产生短路。
6.&的意义:包括取址和引用。两者的区别如下所示:
int a;
int &pa;
int &ra=a;//ra 是a的别名,只能在定义时初始化
pa=&a;//pa指向a,这里的&是取址。
7.关于指针变量
答:
变量的地址是一个十六进制整数。
能够存放地址的变量称为“指针类型变量”,简称“指针变量”。计算机的CPU决定了内存寻址方式,所以不管指针所指的对象是什么
类型,指针值本身的规格都是一样,例如,16位或者32位的整数。关
联类型的作用是控制对象的访问。如果关联类型为int,通过指针变量访问对象时,读取从指针值指示的位置开始的连续4个字节,并按整型数据解释。
Void *vp,void指针变量能够存放任意内存地址。因为没有关联类型,编译器无法解释所指对象,程序中必须对其进行强制类型转换,才可以按指定类型数据使用。
8.关于内存方面
答:
a)关于内存的分配
内存单元由操作系统按字节编号,称为地址。一个变量的地址值是系统分配的,不能由高级程序设计语言决定,但C++可以知道分配后的地址值。
b)关于内存对齐的问题以及sizof()的输出
编译器自动对齐的原因:为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。
c)关于内存的访问
在内存建立一个对象之后,可以用名方式访问 和地址方式访问。名方式访问:操作对象的内容,也叫直接访问。访问形式分为
“读”和“写”。
地址方式访问:一个对象的地址用于指示对象的存储位置,称
为对象的“指针”。指针所指的物理存储空间称为“指针所指
对象”。通过地址访问对象又称为“指针访问”。指针访问运
算符“*”,取址运算符是“&”。
9.请讲一讲析构函数和虚函数的用法和作用。
答:析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性
10.关于关键字extern和Static的说明:
答:
a)关键字extern和static声明静态存储变量和函数标识符。全局声明的标识符默认为extern。
b)当这两个关键字用于说明变量时,程序开始执行时就分配和初始化
存储空间,用于说明函数,表示从程序执行开始就存在这个函数名。c)用static声明的局部变量只能在定义该变量的函数体中使用。
d)与自动变量不同的是,static在第一次使用时进行初始化(默认初始
化值为0)。函数退出时,系统保持其存储空间和数值,下次调用时,static变量还是上次退出函数时的值。
e)程序的其他文件也能够访问全局变量,但必须在使用该全局变量的每个文件中用关键字extern予以声明。
11.关于变量与常量:
答:变量的赋值运算是在程序运行时才执行的操作。常量定义在编译阶段就被确定下来。
12.关于数组元素:
a)只有定义静态数组,C++才会自动把各元素值初始化为0。(static)b)数组由CONST约束为常量的,必须在定义的时候初始化,不能在程序代码中对它的元素重新赋值。
13.关于全局变量和局部变量:
答:具有文件作用域的变量称为全局变量。具有函数作用域或块作用域的变量称为局部变量。全局变量声明默认初始值为0。当局部变量和全局变量同名,在块内屏蔽全局变量。在块内访问全局变量,可以用域运算符“::”。
14.关于函数参数传递问题。
答:
a)参数的定义:参数是调用函数与被调用函数之间交换数据的通道。
函数定义首部的参数称为形式参数(形参),调用函数时使用的参数称为实际参数(实参)。实参必须与形参在类型,个数,位置上对应。b)函数调用前,形参没有存储空间。函数被调用时,系统建立与实参
对应的形参的存储空间,函数通过形参与实参通信,进行操作。函数执行完毕,系统收回作为形参的临时存储空间。这个过程称为参数传递或参数的虚实结合。
c)C++有3种参数传递机制:值传递(值通用),指针传递(地址调用)
和引用传递(引用调用)。实参和形参按照不同传递机制进行通信。d)三种传参方式的比较:
①
【C++知识点(应聘笔试常考)】推荐阅读:
思修常考知识点12-05
高中地理常考知识点08-12
法律常识常考知识点08-30
高考化学常考的知识点12-04
初一政治上册常考知识点12-07
常考百科知识12-07
教育学基础常考知识点10-26
高中诗歌鉴赏常考知识点归纳11-25
高考生物常考特例及易错知识点09-03
小升初语文常考题型及知识点汇总09-05