1.数据类型
数据类型包括基本类型,构造类型,指针类型,空类型。基本类型已经学完,总结一下。
基本类型包括整型(int),浮点型(float)(double),字符型(char),枚举类型(enum)。
整型可分为基本整型(int),短整型(short),长整型(long)。上述类型还可分为有符号型(signed)和无符号型(unsigned),即数值是否可以取负值,构成了6种不同的整数类型。
类型名称 | 类型说明符 | 所占字节数 |
有符号基本整型 | [signed] int | 4 |
有符号短整型 | [signed] short | 2 |
有符号长整型 | [signed] long | 4 |
无符号基本整型 | unsigned int | 4 |
无符号短整型 | unsigned short | 2 |
无符号长整型 | unsigned long | 4 |
注:[ ]内的关键字可以省略。数据存储时在内存中所占字节数与具体的机器及系统有关,与具体的编译器也有关系。编程中可以与sizeof()求出所使用环境中数据类型所占的字节数。
2.浮点型
浮点型也称实型,包括单精度浮点型(float),双精度浮点型(double)。
类型名称 | 类型说明符 | 所占字节数 |
单精度浮点型 | float | 4 |
双精度浮点型 | double | 8 |
3.字符型
类型名称 | 类型说明符 | 所占字节数 |
字符类型 | char | 1 |
4.枚举类型
枚举类型是c语言提供的一种用户自定义类型。格式为:
enum 枚举类型名
{
枚举常量1,
枚举常量2,
枚举常量3
};
3.运算符
c语言的运算符可按不同方式分类:根据所需操作数的个数可分为单目运算符,双目运算符和三目运算符;根据功能可分为算术运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,条件运算符,逗号运算符。使用运算符需要注意以下几点:
- 运算符的功能。如加(+),减(-),乘(*),除(/)运算符的功能为算术运算。
- 对运算对象的要求:(1)运算对象的个数。如果运算符需要两个运算对象参加运算,则称为双目运算符;如果运算符只需要一个运算对象,则称为单目运算符。(2)运算对象的数据类型。如,取模运算符要求参加运算的两个数据对象都是整型数据。
- 运算符的优先级。如,乘(*),除(/)运算符的优先级高于加(+),减(-),即在表达式运算中先运算乘除,后计算加减。优先级有15级,第1级最高,15级最低。可以用( )改变运算的优先级。
- 运算的结合方向。从左往右或从右往左。如果一个运算对象左右两侧有相同的优先级别的运算符,则按结合方向顺序运算。
- 运算结果。不同类型数据进行运算时,要进行数据类型的转换,这时要特别注意运算结果值的数据类型。
算术运算符
算术运算符有5个基本的算术运算符,如下图
运算符 | 功能 |
+ | 加法 |
- | 减法(或取负) |
* | 乘法 |
/ | 除法 |
% | 取模(求余数) |
注:取模运算符要求两个运算对象都是整型数据。除法运算符/尤其注意,两个整数相除,结果为整数,其值是截取商的整数部分,不允许四舍五入。
关系运算符
关系运算符有6种,小于(<),小于等于(<=),大于(>),大于等于(>=),等于(==),不等于(!=)
逻辑运算符
逻辑运算符有3个,逻辑与(&&),逻辑或(||),逻辑非(!)。逻辑与(&&)的两个运算对象同时为真时,运算结果才为真,否则为假。逻辑或(||)的两个运算对象任意一个为真时,运算结果为真,同时为假时结果为假。逻辑非(!)的作用是对运算对象的值取反,运算对象为真结果为假,运算对象为假结果为真。
条件运算符
条件运算符由两个符号“?:”组成,需要3个运算对象。使用形式为表达式1?表达式2:表达式3。当表达式1的值为真(非0),则执行表达式2,其结果作为整个条件表达式的值,否则执行表达式3,其结果作为整个条件表达式的值。
注:当条件表达式嵌套使用时,结合方向按从右至左。