第1章 「やさしい入門」 1.5
文字入出力 1.5.3
行数のカウント

2020年11月14日

今回は行数のカウントプログラムを作成します。
行数のカウントは、行の終わりである改行文字を検出することで行います。
改行文字はASCIIコードで’\n’と表記します。

プログラムの目的

行数をカウントする

ソースコード

解説

前回のソースコードを修正しています。
今回新たに登場した部分はif(c == ('\n’)のみです。

①if文
if文は以下のように記述します
if (式) {
文1
} else {
文2
}

これは真、偽を判定するし、真なら文1、偽なら文2を実行します。
偽の部分は省くこともできます。
この場合は下記のように記述します。
if (式) {
文1
}

式はいくつかの条件を書くことが可能です。
今後解説するとして今回は==をご説明します。
==は左右の値が同じ場合に真となります。

簡単な例を示します。

if (a == 0) {
b = 0;
} else {
b = 1;
}

この文はaの値が0ならbに0を代入
0以外ならbに1を代入します。

②’\n’
キーにはそれぞれASCIIコードと呼ばれる個別の値が準備されています。
それぞれの値は文字定数と呼ばれる記号で表しシングルコーテーション’で囲み表現します。
'\n’は改行コードを表します。

③それではプログラム全体の説明をします。
while文でctrl+z待ちをしているのは以前と同様です。
次のif(c == ('\n’)で改行の入力を待っています。
改行が入力されるとcをインクリメントし、if文を抜けキー入力待ちになります
改行では無い婆はすぐにif文を抜けキー入力待ち。
キー入力されるとwhile文でctrl+z待ちになります。

動作の確認

簡単に動作確認してみましょう。

プログラムを走らせAキーを押して下さい。
次にEnterキー、またAキー、Enterキー最後にctrl+zで終了です。

行カウントはいくつになっていましたか?
正解は2です。

今回はここまで

 

※本プログラム教室はK&Rの「プログラミング言語C」をベースに進めています。