分岐制御文としてifがあります。この文法は次の通りです。

6_if_1
 続きから↓↓

 
注意
 本来、Cのif文は「条件」ではなく「式の値」によって判断されます。0以外であれば真、0であれば偽とみなしているのです。==や<のような関係演算子は成り立てば1、成り立たなければ0となるように作られているので、上記のような説明が成り立ちます。

実は、次の2つの文は同じ意味となります。
 
6_if_2
しかし、「論理的」にプログラムを作るという意味で前者の文のほうがよいプログラムと言えます。とにかく動けばよいというプログラムではなく他人が見ても論理的にわかるプログラムを作ることを心がけよう。
 
そのためここでは「条件」の書き方を下ます。今後でてくる制御文のほとんどについても同じです。
 
明解C言語36ページのプログラム
6_if_2_1

実行例
6_if_2_2

6_if_2_3
 
 明解C言語38ページのプログラム
6_if_2_4

実行例
6_if_2_5

6_if_2_6

 
以下のプログラムは同じ結果を示すプログラムですが、ifの条件が逆なためその条件が成り立つときの結果を逆にしています。
6_if_3

6_if_4
 
それでは今回の内容で以下の2つのプログラムをつくってみましょう。

①西暦の年が4で割り切れる年はうるう年である(実はもう少し複雑なルールがありますが、今回はこのようにしておきます)。西暦の年を入力してもらい、うるう年であるかそうでないかを表示するプログラムを作成しなさい。

②正の整数を入力してもらい、その整数の下一桁が5であるか判定するプログラムを作成しなさい。












解答例

 
uy_1


uy_2
 

最後に、C言語を初めて書こうと思っているかたにおすすめの技術書を紹介します。
こちらです↓↓

スポンサーリンク