- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员面试宝典知识点总结
程序员面试宝典知识点总结 【预处理、const与sizeof】 BNF范式常用的三种语法描述符号是:[]表示[]中的内容可以缺省,也就是[]中的内容可以不写出来;{}表示{}中的内容可以重复有限次,而{}n表示固定重复n次;|表示或者。 编译预处理指令就是在源程序编译之前,由编译程序处理的指令。如:#include “math.h”,#define PI 3.14 注意:宏不能以“;”结束;宏中应把参数用括号括起来。 #include “”,#include ,使用””时,编译程序在系统当前目录与C语言系统指定的INCLUDE目录中查找包含文件,使用时,编译程序仅在TC指定的INCLUDE目录中查找包含文件。 #ifdef 宏名字(#ifndef) 源程序1 #else 源程序2 #endif 在大型软件开发过程中,用户自定义头文件可能会无意识地被直接或间接地重复包含,使用条件编译指令可以有效解决上述问题。 C语言的整型根据存储长度分为8bit,16bit,32bit,根据存储格式可分为无符号整数和有符号整数。Int 16bit(-32768~+32767),unsigned int 16bit(0~65535),float 32bit,char 8bit(-128~+127),unsigned char 8bit(0~255)。 整型常量+L占8字节;无后缀字母的实数位double型,占用8字节存储;有后缀字母F的实数为float型,占4字节存储;char占1个字节; const的用法主要有定义常量、修饰函数参数、修饰函数返回值、函数的定义体等用处。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 const常量有数据类型,而#define定义的常量没有数据类型,编译器可以对const进行类型安全检查,而宏定义只进行字符替换,没有类型安全检查,并且在字符替换中可能产生意料不到的错误;有些集成化的调试工具可以对const常量进行调试,但不能对宏常量进行调试。 内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中,而宏只是一个简单的替换。内联函数要做参数类型检查。 在C++程序中,类里面的数据成员加上mutable后,修饰为const的成员函数就可以修改它了。 exp(x)计算ex;log10(x)计算lg(x);pow(x,y)计算xy;ceil(x)求大于或等于x的最小整数;floor(x)求小于或等于x的最大整数。 后置形式运算规则是先用变量原来的值参与表达式运算,然后对含有后置自加自减运算符的变量进行加减运算。 C中printf计算参数时是从右到左压栈的。 C++语言支持函数重载,C语言不支持,C++提供了C连接符号extern “C”解决名字匹配问题。 指针的大小是一个定值,就是4个字节;对于最初未定大小的数组来说,具体大小由具体的填充值决定,注意要加上隐含的”\0”;结构体的长度是最长的数据元素的整数倍;静态变量时存放在全局数据区的,而sizeof计算栈中分配的大小,故计算时不算在内;空类所占空间为1,单一继承和多重继承的空类空间还是1,但虚继承涉及到虚表(虚指针),其占用空间为4; 【指针及引用】 不允许用一个整型常量表达式直接向指针变量赋初值;C语言允许用一个字符串常量初始化一个char*型的指针变量。 局部数组时局部变量,它所对应的是内存中的栈,全局数组时全局变量,它所对应的是内存中的全局区域。 指针和引用的区别:(1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。使用引用的代码效率比使用指针要高;(2)合法性区别。在使用引用之前不需要测试它的合法性,相反,指针则应该总是被测试,防止其为空;(3)可修改区别。指针可以被重新赋值以指向另一个不同的对象,但引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象的内容可以改变;(4)应用区别。总的来说,在以下情况下应该使用指针:一是考虑到存在不指向任何对象的可能,二是需要能够在不同的时间指向不同的对象。如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么使用引用。 句柄和指针式两个截然不同的概念。Windows系统用句柄标记系统资源,用句柄隐藏系统的信息,是个32bit的uint。指针则标记某个物理内存地址。 智能指针是存储指向动态分配(堆)对象指针的类。指针使用时有一些要注意的地方:有new就要有delete,对COM指针,要AddRef和Release,即这些动作要成对的出现,而往往大家会在这方面犯错误,应运而生的智能指针就是为了解决这个问题。首先把指针变量作为成员变量封装起来,在只能指针类对象离开作用域时,就会
文档评论(0)