C/C++

C言語 if文 switch 条件分岐とは?初心者向けに解説

C/C++

はじめに

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言語の学習は以下の本がおすすめです。参考にしてみてください。

コメント

タイトルとURLをコピーしました