C言語でBINGOを作ろう #1 HelloWorld!を表示しよう
C言語でBINGOを作ろう!
C言語でBINGOを作ろう!
今回から何回かに分けて、CUI上で動くビンゴゲームを作成していきます。今回はプログラミングの第一歩・Hellow World!を画面に表示します。
自作したアイキャッチがしょぼいw
サンプルがほしい方は#11から読んでください。
開発環境
開発環境は以下の通りです。
PC:MacBook Pro 2011early 15inch
OS:Windows 8.1(デュアルブート) なんでデュアルブートなのとか言わないお約束。
メモリ:16GB(8GB x 2)
CPU:Core i7-2635QM 2.00GHz
コンパイラ:MinGW-w64 5.3.0 (posix, sjlj)
C言語の開発環境を構築したい場合は以下を参考にしてください。
コマンドプロンプトからサクラエディタを起動できるようにしてみた前編
コマンドプロンプトからサクラエディタを起動できるようにしてみた後編
本記事は以上の設定を行っている前提で説明を行います。
HelloWorld!と表示する
HelloWorld!とは
プログラミング言語を学び始めると、最初に説明されるのは多くの場合「Hello World!」と表示するプログラムです(大文字小文字、感嘆符の有無については差異有り)。
なぜ「Hello World!」なのかと言えば、C言語の解説書に書いてあったプログラムが「Hello World」と表示するプログラムだったから、と言われています。
Hello World!と表示するプログラムは実際には画面にただ文字を出力するだけのプログラムです。なのでHello World!でもHi! Japan!!でもHell!! Death!! C=(゜O゜でも良いわけです。
こんな風に言ってしまうと、元も子もないですね。
しかし、画面に「Hello World!」と表示されたら。。。なんだか無機質なコンピュータが話しかけてくれてくれる感じがして、かわいいですね。ということで、「Hello World!」を画面に出力してみましょう。
HelloWorld!を表示するまでの流れ
画面に「Hello World!」を表示するまでの流れは以下の通りです。
1.ソースコード作成
2.コンパイル
3.実行
それぞれの工程を追ってみましょう。
ソースコード作成
コンピュータが何かを行うためには事細かに指示をしないといけません。この指示を書いてあるものがソースコードです。
今回で言えば、「Hello World!」と表示するような指示をソースコードに書き込みます。早速ソースコードを書いてみましょう。
サクラエディタを開き、以下の4行を記述します。
#include<stdio.h> int main(void){ printf("Hello World!"); }
全角スペースなどが入らないように注意してください。コードが書けたら保存します。
ファイル名は任意で構いません。筆者は「hello.c」にしました。拡張子に注意してください。
以降ファイル名が「hello.c」という前提で説明します。適宜読み替えてください。
これでソースコードは完成です。
コンパイル
コンパイルとは、ソースコードをコンピュータ用の言葉に変換する作業です。私たちが書いたソースコードはあくまでも人間に分かりやすい形であってコンピュータにとって理解しやすい形ではありません。そのため、コンパイルという作業を通して翻訳する必要があるわけです。
では、コンパイルしてみましょう。
コマンドプロンプトを開きます。「cd」コマンドなどを利用して、先ほどのファイルがあるディレクトリに移動します。
移動できたら「gcc ファイル名」と入力します。今回は以下のようになります。
gcc hello.c
しばらくして何も画面に出てこなければ成功です。(a.outもしくはa.exeというファイルができているはずです。)
「gcc」コマンドはC言語のソースコードをコンパイルするコマンドです。(他にも役割がありますが、今は割愛します。)
コンパイルに成功したら後は実行するのみです。
※成功したのか確かめたければコマンドプロンプトでソースコードがあるディレクトリに移動し、
ls※
または
dir
と入力してみましょう。ファイルとフォルダの一覧が出てくるので、その中にa.exeがあれば成功です。見当たらなければもう一度コンパイルして見ましょう。
※「ls」コマンドは通常Windowsでは利用できません。
でMsys2の設定を行っている場合は利用できます。
コンパイルがうまくいかない場合
コンパイル時に以下のように表示された場合は、ソースコードのファイル名やコマンドのファイル名の部分にミスがないか確認しましょう。
gcc: error: hhello.c: No such file or directory gcc: fatal error: no input files compilation terminated.
この例ではコマンドをgcc hhello.cと打ってエラーになっています。
また、コンパイル時に以下のように表示された場合はソースコードが間違っているのでよく見て間違いを直しましょう。
hello.c: In function 'main': hello.c:3:1: error: 'system' undeclared (first use in this function) system.out.println("Hello World!"); ^ hello.c:3:1: note: each undeclared identifier is reported only once for each function it appears in
※この例ではsystem.out.printlnという、C言語ではない言語で書いた部分がエラーになっています。あれ、この説明どっかで見たぞ?
systemの先頭のsに^がついています。^がついている場所が間違いのヒントになることがあります。ヒントをもとに間違いを探してみましょう。
良くあるのは
・全角スペースが入っている
・大文字小文字を間違えている
・「.(ピリオド)」と「,(カンマ)」、「;(セミコロン)」と「:(コロン)」を間違えている
などです。
実行
コンパイルに成功したら実行してみます。コマンドプロンプトを開きソースコードと同じディレクトリコマンドプロンプト実行します。
今回は「a.exe」というファイル名になっているはずですので
a.exe
と入力すればOKです。
以下のように表示されれば成功です。
Hello World!
「’a.exe’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と表示された場合は、コンパイルに失敗してa.exeができていなかったり、a.exeが作成されたディレクトリと違うディレクトリから操作してしまっている可能性があります。
コンパイルの手順を参考に、もう一度挑戦してみましょう。
うまくいけば下のようになります。※ディレクトリ名は異なることがあります。
次回はソースコードの中身の説明をします。
実践力が身につくC言語講座 連載リンク
競技プログラミングをイメージしたライブラリ活用講座
競技プログラミング風-標準Cライブラリ入門 連載
アルゴリズムをマスターして技術力アップ!
実践アルゴリズム講座 連載
パズルゲームの解析をテーマにしたC++講座
ゲーム解析プログラミング 連載