C语言笔记合编.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言笔记一.基本数据类型1.数据类型可理解为固定内存大小的别名,数据类型是创建变量的模子。2.变量是一段实际存储内存空间的别名,程序中通过变量来申请内存。3.auto关键字是在栈中分配空间,在代码块内部声明的变量缺省储存类型是自动的auto,离开代码块,这些自动变量便自行销毁。即c语言中局部变量的默认属性,默认所有局部变量都是auto的。4.static关键字一个功能:当它用于代码时内部时,指明变量的“静态”属性,修饰的局部变量存储在程序静态区中。具有静态存储类型的变量在整个程序执行的过程中一直存在,函数的形参不能为静态的。static的另一个功能:用于函数定义,或用于代码块之外的变量声明,修改标识符的链接属性,从external(外部)改为internal(内部),用这种方式声明的函数或变量只能在声明它们的源文件中访问。例:static int b;变量b就是源文件私有,不能在其他文件中用extern关键字引用。5.register关键字指明变量存储于寄存器中,变量长度必须是CPU寄存器可以接受的值,不能用运算符获取register变量的地址。6.extern关键字用于声明外部定义(其它文件,函数)的变量和函数,extern为标识符指定external链接属性,可以访问在其他任何位置定义的这个整体。7.const修饰的变量是只读的,其本质还是变量它的值不会被修改。const int* p; //p可变 ,p指向的内容不可变 intconst* p; //p可变 ,p指向的内容不可变 int* const p; //p不可变,p指向的内容可变const int* const p; //p和p指向的内容都不可变口诀:左数右指当const出现在*号左边时指针指向的数据为常量当const出现在*后右边时指针本身为常量8.void不存在void变量,c语言没有定义void究竟是多大内存的别名;void *指针作为左值用于“接收”任意类型的指针,作为右值赋值给其他指针时需要强制转化为类型指针。9.sizeof是编译器的内置指示符,不是函数,用于“计算”相应实体所占的内存。例sizeof a;是合法语句,得到a的内存。10.volatile可理解为“编译器警告字”用于告诉编译器必须每次内存中取变量值。11.union(联合)联合声明和结构体声明类似,但它的行为方式与结构不同,联合的所有成员引用的是内存中的相同位置,在不同时刻把不同的东西存储到同一个位置。联合的各个成员具有不同的长度,联合的长度就是它最长成员的长度。12.enum是一种自定义类型,默认常量在前一个值的基础上依次加1,enum类型的变量只能取定义时的离散值。第一个值不指定大小的话,默认值为013.typedef用于给一个已经存在的数据类型重命名,并没有产生新的类型,重定义类型不能进行unsigned和signed扩展。14.全局变量是在静态区分配空间二.符号技巧(一).注释符号1.编译器会在编译过程删除注释,但不是简单的删除而是用空格代替2.编译器认为双引号括起来内容都是字符串,双斜杠也不例外3./*….*/型注释不能被嵌套(二).接续符和转义符接续符(\)的使用:1.编译器会将反斜杠剔除,跟在反斜杠后面的字符自动解到前一行2.在接续单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格3.接续符适合在定义宏代码块时使用转义符(\)主要用于表示无回显字符,也可以表示常规字符(三).单引号和双引号1.单引号用来表示字符常量,本质上单引号括起来的一个字符代表整数2.双引号用来表示字符串常量,本质上双引号括起来的字符代表一个指针。(四).逻辑运算符1.||从左向右开始计算,当遇到为真的条件时停止计算,整个表达式为真;所有条件为假时表达式才为假。2.从左向右开始计算,当遇到为假的条件时停止计算,整个表达式为假;所有条件为真时表达式才为真。3.逻辑符“!”只认0,只知道见0就返回1,因此当其作用的值不是0时,其结果为0.4.三目运算符(a?b:c)可以作为逻辑运算符的载体 规则:当a的值为真时,返回b的值;否则返回c的值(五).位运算符1.左移运算符()将运算数的二进制位左移?规则:高位丢弃,低位补0右移运算符把运算数的二进制位右移?规则:高位补符号位,低位丢弃防错准则:避免位运算符,逻辑运算符和数学运算符同时出现在一个表达式中当位运算符,逻辑运算符和数学运算符需要同时参与运算时,尽量使用括号()来表达计算次序小技巧:左移n位相当于乘以2的n次方,但效率比数学运算符高 右移n位相当于除以2的n次方,但效率比数学运算符高2.交换两个数的值#define SWAP1(a,b) \{ \ int tem

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档