3: .
:
3.1. ?
3.2.
3.3.
,
3.4.
3.5. 1
3.6.
sizeof
3.7. if
3.8.
3.9.
3.10.
3.11.
3.12.
3.14. switch
3.15.
while
3.16. for
3.17. do
3.18.
break
3.19. continue
3.20.
goto
2.
,
, .
,
. ,
. 4
.
3.1. ?
. ,
. . , ++
= =. ,
, ,
. .
, .
,
*ptr
.
, ptr. ,
var1 *
var2
.
var1 var2.
. ,
, , (rvalue).
.
. 3.10
.
, .
. (
).
-
.
.. .
. ,
3.14159
"melancholia"
upperBound
3.14159 3.14159. double.
melancholia e . char*.
upperBound (rvalue).
.
++ ,
.
3.2.
Expr
* expr
/
expr / expr
%
expr %
expr
Expr + expr
Expr -
expr
3.1
. . ,
21 / 6;
21 / 7;
3.
o (%)
. .
.
. .
,
:
3.14 % 3 // error: floating point operand
21 % 6 // ok: result
is 3
21 % 7 // ok: result is 0
int i;
double f;
i % 2 // ok:
non-zero result indicates i is odd
i % f // ok: floating point
operand
. .
- ,
, - - . ,
unsigned char 0 255.
unsigned char
256.
unsigned char uc = 32;
int i = 8;
uc = i * uc; //
overflow
256 9 .
256 uc , .
, uc,
.