四則演算の使い方

四則演算の使い方

 変数の使い方の練習として、四則演算(足し算、引き算、掛け算、割り算)をC言語で実現する方法を解説します。また、エスケープ文字、フォーマット指定子、あまりの計算方法についても紹介します。

 演算して結果を表示する

まず、

#include <stdio.h>
main(){
	int a,b,c;
	a=3;
	b=2;
	c=a+b;
	printf("a=%d,b=%d,\na+b=%d\n",a,b,c);
}

と書いてtest.cのように保存して、コンパイルして実行してください。すると

a=3,b=2,
a+b=5

と表示されます。

int a,b,c;

で整数型の変数を定義し

a=3;
b=2;

で変数に値を代入します。 そして

c=a+b;

でcの値は5となります。 最後にコンソールに

printf("a=%d,b=%d,\na+b=%d\n",a,b,c);

と表示して終わりです。 四則演算子は以下のようになっています。。

  • 「+」足し算
  • 「-」引き算
  • 「*」掛け算
  • 「/」割り算

ここで\nと出てきました。この文字はエスケープ文字と呼ばれています。エスケープ文字がなぜ存在するかというと、プログラムで使用する文字を表示させるためです。例えば、printfでダブルクォーテーション「”」を表示させようとすると

printf(""");

になりますが、これだとどこからどこまでを”で囲んでいるかがよくわかりません。一方、ダブルクォーテーションのエスケープ文字「\”」を使えば

printf("\"");

と明確になります。これがエスケープ文字の存在理由です。以下にエスケープ文字をまとめておきます。

エスケープ文字
エスケープ文字 意味
 \b バックスペース
 \f ページ送り
 \n 改行
 \r 復帰
 \t 水平タブ
 \” 二重引用符
 \’ 引用符
 \0 ヌル
 \\ 円マーク
\v 垂直タブ
\a ベル
\? 疑問符
\N 8進数
\xN 16進数

Windowsでは「¥」、Macでは「\」です。

コンソールに表示させるときには

画面への表示

printf(“表示文字列”,変数1,変数2,…);

という命令を使います。表示文字列にフォーマット指定子(format specifier)により変数を指定し、後ろの変数1,変数2,…で変数を指定します。フォーマット指定子は変数のデータ型により

指定子 対応するデータ型 意味
%c char 1文字を出力
%s char* 文字列を出力
%d int, short 整数を10進数で出力
%u unsigned int,unsigned short 符号なし整数を10進数で出力
%o int,short,unsigned int,unsigned short 整数を8進数で出力
%x int,short,unsigned int,unsigned short 整数を16進数で出力
%f float 実数を出力
%e float 実数を指数形式で出力
%g float 実数を最適な形式で出力
%ld long 倍精度整数を10進数で出力
%lu unsigned long 符号なし倍精度整数を10進数で出力
%lo long,unsigned long 倍精度整数を8進数で出力
%lx long,unsigned long 倍精度整数を16進数で出力
%lf double 倍精度実数を出力

と決まっています。

余りの計算

四則演算の他にもあまりの計算をする演算子「%」があります。例えば、

#include <stdio.h>
main(){
	printf("%d\n",5%3);
}

とすれば

2

と表示されます。この場合は、5割る3のあまりなので2となっています。

プログラミングを書いていると途中で何を書いていたかよく忘れます。そのためプログラミングではよくコメントをコードに書いておきます。C言語でコメントを書くときは

// コメントをここにかく

とうように「//」の右側に好きなコメントを書くことができます。

他にも

/*
    ここにコメントを書きます。
    複数行書くときに便利です。
*/

という複数行にまたぐコメントの書き方もあります。コードを書くときに有効活用してみてください。

著者:安井 真人(やすい まさと)