C言語講座の二回目です!
今回はC言語の基本的な構文、データ型、そして標準的な入出力の方法と基本的な演算子を解説します。
まだポインタやメモリ管理などC言語の代表的な内容には入りませんが基礎は大事なのでしっかり理解しましょう!
それでは早速本題に入ります!
変数とデータ型
C言語だけではないですが、プログラミングにおいて基礎となる重要な要素が「変数」と「データ型」です。
これらを理解することでプログラムがデータを扱う方法を適切に定義して効率良い処理を行わせることが可能です。
今回は変数とデータ型に焦点を当てて解説していきます。
変数とは
変数とはデータを格納するためのメモリ領域に割り当てられた名前です。なんとなく知っている人もいるかもしれませんが、C言語では「メモリ」がとても重要になってきます。
他のプログラミング言語においても変数の定義が一緒ですが、C言語では特に意識してください。
データはメモリに格納されます。変数とはある特定のデータが格納されたメモリ領域につける名前です。
図でイメージしてみましょう↓
これはとても単純な図です。メモリ領域の中で青いマスの部分にある数字が変数として格納されている場合、この青いメモリ領域に例えば、numberという名前をつけます。
まだ変数の宣言方法は説明していませんがコードで書くと次のようになります。
int number = 3;
上の例では青いメモリ領域に数字の3が格納されています。
先ほどちょっとフライングしてしまいましたが変数の宣言方法を説明します!
変数を宣言する際は「型」と「名前」が必要です。例えば整数型の変数を宣言する場合は次のようになります。
int number;
上記のように整数型の宣言には「int」を使用します。変数の宣言にデータ型が必要なことがわかったので次は他にどのようなデータ型があるのかをみていきます。
データ型
データ型を全て網羅するのは大変です。なのでここではよく使うものを並べようと思います。
正直データ型は調べれば出てくるので覚える必要はないかもしれませんが、コードを書くときにいちいち調べてると時間がいくらあっても足りないので、よく使うものは覚えておきましょう!
整数型(Integer)
整数型は名前の通り整数値(負数、0、正数)を格納します。次のように宣言します。
int age = 25;
浮動小数点型(floatとdouble)
浮動小数点型にはfloatとdoubleの二つがあります。一つずつ説明します。
float型は単精度浮動小数点を表します。
double型は倍精度浮動小数点を表します。
float temperature = 36.5;
double pi = 3.14159;
これら二つの違いはdoubleの方が精度が高いということです。名前のまま過ぎますが。
例のように36.5くらいならfloatを使い、小数点以下の桁数が増える場合はdoubleを使うくらいの認識で大丈夫です!
36.5という値に対してdoubleを使うことはできますがメモリの節約という観点ではあまり推奨されません。ただどうしてもわからないときはdoubleを選択すれば問題ないです。
文字型(char)
文字型という日本語が適切かはわかりませんがchar型(キャラ型)は文字を表す型です。文字列ではなく単一の文字を表す点に注意が必要です!
char initial = 'A';
C言語で文字列を表現する際はchar型の配列を利用します。これは今は覚えている必要はないですが頭の片隅に置いておくと今後の学習がスムーズになると思います!
配列については後の講座で説明するので安心してください。
データ型のまとめ
今回紹介したデータ型は一部分です。
しかし実際にC言語でプログラムを書く際にはほとんどがこのデータ型です。
ここで紹介したもの以外が出てきた時はその都度覚えていけば困ることはないです!
また一回で全部覚えていなくてもプログラムを書いている内に絶対に覚えるので安心して勉強していきましょう!
標準入出力
ではこの記事の最後にC言語の基本的な構文を紹介します。
よく使うものというよりは、知っていないと困る(コンソールに出力など)ものを紹介します!
これも一回で覚える必要はありませんが、わからなくなったら見返すようにしてください。
標準入出力
まずは標準入出力です。どのプログラミング言語を学ぶときも一番最初に覚える構文です。
よくHello,Worldをコンソールに出力するところから始めますよね!!
あれが標準出力です。構文は↓です。
printf("Hello, World!\n"); // 画面に文字列を出力
最後の\nは改行を表します。この例のようにそもそも1行しか出力しない場合はなくても変わらないのですが、末尾に\nを入れる癖はつけておきましょう。
例えば次のようなプログラムがあった場合、
printf("Hello, World!");
printf("See You!")
画面には1行で
Hello, World!See You!
と表示されてしまいます。
これが意図したものならもちろんそのままで大丈夫ですがその場合は一つのprint文で書いた方が自然ですよね。
なので先ほども書きましたが、print文の末尾には\nを入れるようにしましょう!
(ちなみに\nと¥nは同じ意味です)
そして出力があれば入力もあります。入力は以下の構文です。
scanf("%d", &age); // ユーザーから整数を入力して、変数ageに格納
コメントにも書きましたが、ユーザーが入力した整数をageという変数に格納しています。
&が気になると思いますが、これはポインタを学習する際に説明します。
今はこういうものだと覚えて使ってください!
%dは整数型の数値を受け取る際に使う指定子です。これはかなり使うので覚えておきましょう。
そして、scanfのよくある使い方を紹介します。
scanfだけだとコンソールには何も表示されないためユーザーは何も気づきません。
ユーザーに整数を入力して欲しいのにコンソールに何も書かれていないとユーザーにはそんなことわかるわけないですよね。
なので先ほど紹介したprint文と併用します!例えば次のような感じ!
printf("年齢を入力してください\n");
scanf("%d",&age);
printf("あなたが入力した数字は%dです\n",age);
上のプログラムではまずコンソールに「年齢を入力してください」とメッセージを出します。
そしてユーザーが年齢を入力するとそれをageという変数に格納します。
最後にprint文でageの値を含めた文を出力します。
なんとなくわかるかもしれませんが最後のprint文のなかの%dの部分にageの値が代入されます。
先ほど説明したように%dは数値を受け取ることができます。ageが整数(であることを想定)なので%dを使用しました。
実際はユーザーが整数以外を入力した際のエラー処理なども書く必要がありますが今回は構文の紹介なので割愛します。
まとめ
今回もまだ本格的なプログラムではないのでつまらなかったかもしれません。もしくは知っている人も多かったかもしれませんね。
しかし基礎は重要なので今回少しでも不安な箇所があればしっかり復習してください!
ではまた次回の講座で!!
第一回はこちら↓
コメント