前回の講座でhello worldを出力するプログラムは書けるようになりました。

では、hello worldと出力した後、次の行にhello C language と出力するプログラムを書いてみましょう。



これで動きそうですね。それでは実行結果を見てみます。

21


おや、改行されませんね。

そうです。プログラム上では改行されていますが、そもそも改行とは"改行という文字"なのです。
僕たちが普段文字列を入力する時に、Enterキーを押しますが、Enterキーは改行文字を入力するキーなのです。
つまり改行文字を文章に入れてあげないと、改行されないのです。

改行文字は \n です。

\nを文字列上に埋め込んで、初めてそこで改行がされるのです。
また、環境によっては、\記号は「¥」と表示されたり、「\」と表示されます。
キーボード上では「¥」となっています。バックスペース(1文字消す)の左にあるキーを押して入力して下さい。

hello world を出力した後、改行する。


実行結果
22


うまくいきましたね。
Cのコンパイラは文字列を走査している時、改行文字を発見するとOSに改行文字を伝えます。
すると、OSが文字列の段を1つ下げ、改行を行うのです。

それでは、問題です。

問4:次の実行結果になるプログラムを書きなさい。
23


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プログラムの文末にあるは、文末記号と言って、その文章の終わりであることを意味します。

日本語で言うところの 英語で言うところの.ですね。

つまり;が付いているところが文章の終わりなので、例えば

return         0     ;

や、

return



0
;

などと言った書き方もOKです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
変数について説明しておきます。
変数とは、変化する値のことです。

変化する値は古今東西様々なプログラムで使われています。
ゲームであれば敵や味方のHPであったり、家電であればエアコンの温度であったり、数値を操作するコンピュータがあればまず使わないことはありません。

Cで変数を宣言するには

型 名前;

で宣言します。

型は全部で3種類あり、
char  文字型(一文字を格納できる)
int   整数型(1, 100, -245などを格納できる)
double 浮動小数点数型(3.1415などを格納できる)

です。
変数の名前は自由に付けて下さい。(数値から始まったり、_以外の記号を含んだり、全角文字はNG)
また、C言語では大文字と小文字は別の文字として扱われます。Number と number は違う変数を意味します。

こんな感じです。
24


それでは実際にプログラム上で宣言してみましょう。

このプログラムを実行すると、Enemy1HPという名の領域がコンピュータのメモリ上に確保されます。
25
このプログラムを実行しても、なにも表示されません。変数を表示する命令を書いていませんから。

問5:Enemy1HPという変数は何型ですか? また、どのようなデータを格納できますか?


さて、変数とは変化する値のことでしたね。それでは文字通り変化させてみましょう。



Cでは値の代入はで行います。
数学のとは意味が異なりますのでご注意下さい。

このプログラムではEnemy1HPという領域 へ 200という整数を代入しています。
=は右辺値を左辺値へ代入(上書きして挿れる)する効果を持ちます。
もともとEnemy1HPの値は不定でしたが、= 200により、Enemy1HPの値は200へと変化しました。
26


しかしこのプログラムも実行したところで何も表示しません。
本当にEnemy1HPの値が200になっているのか、確かめてみましょう。

ところで文字列を表示するのには何という関数を使うのでしたっけ。
そうです、printfですね。実は数値も文字列として扱うことができるので、printfで表示することができます。

その為には、フォーマット指定子をprintfへ指定してやる必要があります。

printf("Enemy1HPの値は%d", Enemy1HP);

フォーマット指定子は%と何らかの文字を組み合わせて使います。
printfのカッコの"文字列"内に%dと書くことで、表示する時になんらかの値と変換することができます。変換する値は,で区切ります。

Enemy1HPの値を画面へ表示するプログラムを書いてみましょう。

27