C++ 運算符號優先順序簡介

Download Report

Transcript C++ 運算符號優先順序簡介

C++ 運算符號優先順序
運算符號優先順序
最 高 優先權
+ (正)
- ( 負)
∕
%
<=
> >=
!=
+=
-=
*=
↓
()
!
*
+
<
==
&&
||
=
/=
%=
最 低 優先權
運算符號優先順序 舉例 1
# include <iostream>
int main()
{
int i, j, k, m;
float e, f, g;
i = 10 / 2 * 3;
j = 10 % 3 – 4 / 2;
e = 5.0 * 2.0 / 4.0 * 2.0;
f = 5.0 * 2.0 / (4.0 * 2.0);
k = int (4.5 + 2.6 * 0.5);
cout << “i=“ <<i <<“j=“ << j <<“e=“<<e<<\n;
cout <<“f=“<<f <<“k=“ <<k ;
}
運算符號優先順序 舉例 2
# include <iostream>
int main()
{
int i = 2, j = 3, k = 4, m;
float e, f, g;
m *= ++i * j-- + -k;
cout << “i=“ << i<<“j=“ << j <<“k=“ k <<“m=“ <<m;
m += -i-- % ++j * k--;
cout << “i=“ << i<<“j=“ << j <<“k=“ k <<“m=“ <<m;
}
運算符號優先順序 舉例 3
# include <iostream>
int main()
{ typedef int bool;
//定義 bool 為整數資料型態
const int true = 1; //定義 true 為 常數整數值 1
const int false = 0; //定義 false 為 常數整數值 0
int i = 10, j = 19, k, m;
float e, f, g;
bool x = true, y = false , z = true, n1, n2, n3;
n1 = x && y || x && z;
n2 = (x || !y) && (!x || z);
n3 = i >= j || i <= j && x;
cout << n1 <<endl << n2 <<endl <<n3 << endl;
}
運算符號優先順序 quiz 1
# include <iostream>
int main()
{
int i = 2, j = 5, k = 11, m = 3;
float e, f, g;
i = j % 2 * 3;
e = k % 3 – i / 2;
f = i * 2.0 / m * 2.0;
g = i * 2.0 / (m * 2.0);
k = int (e + f * g);
cout << “i=“ <<i <<“e=“ << e <<“f=“<<f<<\n;
cout <<“g=“<<g <<“k=“ <<k ;
}
運算符號優先順序 quiz 2
# include <iostream>
int main()
{
int i = 3, j = 4, k = 5, m;
float e, f, g;
m *= ++i * j-- + -k;
cout << “i=“ << i<<“j=“ << j <<“k=“ k <<“m=“ <<m;
m += -i-- % ++j * k--;
cout << “i=“ << i<<“j=“ << j <<“k=“ k <<“m=“ <<m;
}
運算符號優先順序 quiz 3
# include <iostream>
int main()
{ typedef int bool;
//定義 bool 為整數資料型態
const int true = 1; //定義 true 為 常數整數值 1
const int false = 0; //定義 false 為 常數整數值 0
int i = 5, j = 13, k, m;
float e, f, g;
bool x = false, y = true , z = true, n1, n2, n3;
n1 = x && y || x && z;
n2 = (x || !y) && (!x || z);
n3 = i >= j || i <= j && x;
cout << n1 <<endl << n2 <<endl <<n3 << endl;
}