はじめに
C言語のif文について解説します。if文は、条件分岐において必要となります。その条件分岐について、初心者の方向けに解説したいと思います。
条件分岐とは?
条件分岐とは、ある条件が満たされているかどうかによって次に実行するプログラムを変更することです。例えば、定数Aが20以上の時は、「お酒が飲める」と表示する。それ以外は、「お酒が飲めない」と表示するなどです。
C言語では、この条件分岐の方法は以下二つがあります。
- if文
- switch
if文
if文は、「もしも…だったらxxxする」といった処理を実行するもっとも基本的な処理です。
コード例1
#include <stdio.h>
int main(int argc, char** argv) {
int a;
printf("数値を入力してください:");
// キーボードから整数を入力
scanf("%d", &a);
// 入力した値が、正の数かどうかを調べる
if (a > 0) {
printf("入力した値は、正の数です。¥n");//正の数だった場合に実行
}
return 0;
}
解説
このプログラムを実行し、正の数字を入力すると、「入力した値は、正の数です。」と表示されるプログラムです。それ以外のものが入力されると何も起こりません。
scanf関数
scanf(“%d”, &a)でキーボードから入力された数値を変数に代入するプログラムです。
この場合は、aに代入されます。
if文
if文は、以下の形式で記述します。
if (条件式){
実行する処理
}
条件式が成立した場合のみ「実行する処理」が実行されます。
条件式は比較演算子を用いて表現します。
演算子 | 意味 | 使用例 |
---|---|---|
> | より大きい | a>0 |
>= | 以上 | a>=0 |
< | より小さい | a<0 |
<= | 以下 | a<=0 |
== | 等しい | a==0 |
!= | 等しくない | a!=0 |
if〜else文
ifの条件を満たさない場合に別の処理を実行したい場合にelseは使用します。
コード例2
#include <stdio.h>
int main(int argc, char** argv) {
int a;
printf("数値を入力してください:");
// キーボードから整数を入力
scanf("%d", &a);
// 入力した値が、正の数かどうかを調べる
if (a > 0) {
// 正の数だった場合に実行
printf("入力した値は、正の数です。¥n");
}
else {
// 0か、負の数だった場合に実行
printf("入力した値は、正の数ではありません。¥n");
}
return 0;
}
解説
このプログラムを実行し、正の数字を入力すると、「入力した値は、正の数です。」と表示されるプログラムです。それ以外のものが入力されると「入力した値は、正の数ではありません」と表示されます。
if〜else文
if〜else文は、以下の形式で記述します。
if (条件式){
実行する処理①
}
else{
実行する処理②
}
else if文
分岐条件が複数ある場合は、else if文を使用します。
コード例3
#include <stdio.h>
int main(int argc, char** argv) {
int num;
printf("1〜3の値を入力してください:");
// キーボードから整数を入力
scanf("%d", &num);
// 入力した値が、正の数かどうかを調べる
if (num == 1) {
printf("one¥n"); // numが1だった場合の処理
}
else if (num == 2) {
printf("two¥n"); // numが2だった場合の処理
}
else if (num == 3) {
printf("three¥n"); // numが3だった場合の処理
}
else {
printf("不適切な値です。¥n"); // それ以外の値だった場合の処理
}
return 0;
}
解説
このプログラムを実行し、1〜3数字を入力すると、条件ごとに以下が実行されいます。
- 1の場合:oneと表示
- 2の場合:twoと表示
- 3の場合:threeと表示
else if文
else if文は、以下の形式で記述します。
if (条件式①){
実行する処理①
}
else if(条件式②){
実行する処理②
}
else{
実行する処理③
}
switch文
コード例4
#include <stdio.h>
int main(int argc, char** argv) {
int num;
printf("1〜3の値を入力してください:");
// キーボードから整数を入力
scanf("%d", &num);
// 入力した値が、正の数かどうかを調べる
switch (num) {
case 1:
printf("one¥n"); // numが1だった場合の処理
break;
case 2:
printf("two¥n"); // numが2だった場合の処理
break;
case 3:
printf("three¥n"); // numが3だった場合の処理
break;
default:
// それ以外の値が入力された場合の処理
printf("不適切な値です。¥n");
break;
}
return 0;
}
解説
このプログラムを実行し、1〜3数字を入力すると、条件ごとに以下が実行されいます。
- 1の場合:oneと表示
- 2の場合:twoと表示
- 3の場合:threeと表示
switch文
else if文は、以下の形式で記述します。
switch(値){
case 値①:
実行する処理①
break;
case 値②:
実行する処理②
break;
default:
実行する処理③
break;
}
条件は、caseで記述します。
defaultはcaseのその条件にも当てはまらない場合に実行される処理を記述します。
breakは処理の終了を意味します。
まとめ
C言語のif文について解説しました。
- if文
- if〜else文
- else if文
- switch文
もっと詳しくC言語を学習したい方は以下の記事を参考にしてみてください。オンライン学習サイトUdemyのおすすめ講座についてまとめたものです。
筆者がC言語の学習は以下の本がおすすめです。参考にしてみてください。
コメント