3.大话C语言变量和数据类型
1.变量:定义,赋值
基本数据类型:6个(32位环境下)
说 明 | 字符型 | 短整型 | 整型 | 长整型 | 单精度浮点型 | 双精度浮点型 |
---|---|---|---|---|---|---|
数据类型 | char | short | int | long | float | double |
长 度 | 1 | 2 | 4 | 4 | 4 | 8 |
2.在屏幕上输出各种数据类型
(1)printf 是 print format 的缩写,意思是“格式化打印”
(2)%d:输出一个整数
- %c:输出一个字符。c 是 character 的简写。
- %s:输出一个字符串。s 是 string 的简写。
- %f:输出一个小数。f 是 float 的简写
3.C语言中的整数
(1)sizeof操作符
(2)不同的整型输出
%hd
用来输出 short int 类型,hd 是 short decimal 的简写;%d
用来输出 int 类型,d 是 decimal 的简写;%ld
用来输出 long int 类型,ld 是 long decimal 的简写
*(3)C语言中的二进制数,八进制数,十六进制数
5.C语言中的正负数输出
(1)符号位:0正1负
(2)unsigned short,unsigned int,unsigned long
*(3)无符号数的输出
6.整数在内存中是如何存储的
(1)要是能把符号位和数值位等同起来,让它们一起参与运算,不再加以区分,这样硬件电路就变得简单了。另外,加法和减法也可以合并为一种运算,就是加法运算
如果能够实现上面的两个目标,那么只要设计一种简单的、不用区分符号位和数值位的加法电路,就能同时实现加法和减法运算,并且非常高效
(2)原码-反码-补码
(3)注意,[1000 0000 …… 0000 0000]补
是一个特殊的补码,无法按照本节讲到的方法转换为原码,所以计算机直接规定这个补码对应的值就是 -231
7.
(1)计算机规定:1000 0000 这个特殊的补码就表示 -128
8.
(1)C语言中小数的指数形式为:aEn
(2)不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占用4个字节,double 始终占用8个字节
9.
10.
(1)C语言中没有专门的字符串类型,我们只能使用数组或者指针来间接地存储字符串
16.
(1)a++:先引用,再自加 ++a:先自加,再引用
17.
(1)局部变量的定义位置:C89:全部定义到函数开头。非常死板,C99已经取消这个限制
(2)使用局部变量之前一定要手动初始化(赋值),千万不敢假设它的值就是 0,不初始化就使用局部变量会导致匪夷所思的结果
18.
(1)()的优先级是最高的。最高的四个:() , [] , . , ->
(2)对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。
19.
(1)C语言数据类型转换:自动类型转换,强制类型转换