C言語の算術演算子の理解度を確認するクイズ。
int a = 7, b = 5; printf("a / b = %d\n", a / b);
int / int の結果はintになります(整数の除算)。1 になります。int a = 7; double b = 5.0; printf("a / b = %f\n", a / b);
int と double を混ぜた計算では、intが自動的にdoubleに昇格します(暗黙の型変換)。%f で 1.400000 と表示。int a = 7, b = 5; printf("a / b = %f\n", (double)a / b);
(double)a で aをdoubleに明示的にキャストすると、double ÷ int となり、bも自動的にdoubleに昇格します。int a = 17, b = 5; printf("%d / %d = %d あまり %d\n", a, b, a/b, a%b);
a / b = 17 ÷ 5 = 3(切り捨て)/ a % b = 17 ÷ 5 の余り = 2。%は余りを求める演算子で、int型のみに使えます。double型には使えません。n%2==0 → 偶数)。