C言語でBINGOを作ろう #6 変数を使ってみる
C言語でBINGOを作ろう!
C言語でBINGOを作ろう!
CUI上で動くビンゴゲームの完成目指してひっそりとプログラムの勉強を始めました。前回はHelloWorld!を100回繰り返し表示してみました。今回は変数について、もう少し詳しく説明を進めていきます。
ア、アイキャッチがカッコよくなっている、だと・・・!?
サンプルがほしい方は#11から読んでください。
開発環境
また、C言語の開発環境を構築したい場合は以下を参考にしてください。
コマンドプロンプトからサクラエディタを起動できるようにしてみた前編
コマンドプロンプトからサクラエディタを起動できるようにしてみた後編
本記事は以上の設定を行っている前提で説明を行います。
変数を使ってみる
変数を使ってみる
前回はHelloWorld!を100回画面に表示したと思います。今回は言葉だけは出てきている「変数」について、もう少し詳しく見ていきます。
変数とは
そもそも、変数とは何でしょうか。変数とは、値を格納する箱(のようなもの)です。箱にしまった値はあとから取り出して使うことができます。
値をしまうことを、「値を代入する」と言います。
↓こんなイメージです↓
例えば、numという名前の変数に7という値を代入するとこんな感じになります↓
プログラムで書くと
num = 7;
です。
また、代入された値を使用する場合は箱の名前を書けばOK。例えば変数「num」の中身を表示したい場合はprint文を使って下のように書けばOKです↓
printf("%d",num);
%dという表記があります。変数を表示したい部分にはこの%dや%fといった、「ここに変数の中身を表示してね」というサインを書きます。
では、早速変数を使ってみましょう。下のプログラムを書いて実行してみると、きっとうまくいきますよ。ヘヘヘッ
#include<stdio.h> int main(void){ num = 7; printf("%d", num); }
変数を作る
先ほどの例ではうまく実行できなかったはずです。わかってるなら先に言ってよw
なぜかというと、変数numを”作っていない”からです。コンピュータはまじめなので、言ったことはすべて正確に順番通りに実行してくれます。
言わなかったことは何も実行してくれません。先ほどは、「変数を作る」と書いていなかったため、コンパイル時に「numとは何だ???」となったわけです。
変数の宣言方法は↓の通りです。
変数の型 変数名;
具体的に書くと下の通り。
int num;
これは「int型で、numという名前の変数を作ります」という宣言です。
型について補足をすると、変数には何でもかんでもしまえるわけではありません。変数ごとに、何をしまえる変数なのか決める必要があります。上の例では「int型であれば何でもしまえる変数num」ということになります。intというのは整数を入れられる型の一つです。どんな型があるのかは次回紹介しますので、ここでは「変数を使うためには型と名前を決める必要がある」とだけ押さえておきましょう。
では改めて、変数numを使ってみましょう。
#include<stdio.h> int main(void){ int num; num = 7; printf("%d", num); }
これで無事7が表示されたはずです。
初期化
ところで、今回はnumに7を代入したので7が表示されました。もしも「num = 7;」を書かなかったらどうなるのでしょうか。
#include<stdio.h> int main(void){ int num; printf("%d", num); }
実行してみると、どんな結果になるか予想ができません。なぜなら、numの中に何が入っているのかわからない(=初期化されていない)からです。場合によっては、とんでもないことになります。
そのため、変数は使用する前に必ず初期値を入れる必要があります。この作業を「変数の初期化」と言います。繰り返しますが、C言語の場合、初期化していない変数には何が入っているかわかりません。そのまま使うのは非常に危険です。
なお、C言語では変数は作成時に初期化を一緒に行うことも可能です。以下のように書きます。
型名 変数名 = 初期値;
今回の例でいえば下のように書けばOKです。
int num = 0;
なお、初期化の際に0以外で初期化をしても構いません。
以上を整理すると、変数を使う際は以下の手順になります。
1.変数を作る
2.変数を初期化する
3.変数を使う
変数の使用例
では、最後に、変数を初期化して使う例を載せておきます。今回はint型の変数numberを使用したいと思います。
#include<stdio.h> int main(void){ int number = 0; number = 10; printf("%d", number); }
変数numberの中身10を表示するプログラムですね。
おまけ
下のプログラムを動かしてみるとどうなるか、やってみましょう。
#include<stdio.h> int main(void){ int i = 0; int num = 10; for(i = 0; i < num; i++){ printf("%d\n", i); } }
宿題コーナー
毎回恒例、みなさんお楽しみの宿題のコーナーです。
前回の宿題と解答例
“Hello World!”を画面に100行出力する際に、行数を出してみましょう。
解答は以下の通りです。今回のおまけの内容が役に立ちます。
解答例
#include<stdio.h> int main(void){ int i = 0; for(i = 1; i <= 100; i++){ printf("%d", i); printf("Hello World!\n"); } }
今日の宿題
変数num1と変数num2を用意してその内容を表示してみましょう。こんな感じです↓
※変数の中身はお好みのものでOKです。今回は7と10にしています。
num1 = 7 num2 = 10
次回は変数の型の紹介です。
実践力が身につくC言語講座 連載リンク
競技プログラミングをイメージしたライブラリ活用講座
競技プログラミング風-標準Cライブラリ入門 連載
アルゴリズムをマスターして技術力アップ!
実践アルゴリズム講座 連載
パズルゲームの解析をテーマにしたC++講座
ゲーム解析プログラミング 連載