- C的数据类型
C的数据类型包括:整形、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
- 常量与变量
常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。
- 整型数据
整型常量的表示方法:十进制不用说了,八进制以О开头,如0123,十六进制以0x开头,如Ox1e。
整型变童分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。不同机器上各类数据
所占内存学节数不向,一般int型为2个字书,long型为4个字节。
- 实型数据
实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点〉,如:0.12、.123、1230.0等。指数形式如123e3代表~123×10的三次方。
实型变量分为单精度〈float)和双精度(double)两类。在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。
- 字符型数据
字符变量用单引号括起来,如’a’,’b’等。还有一些是特殊的字符常量,如’\n ‘, ‘\t’等。分别代表换行和横向跳格。字特委霍以、char来定义,一个变量只能存放一个字符常r。
字符串常量是由双引号括起来的字符序列。这里一定要注意’a’和”a”的不同,前者为字符常量,后者为字符串常量,c规定:每个字符串的结尾加一个结束标志’’,实际上”a”包含两个字符:’a’和’’。
- 数值型数据间的混合运算
整型、字符型、实型数据间可以混合运算,
运算时不同类型数据要转换成同一类型再运算,转换规则:
char, short -> int -> unsigned -> long -> double <- float
- 运算符和表达式
c运算符包括:
算数运算符( + - / %)
关系运算符( > < >= <= == != )
逻辑运算符( ! && ll)
位运算符 ( 左移<< 右移>> 按位异或^ 按位或l 取反~ 按位与&)
赋值运算符(= )
条件运算符(? : )
逗号运算符(, )
指针运算符( &)
求字节数(sizeof )
强制类型转换(类型)
分量运算符( . ->)
下标运算符([ ])
其他运算符( 如函数调用运算符())
自增自减运算符(++ —)注意:++i和i++的不同之处,++i使用i之前先使i加1, i++使用i之后,使i加1。
逗号表达式的求解过程:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值。
- 优先级与结合性总结
| 优先 | 运算符 | 名称或含义 | 结合性 | 目 |
| —- | —- | —- | —- | —- |
| 1
| [] | 数组下标 | 左结合 | 单目 | | | () | 圆括号 | | | | | . | 成员选择(对象) | | | | | -> | 成员选择(指针) | | | | 2 | - | 负号运算符 | 右结合 | 单目 | | | ~ | 按位取反运算符 | | | | | ++ | 自增运算符 | | | | | — | 自减运算符 | | | | | | 取值运算符 | | | | | & | 取地址运算符 | | | | | ! | 逻辑非运算符 | | | | | (type) | 强制类型转换 | | | | | sizeof | 长度运算符 | | | | 3 | / | 除 | 左结合 | 双目 | | | | 乘 | | | | | % | 余数(取模) | | | | 4 | + | 加 | | | | | - | 减 | | | | 5 | << | 左移 | | | | | >> | 右移 | | | | 6 | > | 大于 | | | | | >= | 大于等于 | | | | | < | 小于 | | | | | <= | 小于等于 | | | | 7 | == | 等于 | | | | | != | 不等于 | | | | 8 | & | 按位与 | 左结合 | 双目 | | 9 | ^ | 按位异或 | | | | 10 | | | 按位或 | | | | 11 | && | 逻辑与 | | | | 12 | || | 逻辑或 | | | | 13 | ?: | 条件运算符 | 右结合 | 三目 | | 14 | = | 赋值运算符 | 右结合 | 双目 | | | /= | 除后赋值 | | | | | *= | 乘后赋值 | | | | | %= | 取模后赋值 | | | | | += | 加后赋值 | | | | | -= | 减后赋值 | | | | | <<= | 左移后赋值 | | | | | >>= | 右移后赋值 | | | | | &= | 按位与后赋值 | | | | | ^= | 按位异或后赋值 | | | | | |= | 按位或后赋值 | | | | 15 | , | 逗号运算符 | 左结合 | 多目 |
算数>关系>逻辑>条件>赋值>逗号