C 表达式

预计时间: 2分钟

在C语言中,表达式是由运算符、常量、变量组成的。

表达式的求值顺序

C标准说明,表达式的子表达式以未定顺序求值。例如:

/* 并不保证先调用 f1() 再调用 f2() */
x = f1() + f2();

明确求值的确切顺序

在表达式中可以用圆括号()明确求值的确切顺序。

表达式的类型转换

在表达式中混用不同类型的常量及变量时,各量转换成同一类型。

类型提升

C语言编译器把所有操作数转换成尺寸最大的操作数类型,称为类型提升 (type promotion)。 如 short int 类型自动提升为 int,这一过程称为整数提升 (integral promotion)。

强制类型转换

使用强制类型转换,可以把表达式的结果硬性转换为指定类型,其一般形式为

(类型)表达式

强制转换(cast)是一元运算符,与其它一元运算符优先级相等。

更新于2022年04月09日