ひとつの演算子が複数の演算をこなす場合がある。例えばC言語では括弧
()演算子は3つの演算をこなす。キャスト、関数呼出し、演算順位の変更の
3つ。キャストは変数の型を変換するもの、

int i;
double d;

i = 5;
d = (double)i;

と書けばiに格納された整数値5が浮動小数点数値5.000000となって変数d
に格納される。関数呼出しは、

d = func (i);

と書けば関数funcが引数iを伴って呼び出されその返り値が変数dに格納される。
もうひとつは演算の優先順位の変更。*演算子は+演算子よりも優先順位が
高いので 2*3+4 と書けば値は10になる。2*(3+4)と書けば()演算子の方が
*演算子よりも優先順位が高いので値は14となる。

複数の演算子が同じ優先順位を持つ場合がある。C言語では*と/は同じ
優先順位、+と-は同じ優先順位を持つ。

1-2+3-4+5-6+7-8+9-10

という式は端から順に計算されるが、この場合右導出か左導出かによって
結果が変わってくる。

(((((((((1-2)+3)-4)+5)-6)+7)-8)+9)-10) の結果は-5
(1-(2+(3-(4+(5-(6+(7-(8+(9-10))))))))) の結果は-1

C言語では括弧を省略した場合は前者の結果となる。