初学者向けC言語講座#5
今回の記事は初学者向けC言語講座の第5回ということで前回に引き続き、型について説明していきます。しつこいですが、手を動かしながら学んでいくと習得が早いので自分の手で打ちながら学習していきましょう。プログラムを自分なりに変えて、勉強してみるとvery goodですね。
それでは早速内容に入っていきましょう!
前回の復習
前回は型と変数についてお話をしました。変数というのは中身を入れる箱で、中身に何を入れるのかを制限するのに使われるのが型でしたね。int型で変数を宣言する(作る)と、変数の中身は整数値だけしか入らないことも学びました。
また変数の中に何かを入れるためには、= 記号を使うことを説明しました。
フォーマット指定子と呼ばれるものについても少し触れましたね。
今日の学習内容
今回はint型だけではなく他の型について説明をします。とりあえず表にしてみるとこんな感じです。
型の名前 | 具体的な値 |
---|---|
int | 123, 10, -56など |
float | 1.23, 12.012, -0.54など |
double | 1.23, 12.012, -0.54など |
char | 'a', '1', 'X'など |
それでは一つ一つ見ていきましょう。
int型
最初はint型です。
これは前回の記事で勉強したので、復習を兼ねてソースコードで見ていきましょう。
#include <stdio.h> int main() { int value = 123; printf("%d\n", value); return 0; }
printf関数の中にある"%d"はフォーマット指定子と呼ばれるものであることも前回触れました。フォーマット指定子の部分は、printfのカンマの後ろに書かれている変数の中身に置き換わるんでしたよね。
上のソースコードを少し改造していろいろ試してみましょう。
#include <stdio.h> int main() { int month = 7; int day = 11; printf("今日は%d月%d日です。\n", month, day); return 0; }
float型とdouble型
次はfloat型とdouble型です。
float型とdouble型は小数を扱う際に使います。ソースコードで試してみましょう。
#include <stdio.h> int main() { float number_f = 1.2345; double number_d = 9.7531; printf("%f\n", number_f); printf("%lf\n", number_d); return 0; }
9.7531
float number_f = 1.2345;
ここでは、float型の変数number_fを作って、その中に1.2345という値を入れています。
同じ要領で、
double number_d = 9.7531;
ではdouble型の変数number_dを作って、その変数に9.7531を代入しています。
printf関数の中にある"%f"や"%lf"はint型の時の%dと同じ役割で、フォーマット指定子と呼ばれるものです。ただ、int型の時と同じく%dを使うことはできないので、それぞれの型にあったフォーマット指定を使うようにしましょうね。
float型が"%f"でdouble型が"%lf"です。(ここの%lfのlはlongの略です)
ここで一つの疑問が生じるはずです。float型とdouble型って何が違うの?この疑問に答えるにはメモリの話までさかのぼる必要が出てくるので、次の記事で詳しく述べることにします。
char型
次はchar型です。
char型は文字を扱うときに使います。ソースコードで見ていきましょう。
#include <stdio.h> int main() { char ch = 'a'; printf("%c\n", ch); printf("%d\n", ch); return 0; }
97
char ch = 'a';
ここでは、char型の変数chを作って、その中にaという文字を入れています。このとき文字というデータを文字コードという番号で管理しています。そのため、char型のフォーマット指定子は"%d"と"%c"の二つがあります。文字として出力したいときは、"%c"のほうを使い、文字コードを出力したいときは、"%d"を使いましょう。
また、文字列を使うときにも登場するので、ここでしっかりと覚えておきましょう。
まとめ
今回は、int, float, double, charの4つの型について学びました。
次回は、floatとdoubleの違いとフォーマット指定子の細かいところについて勉強していきます。
最後まで見ていただきありがとうございます。また別の記事でお会いできることを祈っております。
iwachoco.hatenadiary.com