(/) . , . , , .
(%) . :
int a = 11, b = 4, c;
float x;
x = a/b; //x = 2.0
x = (float)a/b; //x = 2.75
c = a%b; //c = 3
x = a%b; //x = 3.0 ( )
(<< >>)
, . (<<) . (>>) , , . :
int a = 3, b = 9, c;
//a = 0011(2) = 11(2)
c = a<<1; //c = 110(2) = 6, .. 3*21
c = a<<2; //c = 1100(2) = 12, .. 3*22
c = a<<3; //c = 11000(2) = 24, .. 3*23
c = a<<4; //c = 110000(2) = 48, .. 3*24
//b = 001001(2) = 1001(2)
c = b>>1; //c = 100(2) = 4, .. 9/21 ( ).
c = b>>2; //c = 10(2) = 2, .. 9/22
c = b>>3; //c = 1(2) = 1, .. 9/23
c = b>>4; //c = 0(2) = 0, .. 9/24
, 2 , .
~, &, |, ^
.
(~), , , .. .
(&), , 1 , 1, :
int a = 6, b = 5, c; 110(2)
c = a & b //c = 4 101 (2)
100(2)
(|), , 1 , 1, :
c = a | b; //c = 7 110(2)
101 (2)
111(2)
(^) 1 , 1, :
c = a ^ b; //c = 3 110(2)
101 (2)
011(2)
<, <=, >, >=, ==,!=
, , . . , , , . , .
|
|
int a = 5, b;
b = a <= 10; // b = 1
b = a % 2 == 0; // b = 0
, , (!, &&, ||)
, , . .
(!) , , , .
(&&) , .
(||) , .
, , . :
int a = 5, b = 10, c;
= a + b; // = 15
=!(a + b); // = 0
= a && b; // = 1
= a - 5 && b; // = 0
= (a && b) - 5; // = -4
= a >= 10 && b >= 10; // = 0
=!(a >= 10 && b >= 10); // = 1
= a >= 10 || b >= 10; // = 1
=!a >= 10 ||!b >= 10; // = 0
= (...) || 1; // 1
= (...) && 0; // 0
(?:)
, .. 3 . :
1? 2: 3
, , , . , . :
int a = 5, b = 10, max;
max = (b > a)? b: a; // max = 10
a = (a < b)? a + 1: 5; // 5 10
a = a / b? 5: a + 1; // 5 10
, .. . , a? b: c? d: e a? b: (c? d: e).
(,)
, , , (, for). , , . . :
int a, b, c;
c = 2 * (a = 3, b = 7, a + 2) + b; //c = 17
c = a + b; //c = 10
:
int a = 3, b = 7, c;
c = 2 * (a + 2) + b;
c = a + b;
3 : a = 1; b = 2; c = 3; : a = 1, b = 2, c = 3;