今晚去参加了华阳的笔试,去的人确实少,有点尴尬,不过回来看到居然过了面试,也是惊讶。
也算是我校招以来的第一个面试啦,先来写写笔试的题啦。
1、比较 && || ! 的优先级的问题
&&的优先级要高与||。
&&有点类似于*,||类似于+。
逻辑运算符里!的优先级最高
2、计算unsigned char 和signed char的最大值
整型:表示整数、字符和布尔值的算术类型
关于带符号与无符号类型:整型 int、stort 和 long 都默认为带符号型。要获得无符号型则必须制定该类型为unsigned,比如unsigned long。unsigned int类型可以简写为unsigned,也就是说,unsigned后不加其他类型说明符就意味着是unsigned int。
一字节表示八位,即:1byte = 8 bit;
int: 4byte = 32 bit 有符号signed范围:2^31-1 ~ -2^31即:2147483647 ~ -2147483648无符号unsigned范围:2^32-1 ~ 0即:4294967295 ~ 0
long: 4 byte = 32 bit 同int型
double: 8 byte = 64 bit 范围:1.79769e+308 ~ 2.22507e-308
long double: 12 byte = 96 bit 范围: 1.18973e+4932 ~ 3.3621e-4932
float: 4 byte = 32 bit 范围: 3.40282e+038 ~ 1.17549e-038
int、unsigned、long、unsigned long 、double的数量级最大都只能表示为10亿,即它们表示十进制的位数不超过10个,即可以保存所有9位整数。而short只是能表示5位;
*****32位机器: signde char -128~127 unsigned char 0~255
******可以查看limits.h 和float.h
3、预处理指令,宏定义
http://blog.chinaunix.net/uid-21372424-id-119797.html讲得还是蛮详细的,可以看看
所以宏定义其实是预处理指令的一种,而且赋值时不需要等号!!!
4、二叉树的遍历
感觉老生常谈的问题
***先根遍历其实就是先序遍历啦,囧
5、指针、数组、函数、指针+数组,指针+数组+函数
int *a[10] int (*a)[10] int (*p)() int *p()
代表10个指针的指针数组 代表1个指向10个int型数组的指针 指向函数入口的指针变量,返回值是int型 指针型数组,返回指向整形量的指针,
http://wenku.baidu.com/view/4d105bc9a1c7aa00b52acb70.html
6、构造、析构、赋值函数
http://wenku.baidu.com/view/9a552e51f01dc281e53af088.html 这篇文章写得还是蛮详细,例题,今天笔试原题,囧,然而我已经忘记了,要好好复习c++才行啊
7、引用和指针
指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
8、回收
c++中使用析构函数 java中使用自动回收机制
析构函数的可以看这个http://blog.sina.com.cn/s/blog_6e35425b0102vr60.html
析构函数的执行发生时刻:
- 如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数。
- static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在main函数结束或调用exit函数结束程序时,才调用static局部对象的析构函数。
- 如果定义了一个全局对象,则在程序的流程离开其作用域时(如main函数结束或调用exit函数) 时,调用该全局对象的析构函数。
- 如果用new运算符动态地建立了一个对象,当用delete运算符释放该对象时,先调用该对象的析构函数。
9、static
static关键字至少有下列n个作用: (1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)限制函数的作用域,在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内; (4)在类中的static成员变量意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见; (5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。