ちぇりーの館

1−3 printfを使って画面の文字を出してみよう!



こんにちは! いよいよ今回から実際にプログラムを書いて見ましょう! 以下のプログラムを書いて実行してみてください。

#include <stdio.h>

int main(void)
{
	printf("はじめてのプログラミングです♪ 文字が表示されてますよね〜☆\n");
	scanf("a");
	return 0;
}

このプログラムは、第一回目の最後に書いたプログラムです。これをコンパイルすると以下のような画面が表示されると思います。

プログラムの実行結果

いきなりこんなプログラムを見せられても判り難いと思いますので、以下に各行の意味を書き込んだ 図を示します。

各行でどのような処理が行われているかを示した図

どうですか? なんか『おまじない』なんていう変な説明まで書いてありますが、概ねどの行で何の処理 が行われているかがわかっていただけるかと思います。ここで、関数という言葉が出てきたのでこれについて説明します。 関数とは、まとまった処理を行う単位という意味です。よく、中学校などでは、関数=計算式として扱われていましたが、 プログラムでは別に計算式だけが関数ではありません。例えば、printf関数は文字を表示させる処理がまとまったものです。  C言語は、多くの関数を使って一つのプログラムを完成させるのが普通です。関数については、重要な事なので今後何度も説明する機会があると思いますので、 ここでは『まとまった処理を行うものが関数なんだ』という程度の認識で問題ありません。

今回は、始めてC言語のプログラムに触れる人も多いと思うので、各行の意味についてもう少し細かく説明していきたいと思います。

#include <stdio.h>


 まずは、#includeです。これは、『このファイル内でprintf関数とscanf関数を使用してもいいですよ』という意味になります。 もう少し、プログラム的に説明すると、これらの関数がどこに書かれているのかを事前に知らせておく事により、コンパイル後のリンク時に 指定した場所から関数を調べてプログラムに組み込む事になります。つまり、この部分では、printf関数とscanf関数は、『stdio.h』 という場所にある事を事前に示している事になります。まあ、でもプログラムを始めたばかりの時はこの部分を特に気にする 必要はないです。実際にprintf関数やscanf関数が使われていないのに"#include <stdio.h>"と書かれていても特に 問題はないからです。意味はわからなくても唱えておけば色々といい事があるという意味でこの部分はおまじないと思っておいて、 はじめの内は必ず先頭に書くようにしてください

int main(void)
{
……
}


 これは、メイン関数又は、エントリーポイントと呼ばれるものです。 C言語のプログラムでは必ずここからプログラムが始まる事が決められています。プログラムの開始ポイントとなるので、一つのプログラム内で 必ず一つだけこれを書かなければなりません。

printf("はじめてのプログラミングです♪ 文字が表示されてますよね〜☆\n");


 printf関数は、画面に文字を表示する関数です。この行が今回のプログラムの肝になります。

printf関数の分解図

 まずは、printfから見ていきましょう。これは、文字列を表示する関数となります。関数とは、『まとまった処理を行う単位』 です。つまり、printfは文字列を表示する処理となります。では、その表示する内容はというと、()で囲まれた 部分になります。この囲まれた部分は、関数に引き渡す値という事から引数と呼ばれます。更に表示される文字列についても見てみましょう。 " 〜 " で書かれている部分が表示される文字となります。C言語では、画面に表示される文字なのか単に命令としての名前なのか(例えばprintfやmainなど) を区別するために、""で囲まれている部分を区別して扱います。文字列として使用できる(""で囲まれている)部分では、日本語の使用が認められています。 ちなみに、文字列で使われている"\n"とは、改行である事を示しています。最後に、命令の終わりを示す';'を入れれば完成です。

scanf("a");


 キーの入力待ちを行う部分です。"a"の部分は特に意味はありません。"a"でなくても、"b"でも"c"でも何でもOKです。 この処理は、メニューから開始(F5キーで実行)を実行すると処理が一瞬で抜けてしまう事を防止するために入れているだけなので、 今回は深く考えずに進んでください。

return 0;


 これは、戻り値と呼ばれるものです。戻り値とは、呼び出し元へ処理の結果を返す値の事をいいます。 今回は、メイン関数の戻り値になるのでOSへ返す値になります。ちなみに返している値の0という意味は、『このプログラムは正常に処理が終了しました』 という意味になります。0以外の値を返す場合は、正常に処理が終了しなかった事を意味します。 戻り値は重要なので、次回以降関数の説明の時にもっと詳しく説明します。

どうでしょうか? ここで重要な事はprintf関数が文字列を表示させるという事です。以下にいくつかサンプルとして printf関数を使ったプログラムを掲載します。皆さんも色々な文字を表示してみて楽しんで見てください。

< サンプルプログラム >
printf関数の使用例

< 実行結果です >
printfを使った文字の表示結果

 いかがでしたか、本日はここまでとなります。今回は、プログラミングの構造とprintf関数について 紹介しました。次回は、コンピュータらしく加減算と引数について説明しようと思います。
前回同様、内容が判り難かったり、疑問・質問等がありましたら時間の許す限りお答えしようと思いますので どしどしメールを送ってください。 でわでわ、お疲れ様でした (^_^)/

< 一覧ページへ戻る


当サイトが面白いと感じた方は、お手数ですが下記リンクをクリックしてください。
クリック毎に当ホームページの評価が上がります。ご協力お願いします!
inserted by FC2 system