C语言简单知识点总结
来源:互联网 发布:linux用户加组 编辑:程序博客网 时间:2024/06/01 10:35
gcc编译过程
预处理:gcc -E hello.c -o hello.i
预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
编 译:gcc -S hello.i -o hello.s
编译:检查语法,将预处理后文件编译生成汇编文件
汇 编:gcc -c hello.s -o hello.o
汇编:将汇编文件生成目标文件(二进制文件)
链 接:gcc hello.o -o hello_elf
链接:C语言写的程序是需要依赖各种库的,所以编之后还需要把库链接到最终的可执行程序中去
原码
一个数的原码(原始的二进制码)有如下特点:
l 最高位做为符号位,0表示正,为1表示负
l 其它数值部分就是数值本身绝对值的二进制数
l 负数的原码是在其绝对值的基础上,最高位变为1
十进制数
原码
+15
0000 1111
-15
1000 1111
+0
0000 0000
-0
1000 0000
反码
l 对于正数,反码与原码相同
l 对于负数,符号位不变,其它部分取反(1变0,0变1)
十进制数
反码
+15
0000 1111
-15
1111 0000
+0
0000 0000
-0
1111 1111
补码
在计算机系统中,数值一律用补码来存储。
补码特点:
l 对于正数,原码、反码、补码相同
l 对于负数,其补码为它的反码加1
l 补码符号位不动,其他位求反,最后整个数加1,得到原码
十进制数
补码
+15
0000 1111
-15
1111 0001
+0
0000 0000
-0
0000 0000
在计算机系统中,数值一律用补码来存储,主要原因是:
l 统一了零的编码
l 将符号位和其它位统一处理
l 将减法运算转变为加法运算
l 两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃
有符号和无符号整型取值范围
数据类型
占用空间
取值范围
short
2字节
-32768 到 32767 (-215 ~ 215-1)
int
4字节
-2147483648 到 2147483647 (-231 ~ 231-1)
long
4字节
-2147483648 到 2147483647 (-231 ~ 231-1)
unsigned short
2字节
0 到 65535 (0 ~ 216-1)
unsigned int
4字节
0 到 4294967295 (0 ~ 232-1)
unsigned long
4字节
0 到 4294967295 (0 ~ 232-1)
运算符优先级
- C语言简单知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- c语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C语言知识点总结
- C 语言知识点简单介绍
- C语言知识点总结一
- c 语言零碎知识点总结
- 总结几个 C 语言知识点
- c语言_知识点总结
- C语言小知识点总结
- tcpdump抓包工具各参数详解
- URLEncode与URLDecode
- Day30-Redis&Jedis
- SM4密码算法(附源码)
- 抽象方法声明位置
- C语言简单知识点总结
- 将py文件打包成exe文件
- wave header
- Eclipse FindBugs插件安装
- ConcurrentHashMap总结
- 【C++】【C】浅谈C 与 C++ 的区别【标准又更新了。.】
- CSS可继承的样式
- 微信小程序周报(第七期)
- 网络流建模总结