挨踢农夫经过了一段时间C语言的学习,对C语言有了一定斩获。值此周末,挨踢农夫对自己掌握的C语言进行下简要梳理。此次整理耗时不多,终归基于如下动机:
(1)自身对C语言的框架构建,认识薄弱处。
(2)温固C语言基础知识,打好“挨踢”基础。
(3)希望各位大神能够多对‘挨踢农夫’提出批评改进意见,小农一定努力改进。
接下来直接进入正题:
(一)C语言基础
在C语言的第一堂课中,我们将会简要介绍计算机和C的基础知识,其中包括计算机技术进制基础
(1) 进制转换
二进制表示与计算
二进制语言是计算机编码语言,可以说是计算机本身的交流语言。如何把二进制转化为其他进制(主要是十进制):
例如:
128转化为二进制:(连除倒取余)
128
2 64——0
2 32.——0
2 16——0
2 8——0
2 4——0
2 2——0
2 1——0
2 0——1
转化二进制为:10000000;
1010转化为十进制:(乘幂累加)
转化为十进制:1*2^3+1*2^1=10;
注意:1\十进制一般是四位数字表示一个十进制数字。
2\计算中细心。
八进制表示与计算
八进制表示前要加0,
例如八进制的013转化位十进制就是1*8+3*1=11
十六进制表示与转换
十六进制表示需要加0x,一个十六进制位能够表示表示多个二进制,在后续学习指针、内存地址中,我们就是用十六进制来表示。
(2) 变量名及其简单定义
常见变量类型
整型int 占用4个字节;int a=0;
浮点型float 占用4个字节; float b=2.5;
双精度 double 占用8个字节; double c=1.234;
字符型char 占用1个字节; char d=’a’;
(3)变量存储方式与存储地址
1\这些变量一旦定义,就被系统按照大小划分自动存储在栈区,
2\其中数字0、2.5等是从常量区拷贝过来的。
3\关于具体的存储方式,请查看附图介绍:内存分配图。
其中.text即为代码段,为只读。.bss段包含程序中未初始化的全局变量和static变量。data段包含三个部分:heap(堆)、stack(栈)和静态数据区。
(二)语