C语言,第1张

C语言,第2张

它由表达式运算符、常量和变量组成。C语言的表达式基本遵循一般的代数规则,但有几点与C语言密切相关,下面将单独讨论。

2.7.1表达式的类型转换

在同一表达式中混合的不同类型的常数和变量都应该转换成相同类型的量。c编译器将所有操作数转换为与类型操作数相同的类型。转换一次执行一个操作。具体规则如下:

1)所有char和shortint数量都转换为int,所有float数量都转换为double。

2)如果操作数对中的一个是longdouble,而另一个被转换为longdouble。(1)否则,一个是double,一个是double。不然一个长一个长。否则,一个无符号,一个无符号。
一旦应用了上述规则。每对操作数都变成相同的类型。注意,规则2)有几个必须依次应用的条件。

图2-1显示了类型转换。一开始charch转换成int,floatf转换成double;然后ch/i的结果转换成double,因为f*d是double;由于最后两个操作数是double,所以结果是double。

作曲家阵容

您可以通过名为cast的构造函数强制表达式成为特定类型。它的一般形式是:

(类型)表达式(类型)是标准C语言中的数据类型。例如,为了确保表达式x/2的结果具有float类型,它可以写成:

(float)x/2通常认为cast是一个运算符。作为一个运算符,cast是一元的,与其他一元运算符具有相同的优先级。虽然cast在程序中用的不多,但有时候它的用处真的很有价值。举个例子,假设你想用一个整数控制循环,但是在执行计算的时候必须要有一个小数部分。

如果没有cast(float),则只执行一次整数除法;使用cast,答案的小数部分可以显示在屏幕上。

2.7.3空和括号

为了增加可读性,可以随意在表达式中插入tab和空。比如下面两个表达式是一样的。

x = 10/y *(127/x);x = 10/y *(127/x);

多余的括号不会导致错误或降低表达式的执行速度。我们鼓励使用括号,这样可以使执行顺序更加清晰。比如下面两个表达哪个更好读?

x = y/2-34 * temp & 127;x =(y/2)-((34 * temp)& 127);

2 . 7 . 4c C语言的缩写形式

c语言提供了一些赋值语句的速记形式。例如,语句:

x = x 10

在C语言中,简写形式是:

:x = 10

这组运算符对=告诉编译器将X 10的值赋给X,这种简写形式适用于C语言中的所有二元运算符(需要两个操作数的运算符)。在c语言中,

variable = variable 1 operator expression;

同variable1operator=expression。请看另一个例子:

x = x-100;

它的等价语句是

x-= 100;

缩写在专业的C语言程序中被广泛使用。希望读者能够熟悉。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情