C言語の算術演算子とは?基本概念とサンプルコードをわかりやすく解説
算術演算子は、加算(足し算)や減算(引き算)など、基本的な数値計算を実行するために使用される演算子です。C言語には主に5種類の算術演算子が用意されており、それぞれの役割を正しく理解することは、プログラミング学習の第一歩となります。
算術演算子の一覧
以下の表に、C言語で使える算術演算子とその説明、使用例をまとめました。ここでは変数 a=20、b=10 を例としています。
| 演算子 | 説明 | 使用例 | a=20,b=10 の場合 | 出力結果 |
|---|---|---|---|---|
| + | 加算(足し算) | a+b | 20+10 | 30 |
| - | 減算(引き算) | a-b | 20-10 | 10 |
| * | 乗算(掛け算) | a*b | 20*10 | 200 |
| / | 除算(割り算) | a/b | 20/10 | 2(商) |
| % | 剰余演算(余り) | a%b | 20%10 | 0(余り) |
アルゴリズム
算術演算を行うプログラムは、一般的に以下の手順で処理を進めます。
開始 ステップ1:整数型の変数を宣言する。 ステップ2:実行時にすべての変数の値を読み込む。 ステップ3:算術演算を実行する。 i. a+b(加算) ii. a-b(減算) iii. a*b(乗算) iv. b/a(除算) v. a%b(剰余) ステップ4:計算した値をすべて出力する。 終了
サンプルプログラム
以下は、算術演算子を使って計算を行うC言語プログラムの例です。キーボードから2つの整数を入力すると、5種類の演算結果が順番に表示されます。
#include<stdio.h>
main (){
int a,b;
printf("enter a,b:\n");
scanf("%d%d",&a,&b);
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf("b/a=%d\n",b/a);
printf("a%b=%d\n",a%b);
}実行結果
このプログラムを実行し、a=40、b=60 を入力すると、以下のような出力が得られます。
enter a,b: 40 60 a+b=100 a-b=-20 a*b=2400 b/a=1 a%b=40
ポイント解説
・除算(/):整数同士の除算では、小数点以下が切り捨てられ、商だけが返されます。上記の例では 60÷40 のため、結果は 1 になります。
・剰余演算(%):割り算の余りを求める演算子です。40÷60 の場合、商は 0、余りは 40 となるため、出力は 40 になります。
補足
現代のC言語規格(C99以降)では、main関数は「int main(void)」のように戻り値の型を明示し、プログラムの最後に「return 0;」を記述することが推奨されています。移植性の高いコードを書くために、ぜひ意識しておきましょう。
-
C言語のポインタ入門!宣言・初期化から配列アクセスの実例まで徹底解説
ポインタ(pointer)とは、他の変数のメモリアドレスを格納するための変数です。C言語においてポインタは、メモリを直接操作したり、関数間でデータを効率的にやり取りしたりするために欠かせない重要な概念です。 ポインタの宣言・初期化とアクセス まず、次のような通常の整数変数の宣言を見てみましょう。 int qty = 179; 変数qtyには値「179」が格納されると同時に、メモリ上のどこかにその格納場所(アドレス)が割り当てられます。 ポインタの宣言 int *p; 「p」はポインタ変数であり、別の整数型(int)変数のアドレスを保持します。変数名の前にアスタリスク(*)を付けることで、「こ
-
C#のクラスとは?基本概念からコンストラクタまで徹底解説
C#におけるクラスは、最も重要な型の一つです。クラスは、問題領域に関連するオブジェクトを生成するための「設計図」と考えることができます。つまり、クラスはテンプレートであり、そこからオブジェクトを作成します。クラスには、そのクラスから作られるオブジェクト群が共有する構造(データ)と振る舞い(メソッド)が定義されています。たとえるなら、クラスは「クッキーの型」であり、オブジェクトはその型で作られた「クッキー」そのものです。 カプセル化という重要な概念 クラスは、オブジェクト指向プログラミングにおける重要な概念である「カプセル化」を実現します。カプセル化とは、データと、そのデータを操作する処理を一箇