目录
一、为什么要学C
作为诞生于1972年的编程语言,已经有五十多年的历史了。但不可否认的是C语言作为其他语言的基础,是了解计算机运行逻辑的最佳途径。而C语言是介于汇编和面向对象之间的桥梁,只有熟悉了C语言,你才算了解了编程。如下图:

1.1 C的优点
- 代码少
- 速度快
- 功能多
1.2 C的缺点
- 危险性高
- 开发周期长
- 可移植性不强
二、计算机基础
2.1 字节
字节是计算机中储存数据的基本单位。内存中储存数据的最小单位是“位”。换算关系如下:
1B = 1bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
其中“位”=》bit,“字节”=》B=》Byte的缩写
2.2 进制
进制就是逢几进一,R进制就是逢R进一。计算机只能识别二进制,而人类熟悉的是十进制。常用进制对照表如下:

三、C的数据类型
C语言的数据类型有整形,浮点型,字符型等,如下图:

C语言中可以使用**sizeof(对象)**的方式求出对象在计算机中所占的字节数。
3.1 数据的储存
在计算机中,整数都是以补码的形式储存的。
3.2 补码、原码和反码
3.2.1 原码和反码
-
原码
原码也叫“符号绝对值码”,最高位0表示正,1表示负,其余二进制数是该数字的绝对值的二进制数。
5的原码为:0101
-5的原码为:10101 -
反码
反码就是所有位取反,1变成0, 0变成1。
3.2.2 补码
计算机用补码来存储数据。
-
十进制数转换为二进制补码
a. 正整数的补码与原码相同
b. 负整数补码,先求该负数绝对值的二进制数,然后将所有位取反,末位加1,不够位数时左边补1。如-3的二进制如下图:

c. 0的补码是唯一的,全是0 -
二进制补码转换成十进制数
其实就是对该补码再求补码
a. 如果最高位是0,表明为正整数,原码和补码相同,直接转换即可
b. 如果最高位是1,表明为负整数,则
原码为:将所有位取反,然后末位加1。
此时得到的是无符号的二进制数,所有位数都是数字位,没有符号位。因此一定是一个正整数,将这个正整数取相反数,就是该补码对应的十进制数。
3.3 变量
变量顾名思义就是变化的量,在程序运行过程中是可以变化的
定义变量的格式如下:
数据类型 变量名;
变量名的命名规则:
- 变量名开头必须是字母或下划线,不能是数字
- 最好不要使用单个字母作为变量名
四、运算符和表达式
运算符:算术运算符,关系运算符,逻辑运算符和赋值运算符
表达式就是用运算符连起来的式子,用算术运算符连起来的叫做算术表达式。表达式是一个式子,不带分号。带分号的是语句
4.1 运算符
-
算术运算符
加:+
减:-
乘:*
除:/
取余:%
自增:++
自减:– -
关系运算符
大于:>
大于等于:>=
小于:<
小于等于:<=
不等于:!=
等于:== -
逻辑运算符
逻辑与:&&
短路与:当左边为假时,逻辑与表达式右边不会执行
逻辑或:||
短路或:当左边为真时,逻辑或右边不会被执行
逻辑非:! -
赋值运算符
赋值:=
扩展出来的赋值运算符有:+=; -=; *=; /=
a += 3
//等价于 a = a + 3
4.2 运算符优先级
运算符的优先级不需要死记硬背,因为在实际的编程过程中,如果不知道优先级,加一个括号即可。而且大型程序里面是必须要写清楚优先级的。
运算符的结合性,C语言中大多数运算符是从左往右。只有三个运算符是从右往左的,分别是单目运算符,三目运算符,双目运算符中的赋值运算符。

949

被折叠的 条评论
为什么被折叠?



