C言語でBINGOを作ろう #2 HelloWorld!の中身
C言語でBINGOを作ろう!
C言語でBINGOを作ろう!
CUI上で動くビンゴゲームの完成目指してひっそりとプログラムの勉強を始めました。前回はプログラミングの第一歩・Hellow World!を画面に表示しました。今回は、「Hello World!」の中身を見てみましょう※。
※あんまり詳しく書くと???となってしまうので、さらっとした説明にとどめています。
相変わらず自作のアイキャッチがしょぼいw
サンプルがほしい方は#11から読んでください。
開発環境
また、C言語の開発環境を構築したい場合は以下を参考にしてください。
コマンドプロンプトからサクラエディタを起動できるようにしてみた前編
コマンドプロンプトからサクラエディタを起動できるようにしてみた後編
本記事は以上の設定を行っている前提で説明を行います。
HelloWorld!の中身
HelloWorld!の中身
前回は「Hello World!」と画面に表示するプログラムを書きました。ソースコードは以下の通りです。
#include<stdio.h> int main(void){ printf("Hello World!"); }
たった4行ですが何が何だかわかりません。そこで今回はちょっとずつ分解して中身を見てみましょう。
ソースコードの中身を分解
ソースコードの中身を分解すると以下のような部品に分解できます。
#include<>
stdio.h
int
main(){}
void
printf();
“Hello World!”
なんでこんな風に分解できるのかはいったん放置しましょう←
あまり深く考えすぎず、一度先に進むのもプログラムを勉強するうえで大切です。心配しなくても、すぐにわかるようになりますのでご安心を。
では、それぞれの要素を見てみましょう。
#include<>
とりあえず放置しましょう←
stdio.h
これも放置の方向で←
int
符号付の32bit※の整数型です。とだけ言われてわかるかい!!
細かいことは置いておいて、とりあえず放置しましょう。
※処理系によってint型のbit数は変わります。
main(){}
main関数と呼ばれるものです。
c言語はこのmain関数の中に書かれた処理を順番に実行します。
main関数の中とはmain(){ココ}のことです。{}で囲まれた部分ですね。
C言語のプログラムの中心
printf();
printf関数と呼ばれるものです。()の中に書かれたもの※を標準出力に出力します。
通常標準出力とは画面のことです。つまり、printfは()内のものを画面に出力する関数ということになります。
※printfで()の中に書かれているものは引数と言うものの一種です。引数について詳しくはまた今度。
“HelloWorld!”
文字列です。(とだけ書くと、とってもあっさりして見えますね。)
以上で中身の説明は終わりです。とっても簡単ですね。
・・・えっ?ちゃんと説明しろって??では張り切っていきますぜぃ!(3倍速で読んでみましょう)
※先に書いておきますが、通常これを一発でわかる人はいません。むしろ、何言ってるか全くわからなくて普通なのでご安心を(^^
#include<>はライブラリなどを取り込むためのディレクティブで今回はこれによってstdio.hというヘッダファイルを取り込んでいます。intとは32bitの符号付整数を表す変数の型で-(2の32乗) ~ 2の32乗-1までの数値を表すことができます。32bitというのは2進数32桁を意味しています。例えば2進数で0100は(2の3乗)×0 + (2の2乗)×1 + (2の1乗)×0 + (2の0乗)×0 = 4を表します。main(){}とはmain関数のことで、C言語ではこのmain関数の中身を順番に実行します。main関数は一般的にint型の返り値を持たせます。また、引数にはvoidを指定することが多くなっています。引数のvoidとは、型がないことを示すもので、引数に指定されている場合は引数を取らないことを示します。printf();はprintf関数で、引数に指定されている内容を標準出力に出力します。この際に書式の指定などをすることができます。また、\マークはそのままでは出力できないのでエスケープ処理する必要があります。”Hello World!”は文字列です。この場合の文字列は直接値を指定しているためchar型の変数やchar型の配列、char型のポインタなどは宣言する必要がありません。また、終端文字\0の心配もしなくて大丈夫です。細かい部分は折っていますが、概要はこれでばっちりです。やったね(^^
・・・わからんって?きちんと説明してるのにおにーさん悲しいよ
上にも書きましたが、通常、これをいきなり言われていきなり全部わかる人はいません(極稀にいますが)。
部分的に理解しながら進んでは戻り、を繰り返していく中で徐々に身に着けていくものです。あまり心配せず、今回は「main」「printf」あたりを覚えればよいと思います。
次回はソースコードをちょっと改造してみましょう。
今日の宿題
“Hello World!”の代わりに、自分の好きな英単語を表示してみましょう。
実践力が身につくC言語講座 連載リンク
競技プログラミングをイメージしたライブラリ活用講座
競技プログラミング風-標準Cライブラリ入門 連載
アルゴリズムをマスターして技術力アップ!
実践アルゴリズム講座 連載
パズルゲームの解析をテーマにしたC++講座
ゲーム解析プログラミング 連載