C是有类型的语言
- C语言的变量,必须:
- 在使用前定义,并且
确定类型
C以后的语言向两个方向发展:
- C++/Java更强调类型,对类型的检查更严格
JavaScript、Python、PHP不看重类型,甚至不需要事先定义
类型安全
支持强类型的观点认为明确的类型有助于尽早发现程序中的简单错误
- 反对强类型的观点认为过于强调类型迫使程序员面对底层、实现而非事务逻辑
- 总的来说,早期语言强调类型,面向底层的语言强调类型
-
C语言的数据类型
size of
是静态运算符,它的结果在编译时刻就决定了
- 不要在sizeof的括号里做运算,这些运算不会做的
int 32bit(4个字节)
long 32bit(4个字节)
字长:CPU中寄存器一次可以处理的reg
整数的内部表达
怎么表达负数
数的范围
当数据的最高位为1时,表示它是负数,这个数据是补码
unsigned
unsigned char 只表示零和正整数,扩大了正整数范围,方便其做移位运算,
整数越界
整数的输入输出
8进制和16进制
选择整数类型
浮点数类型
科学计数法
输出精度
超过范围的浮点数
浮点数的内部表达
选择浮点类型
字符类型
字符的输入输出
字符计算
大小写转换
逃逸字符
\b
\t
自动类型转换
强制类型转换**
不能小转大
大转小的时候,从低位开始取,取够相应类型的字节数。