- 10
- 0
- 约2.77万字
- 约 56页
- 2017-01-06 发布于贵州
- 举报
C语言知识整理C语言知识整理
C语言知识整理1.C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名---成员选择(指针)对象指针-成员名--2-负号运算符-表达式右到左单目运算符~按位取反运算符~表达式++自增运算符++变量名/变量名++--自减运算符--变量名/变量名--*取值运算符*指针变量取地址运算符变量名!逻辑非运算符!表达式(类型)强制类型转换(数据类型)表达式--sizeof长度运算符sizeof(表达式)--3/除表达式/表达式左到右双目运算符*乘表达式*表达式%余数(取模)整型表达式%整型表达式4+加表达式+表达式左到右双目运算符-减表达式-表达式5左移变量表达式左到右双目运算符右移变量表达式6大于表达式表达式左到右双目运算符=大于等于表达式=表达式小于表达式表达式=小于等于表达式=表达式7==等于表达式==表达式左到右双目运算符!=不等于表达式!=表达式8按位与表达式表达式左到右双目运算符9^按位异或表达式^表达式左到右双目运算符10|按位或表达式|表达式左到右双目运算符11逻辑与表达式表达式左到右双目运算符12||逻辑或表达式||表达式左到右双目运算符13?:条件运算符表达式1?表达式2:表达式3右到左三目运算符14=赋值运算符变量=表达式右到左--/=除后赋值变量/=表达式--*=乘后赋值变量*=表达式--%=取模后赋值变量%=表达式--+=加后赋值变量+=表达式---=减后赋值变量-=表达式--=左移后赋值变量=表达式--=右移后赋值变量=表达式--=按位与后赋值变量=表达式--^=按位异或后赋值变量^=表达式--|=按位或后赋值变量|=表达式--15,逗号运算符表达式,表达式,…左到右--2.逻辑右移与算术右移比如一个有符号位的8位二进制逻辑右移就不管符号位,如果移一位就变算术右移要管符号位,右移一位变逻辑左移=算数左移,右边统一添0。逻辑右移,左边统一添0;算数右移,左边添加的数和符号有关。e.g:1010101010,其中[]位是添加的数字逻辑左移一位:010101010[0]算数左移一位:010101010[0]逻辑右移一位:[0]101010101算数右移一位:[1]1010101013.static的用法static关键字在编写程序时有的三大类用法:一,static全局变量我们知道,一个进程在内存中的布局如图所示:其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟的段,暂且不表)。在进程的整个生命周期中,.data段和.bss段内的数据时跟整个进程同生共死的,也就是在进程结束之后这些数据才会寿终就寝。当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。所以,普通全局变量穿上static外衣后,它就变成了新娘,已心有所属,只能被定义它的源文件(新郎)中的变量或函数访问。二,static局部变量普通的局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配,但是记得使用完这个堆空间后要释放之。static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别:1)位置:静态局部变量被编译器放在全局存储区.data(注意:不在.bss段内,原因见3)),所以它虽然是局部的,但是在程序的整个生命周期中存在。2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。3)值:静态局部变量如果没有被用户初始化,则会被编译器自动赋值为0,以后每次调用静态局部变量的时候都用上次调用后的值。这个比较好理解,每次函数调用静态局部变量的时候都修改它然后离开,下次读的时候从全局存储区读出的静态局部变量就是上次修改后的值。以下是一些示例程序:可以看出,函数每次被调用,普通局部变量都是重新分配,而静态局部变量保持上次调用的值不变。三,static函数相信大家还记得C++面向对象编程中的private函数,私有函数只有该类的成员变量或成员函数可以访问。在C语言中,也有“private函数”,它就是接下来要说的static函数,完成面向对象编程中private函数的功能。当你的程序中有很多个源文件
您可能关注的文档
- C照科目一错题库.doc
- C程序设计教学大纲.doc
- C程序语言期中测试题一.doc
- c本驾驶证考试试题.doc
- C程题目答案.doc
- c第四章 控制结构.doc
- C类安全员考试.doc
- C语言 实验三.doc
- C程序设计-实训指导书.doc
- C编程实例C编程实例.doc
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
原创力文档

文档评论(0)