【C言語の入門】変数とは?:変数型や変数の使い方など詳しく解説

【C言語の入門方法】初心者にもわかりやすいC言語の入門方法
c言語の入門方法を、どんな方でもわかるように、まとめました。 また、具体的に勉強することなどもまとめていますので、読めば誰でも、c言語がかけるようになります。

どうもピーマンです!

今回は、中学校で習った "x" や "y"の様な、数字を自由に、代入することのできる特殊な数字変数について、詳しく説明していきます。

変数とは?

まずは、データ型や、変数とはなにかを簡単に説明します。

データ型について

【C言語の入門】初めてのC言語:C言語のプログラムを書いてみよう(初心者向け)
c言語の一番初歩的なコードを説明している記事です。初心者の方にもわかりやすく、理解しやすいよに、c言語を説明しています。

上記の記事で、printf関数をを説明した時に、エスケープシーケンスというものを紹介したと思います。%dは整数で、%sは文字列でしたね!

c言語では、この様に、数字と文字、少数などが明確に区分されており、それぞれを使用する時に、しっかりと揃えないとおかしなことになってしまいます。

間違っているデータ型の例として以下のソースコードを紹介します。また間違えている部分はソースコード中にコメントアウトしてあります。ちなみに、このコードはコンパイルできません。

これから、変数を使用するにあたって、データ型は使用するので、しっかり覚えておきましょう。

変数とは?

変数とは、箱やバケツの様なもので、数字や、文字などを、格納しておくことができます。中学校で習ったxやyみたいな感じですね。

次に、変数によってどんなことができる様になるのかを見ていきましょう。

  • キーボードから入力した値をprintfで計算に使うことができる。
  • 足し算や引き算などを変数と組み合わせ複雑な式を解くことができる様になる
  • ゲームで例えると、HPやMPなど変化する値を変数で開発できる。

この様に、変数はを使うことにより、できることがとても広がります。

変数の使い方

それでは、変数の具体的な 使い方を説明していきます。文字で説明されてもわかりにくいと思うので、とりあえず以下のソースコードをコンパイルした後に実行してみましょう。


出力結果は、以下の様になると思います。

a=5  b=a  c=3.14

それでは、つぎにこのソースコードを実行した時に、何が起こったのか見ていきましょう。はじめに、int a;  という部分に関してです。

このint aという部分は、「このプログラムではこんなデータ型の変数を使います!」という宣言を表していて、intというのは、整数型という意味を表しています。aというのは、変数の名前です。

つまり、c言語では変数を使用したい時に、以下の様に、宣言する必要があります。

変数のデータ型 変数の名前;

この場合は、整数型のaという変数を使用するために、整数型を表すためのint型というデータ型を使用しました。変数bに注目してみると、charというデータ型で、bを宣言しています。

このcharというのは、文字型を表しており、数字ではなく文字を格納することができます。

他にはintchar以外に、変数のデータ型は以下の様なものがあります。

char文字型
int整数型
float小数点型
double高機能の小数点型

cという変数は、小数を代入するための小数点型の変数だということがわかりましたね!

また、ソースコードの実行結果より、

printf("%d", a);//整数型の変数を代入
printf("%c", b);//文字型の変数を代入
printf("%f", c);//小数型の変数を代入

という使い方ができることがわかります。

四則演算をしてみよう

次に、足し算、引き算、掛け算、割り算の方法を説明していきます。

四則演算の方法

c言語では、足し算引き算は、そのまま+や-の記号を使用しますが、掛け算や割り算は、皆さんの知っている記号とは、少し違いますので、以下の表を見てみましょう。

種類演算子意味
足し算+a + ba足すb
引き算-a - ba引くb
掛け算*a * ba掛けるb
割り算/a / ba割るb
余り%a % ba割るbの余り

また、a + b * c というときは、数学と同じルールが適用され、掛け算から計算されます。

変数を使った四則演算

それでは、先ほど学習した、変数と四則演算を、実際に使っていきましょう!いつものように、言葉で説明するより、手を動かした方が習得しやすいので、以下のc言語のコードをコンパイルして、実行してください。

このc言語のコードは、肥満度BMIを求めるプログラムです。

BMIとは、体重÷(身長m×身長m)で求めることのできる肥満指数で、ちょうどいい例になるので、解説したいと思います。

  1. まず、はじめに体重と身長とBMIを代入する変数を宣言しましょう。このときに注意するのは、BMIは小数の値なので、変数は小数点数floatで宣言しなければなりません。
  2. 次に、体重と身長に値を代入します。身長は[m]で計算しなければならないので100で割ったものを代入します。
  3. 次に、メインの計算をします。(身長m×身長m)を先に計算するので、()で括ります。
  4. 最後に、計算した値を表示するためにprintf関数を使用します。気を付けなければならないのが、BMIは小数を含むので、エスケープシーケンスは%fだというところです。

このc言語のプログラムをコンパイルし、実行したところ以下の様になります。

BMIを求めます。

BMIは 17.301037 です。

キーボードから文字を入力!

変数が使える様になっても、キーボードから数字を入力できないと変数を使いこなすことができません。そこで、次にキーボードから変数に数字を代入する方法を説明していきます。

文字を入力してみよう

まずは、以下のc言語のプログラムをコンパイルして、実行して見ましょう。オンラインコンパイラを使っている方は、もう一度、入力時の使い方を確認しましょう。


今までとは違い、キーボードから入力を求められると思います。例えば誕生月が5月だった場合、5と入力し、エンターを押しましょう。以下の結果が出力されるはずです。

あなたは、5月生まれです。

ここで、ソースコード中に新しく出てきた機能を紹介します。それが以下の関数です

scanf("%dエスケープシーケンス", &変数名);

ソースコードの中では8行目に実装しており、このscanf関数を使用すると、変数に数字や文字などをキーボードから入力し、代入することができます。

printf関数ととても似ていますが違う点が一点あり、, &変数名 という様に、変数名の前に&を書き加える必要があります。とても忘れやすいので、気をつけましょう。

その他の例として、以下のc言語のソースコードもコンパイルして実行しましょう。

このc言語のコードでは、scanf関数の中に2つのエスケープシーケンスを挿入しており、スペース区切りでキーボードから入力することにより、1度に2つの値を入力することができます。

scanf関数を活用してみよう

ここまでお疲れ様です!ここまで到達したという方はかなりの力がついてきたのではないでしょうか(笑)。最後に、ここでこの記事で学んだことを全て組み合わせてコードを書いてみましょう。

書くプログラムは、「体重と身長をキーボードから入力して、BMIを出力する」というプログラムにします。

記事の上にあるコードに入力機能を書き足すだけなので頑張ってください!。書き足すのは、以下の機能です。

  • 小数型の数字をキーボードからscanfで変数に代入

回答も載せておきますが、できるだけ見ないで頑張って見てください。

回答

まとめ

少しずつ難易度は高くなっていますが、もし、できないところがあっても諦めずに、落ち着いてからなんどもチャレンジして見ましょう。

次章 c言語の条件分岐 if文の使い方はこちら!

【C言語の入門】if文の使い方:if文の条件分岐や論理演算子switch文の使い方
この記事ではc言語のif文や条件分岐、論理演算子、関係演算子、switch文などを初心者の方にもわかりやすく説明しています。 難しくないのでぜひ習得しましょう!