二进制:Binary 八进制:Octal 十六进制:Hexadecimal 十进制:Decimal
1> ASCII值:
数值小于32 :控制字符
48~57 :数字字符(0 - 9)
65~90 :大写字母(A—Z)
97~122 :小写字母(a - z)
2>
对于计算机而言,只能识别0和1,使用的是二进制。
定点数即是整数,原码、反码、补码是针对整数而言的,这三类码的最高位为符号位,其余的为数值位。
原码和反码:在对于+0和-0的表示上会产生二义
补码:正数的补码即原码,负数的补码:符号位不变,数值位取反后+1。
正数的表示:三码统一
补码解决了原码和反码对于0的二义性,使数值的存储惟一,所以计算的存储和运算都是补码。
3> 数据类型有:基本类型、构造类型、指针类型、空类型
基本类型 包含:整型(短整型、基本整型、长整型)、实型又名浮点型(单精度型、双精度型)、字符型、枚举类型
构造类型 包含:数组、结构体、共用体
C语言中,不能用二进制来表示常量,只能用八、十、十六进制表示。
实型变量也称为实数或者浮点数,C语言中,实数只采用十进制表示。
单精度变量:float var; 一个单精度变量占用4 byte;
一个单精度实型单元在接受实数时,只可接受7位有效数字。例如:float var=1111.11111;存的时候存的是1111.111
双精度变量:double var; 一个双精度变量占用8 byte;
一个双精度实型单元在接受实数时,可接受16位有效数字。
字符常量只能用单引号括起来,且只表示是单个字符,不能是字符串。
只有在字符常量上加上单引号,才会将其认为是一个字符。注意:单引号是用来表示一个字符常量的定界符。
4> 运算符
在对char型和short型参与运算时,必须先转换成int型。
前缀自加自减单目运算符 ++i:先将变量的值加1,再将变量的值作为表达式的值。(同理 --i)
后缀自加自减单目运算符 i++:先将变量的值作为表达式的值,再给变量加1。(同理i--)
双目关系运算符:>、>=、<、<=、==、!= (>、>=、<、<=的优先级优于==、!=)
双目算术运算符:*、/、%、+、- (*、/、%的优先级优于 +、-)
逻辑运算符:逻辑非(符号为:! )、逻辑与(符号为:&&)、逻辑或(||)
算术自反赋值运算符:*=、%=、/=、+=、-=
逗号运算符:, (形式:表达式1,表达式2):先计算表达式1的值,再计算表达式2的值,整个表达式的值等于表达式2的值
注意:只有变量才可进行++,--的单目运算,且单目运算符的结合方向是 自右向左(从右边逐渐向左边结合的方式),
优先级为:后缀单目优于前缀单目(即i++的优先级高于++i),双目运算符低于单目运算符(其中 双目关系运算符 低于 双目算术运算符)
逻辑与(!)为单目运算符:结合方向为自右向左,优先级和前缀单目运算符(++i,--i)优先级一样
逻辑运算符(只针对&&、||)优先级低于双目运算符
其中逻辑与(&&)优先级优于逻辑或(||)