程序员面试宝典总结

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:宋体; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; text-indent:21.0pt; mso-char-indent-count:2.0; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:宋体; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} /* List Definitions */ @list l0 {mso-list-id:1801146727; mso-list-type:hybrid; mso-list-template-ids:1331869910 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l0:level1 {mso-level-tab-stop:none; mso-level-number-position:left; margin-left:21.0pt; text-indent:-21.0pt;} @list l1 {mso-list-id:1831755656; mso-list-type:hybrid; mso-list-template-ids:2082650812 1308913052 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l1:level1 {mso-level-text:%1、; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:39.0pt; text-indent:-18.0pt;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} -->

1.         一行中有多个 i++,i++ 都是在此行结束后计算的,并不会先计算一个。

Int i=1;

i++*i++;// 此行结果为 1 ,此行结束后 i 变为 3

2.         ++i 在一行中有多个时,先全部计算完毕,再计算该行表达式。

         Int i=1

         ++i*++I;// 此行结果为 9

3.         逻辑与的计算次序从左往右,如果有一个不为真,后面的则不运算。

int a=0,b=3;

         !a&&b++;//b 并不会被 ++ ,因为! a 不为真

4.         2 的字节数次方 - 欲求的负数的绝对值 = 此负数的补码

Int -20 的补码就是 2 32 次方 -20=4294967276

5.         无符号与有符号运算时,都是自动转为无符号类型。

6.         a,b 中最大值 (a+b+abs(a-b))/2

7.         交换 a,b

a=a^b;

b=a^b;

a=a^b;

8.         atexit() 用来设置一个程序正常结束前调用的函数。当程序通过调用 exit() 或从 main 中返回时,参数 function 所指定的函数会先被调用,然后才真正由 exit() 结束程序。

9.         字符数据的大小不要忘记加上结束符 1 char s[]="1234" ,大小为 5

10.     无论指针是何种指针,其大小都是 4

11.     在结构中,字节对齐时,要求总字节数能除尽其中每个数据的字节数。

struct

{

         short i;

         short j;

         short k;

}AAA;// 大小为 6 ,可以除尽所有的 short

struct

{

   long i;

   short j;

}BBB;// 大小为 8 ,可以除尽 long short

12.     空类和空结构的大小,与编译器是有关系的, VS2008 1 BCB 就是 8

13.     类也是有数据对齐的,跟结构一样。

14.     数组名作为函数参数传入函数时,会产生退化,退化为指向数组的指针

15.     继承中如果涉及到虚继承,会多一个虚指针,即使是空类被虚继承,大小也为变为 4.

16.     inline 是将代码嵌入到目标代码中,而不是通过函数跳转,且有参数检测,宏是字符替换

17.     指针和引用的区别:

1、  非空区别

2、  可修改性区别

3、  合法性区别

4、  应用区别

18.     const 初始化的值是可以在运行时确定的,例如以变量的地址来初始化一个 const 变量,这个是允许的。

int a=10;

     int * const pint=&a;

19.     成员函数默认的第一个参数是 T* const this

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值