【C言語で】#3 printf【ビンゴを作ろう】

この記事は2016年4月9日に書かれたものです。内容が古い可能性がありますのでご注意ください。


C言語でBINGOを作ろう #3 printf

C言語でBINGOを作ろう!

C言語でBINGOを作ろう!

CUI上で動くビンゴゲームの完成目指してひっそりとプログラムの勉強を始めました。前回はプログラミングのHellow World!の中身をざっくり紹介しました。今回は、Hello World!を表示するために利用した、printfについてみてみましょう。

相変わらず安定のアイキャッチw

サンプルがほしい方は#11から読んでください。

開発環境

開発環境はこちらをご覧ください。

また、C言語の開発環境を構築したい場合は以下を参考にしてください。

C言語環境構築前編

C言語環境構築後編

コマンドプロンプトからサクラエディタを起動できるようにしてみた前編

コマンドプロンプトからサクラエディタを起動できるようにしてみた後編

本記事は以上の設定を行っている前提で説明を行います。

 

BINGOの記事一覧はこちら

 

printf

printf

前回まで、「Hello World!」と画面に表示するプログラムを書きました。ソースコードは以下の通りです。

#include<stdio.h>
int main(void){
printf("Hello World!");
}

たった4行のこのソースコードをコンパイルして実行すると、何と画面にHelloWorld!と表示できました。そこで今回はちょっとずつコードを書き換えて挙動を確かめましょう。

ソースコードを改造

ソースコードを以下のように改造してみました。

#include<stdio.h>
int main(void){
printf("Good Night Zzz");
}

コンパイルして実行するとあら不思議、表示がHello World!からGood Night Zzzに変わりました。
前回も触れましたが、printfは()で指定されたものを標準出力に出します。今回は()で指定されているのが「Hello World!」ではなく「Good Night Zzz」だったため、画面にはGood Night Zzzが表示されました。
“”でくくるのを忘れないように気を付けてください。

2行出力したい

では、「Hello World!」を2行出力したい場合はどうすればよいでしょうか。答えは簡単、以下のようにすればよいですね。いじわるなんてしてないぞ

#include<stdio.h>
int main(void){
printf("Hello World!");
printf("Hello World!");
}

・・・えっ?「Hello World!Hello World!」と1行で出てくるって?そんなの気のせいです

 

C言語の場合、プログラムのソースコード内で改行しても出力内容が改行されるわけではありません。

だからと言って

printf("Hello World!

Hello World!");

のように()内で改行すると、コンパイルに失敗します(成功しても意図した表示にはならないはずです。)

では改行する場合にはどうすればいいのでしょうか。

改行文字

答えは簡単です。プログラムは書いたことに忠実に動きます。ということはプログラムの表示部分に「改行します」と打ってやればいいんですね。

・・・えっ?そんなバカなって?では、実際に試してみましょう。

#include<stdio.h>
int main(void){
printf("Hello World!\nHello World!");
}

これで無事に改行できましたね。えっ?「改行します」なんてどこにも書いていないって?
ちゃんと書いてあるじゃないですか\nって。えっ、「改行します」じゃないって?相手は機械なのに日本語通じる訳ないでしょw相手に合わせてしゃべらなきゃ。相手に合わせた言葉をしゃべらないとコミュニケーションは進みません。

この\nは「改行文字」※といって、コンピュータにとっては「ここで改行してくれ」という意味になります。これで改行ができます。やったね!

※改行文字について正確な知識を身に着けたい場合や、Windows以外の環境で動かすプログラムだったり、C言語ではない言語を使ったりする場合は\rや\r\nについても調べてください。

おまけ
#include<stdio.h>
int main(void){
printf("Hello World!\n");
printf("Hello World!");
}

でも2行表示することが可能です。こちらの方が見やすいかもしれません。

次回は更にHello World!を表示したいと思います。

宿題コーナー

みなさんお楽しみの宿題のコーナーです。

前回の宿題と解答例

“Hello World!”の代わりに、自分の好きな英単語を表示してみましょう。

解答例※orangeと表示


#include<stdio.h>

int main(void){
 printf("orange");
}

今日の宿題

“Hello World!”を画面に10行出力してみましょう。

楽勝♪とおもったら、10000行に挑戦してもいいですよ(^^)ドウナッテモ セキニン トラナイ ケドネ

 

BINGOの記事一覧はこちら

 

  • このエントリーをはてなブックマークに追加

PAGE TOP