MDGSF Software Engineer

[C Primer Plus] 复习笔记--第6章


1

scanf 返回成功读入的项目的个数。

2

浮点数比较大小:

两个浮点数相减的绝对值比精度小,就可以认为相等。

if( fabs(float1 - float2) <= 0.000001 ) {
    printf("float1 and float2 is close enough!\n");
}

3

所有非零值被认为是真,只有零被认为是假。

4

几个常见的运算符的优先级

()                             左-->右
- + ++ -- sizeof (type)        左<--右
* / %                          左-->右
+ -                            左-->右
< > <= >=                      左-->右
== !=                          左-->右
=                              左<--右

5

for ( ; ; ) 中间的控制表达式为空被认为是真。

6

x *= 3*y + 12
等价于
x = x * (3*y + 12)

7

逗号运算符

两个属性:

它保证被它分开的表达式按从左到右的次序进行计算。即逗号是个顺序点,逗号左边产生的所有副作用都在程序运行到 右边之前生效。

整个逗号表达式的值是右边成员的值。

例子:

x = (y = 3, (z = ++y + 2) + 5);
x = 11

y = (249, 500);
y = 500

y = 249, 500;
y = 249
因为逗号的优先级比等号更低。

weixingongzhonghao

Comments

Content