Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 乗算、除算、剰余 | 演算子
C基礎

book乗算、除算、剰余

メニューを表示するにはスワイプしてください

乗算演算子

乗算演算子 * は、オペランド同士の積を返す。例えば、プールを満たすのに必要な水の量を求める場合:

Main.c

Main.c

copy
123456789101112131415
#include <stdio.h> int main() { int height = 2; // In meters int width = 7; // In meters int length = 10; // In meters // A cubic meter contains one thousand liters int liters = (height * width * length) * 1000; printf("Size of pool: %d liters", liters); return 0; }

除算演算子

除算演算子 / は、左側のオペランドを右側のオペランドで割る

車の速度を計算したいとします。

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours double v = s / t; printf("Velocity = %f m/h", v); return 0; }

double型の変数を使用することで、結果が小数値となり、より正確な値を得ることができます。整数型のみを使用した場合、結果も整数になります。

int + int => int 
int + double => double
Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours // Without `double v` variable printf("Velocity = %d m/h", s/t); return 0; }

フォーマット指定子を変更するだけでは、不正な整数除算は修正されないことに注意。

Main.c

Main.c

copy
12345678910
#include <stdio.h> int main() { int s = 200; // In meters int t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specifier return 0; }

しかし、別の変数を導入せずに正しい除算を行う方法があります。

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { int s = 200; // In meters double t = 3; // Three hours printf("Velocity = %f m/h", s/t); // Changed specificator return 0; }
Note
注意

除算で小数点以下の結果を得るには、少なくとも一方のオペランドが double などの小数型である必要があります。

剰余演算子

% 演算子は除算の余りを返します。例えば:

Main.c

Main.c

copy
1234567891011
#include <stdio.h> int main() { printf("Modulo 8 %% 5 = %d\n", 8 % 5); printf("Modulo 10 %% 3 = %d\n", 10 % 3); printf("Modulo 7 %% 5 = %d\n", 7 % 5); printf("Modulo 20 %% 5 = %d\n", 20 % 5); return 0; }
Note
注意

文字列内で % 文字を表示したい場合(例: printf 文)、%% を使って % を1つ表現します。これは、コンパイラに % 文字を出力し、書式指定子として扱わないことを指示します。

question mark

この式の値は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt