数据类型/运算符/表达式
1.数据类型与长度
- 基本数据类型
类型 | 说明 |
---|---|
char | 字符型,占用一个字节,可以存放本地字符集中的一个字符 |
int | 整型,通常反映了所有机器中整数的最自然长度 |
float | 单精度浮点型 |
double | 双精度浮点型 |
short和long限定符:short 类型通常为16 位,long 类型通常为32位,int 类型可以为16 位或32 位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循下列限制:short与int类型至少为16 位,而long类型至少为32 位,并且short类型不得长于int类型,而int类型不得长于long类型。
类型限定符signed 与unsigned 可用于限定char 类型或任何整型。
long double类型表示高精度的浮点数。float、double与long double类型可以表示相同的长度,也可以表示两种或三种不同的长度。
2.常量
- 整数常量(int)
- 浮点数常量(float/double)
- 字符常量(char):'x'
- 转义字符:'\0'
- 常量表达式(符号常量):在编译时求解
c
#define MAXLINE 1000
char line[MAXLINE+1];
- 字符串常量:双引号不是字符串的一部分,它只用于限定字符串。"I am a string".字符串结尾隐藏了一个结束空字符。
- 枚举常量:枚举是一个常量整型值的列表
c
enum boolean {NO, YES};
在没有显式说明的情况下,enum 类型中第一个枚举名的值为0,第二个为1,依此类推。如果只指定了部分枚举名的值,那么未指定值的枚举名的值将依着最后一个指定值向后递增.
3.声明
所有变量都必须先声明后使用,尽管某些变量可以通过上下文隐式地声明。
一个声明指定一种变量类型,后面所带的变量表可以包含一个或多个该类型的变量。
可以在声明的同时对变量进行初始化。
默认情况下,外部变量与静态变量将被初始化为0。未经显式初始化的自动变量的值为未定义值(即无效值)。
-
const 限定词
任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。
-
extern 全局变量
extern使用
4. 运算符
-
算术运算符:+、-、*、/、%(取模运算符)
-
关系运算符:>、>=、<、<=、==、!=
-
逻辑运算符:&&、||、!
逻辑运算符&&与||有一些较为特殊的属性,由&&与||连接的表达式按从左到右的顺序进行求值,并且,在知道结果值为真或假后立即停止计算
-
自增运算符和自减运算符:++、--
它们既可以用作前缀运算符(用在变量前面,如++n)。也可以用作后缀运算符(用在变量后面,如n++)。只作用于变量,不能作用于表达式。
特别考虑在数组中下标的使用。
-
按位运算符:&、|、^、<<、>>、~
-
赋值运算符:=
5. 表达式
- 赋值表达式:+=、-+、*=、/=、%=
- 条件表达式:expr1 ? expr2 : expr3