今回から2回に渡り実行制御という仕組みについて学習していきます。今までのプログラムは、ただ上から1行ずつ実行されていくものでしたが、実際のプログラムでは「状況に応じて処理を変える」というものが必要不可欠です。具体的にATMを例に挙げていきましょう。お金を出金するというプログラムを作成するとき、以下の手順が発生します。
- 暗証番号を入力
- 出金金額を入力
- 出金
大まかな流れですが、上記の中でも「入力された暗証番号が誤っていた場合」や「預金残高が不足していた」場合に異なる処理を行わなくてはなりません。
このように実際のプログラムでは状況に応じて異なる処理というものを作成する必要があり、このことを実行制御の中でも「条件分岐」と呼びます。C言語には条件分岐の機能として「if文」というものが存在します。
if文の基本的な構造
C言語では、if文の構造は以下のようになります。
if (条件) {
// 条件が真(true)のときに実行されるコード
}
ここで重要なのは、’条件’となる式は必ず真偽値(`true`または`false`)を返す必要があるということです。
if文の使用例
たとえば、次のコードは変数`x`が10以上であるかどうかを評価し、その結果が`true`であれば`”10以上です”`というメッセージをコンソールに表示します。
int x = 15;
if (x >= 10) {
printf("10以上です");
}
ここで`x >= 10`というのが条件で、この条件が`true`(真)ならば`printf(“10以上です”);`が実行されます。もし、`false`(偽)だった場合、if文内の処理はスキップされます。
2. 比較演算子とは何か
‘比較演算子’は2つの値を比較し、その結果を真偽値(`true`または`false`)で返します。以下に、C言語で頻繁に使用される比較演算子を示します。
比較演算子の使用例
例えば、以下のコードでは変数`x`と`y`の値を比較し、それぞれの結果を表示します。
int x = 5;
int y = 3;
if (x == y) {
printf("xとyは等しい");
} else if (x != y) {
printf("xとyは等しくない");
}
if (x > y) {
printf("xはyより大きい");
} else if (x <= y) {
printf("xはy以下");
}
3. 論理演算子とは何か
‘論理演算子’は複数の条件式を結びつけるための演算子で、主に条件分岐にて用いられます。これにより、より複雑な条件を表現することが可能になります。
以下に、C言語で使用する主な論理演算子を紹介します
論理演算子の使用例
以下に論理演算子を使用したコードの例を示します。このコードでは、`x`が10以上かつ20以下であるか、または`y`が0であるかを判断します。
int x = 15;
int y = 0;
if ((x >= 10 && x <= 20) || y == 0) {
printf("条件を満たしています");
}
この場合、`x >= 10 && x <= 20`(つまり`x`が10以上20以下)か`y == 0`のどちらかが`true`であれば`printf(“条件を満たしています”);`が実行されます。
まとめ
以上が、if文、比較演算、論理演算の基本的な概念です。
これらはC言語における基本的な制御フローを理解するためには不可欠な要素であり、プログラムの動作を制御するための基本的なツールとなります。
理解しておくと、より複雑なプログラムを構築する際に役立つものですので、繰り返し学習していきましょう!
コメント