C언어 조건문 if, switch 간단한 예제 모음


C언어 조건문에서 if문은 조건식이 참일 경우 코드를 실행합니다. if else if문은 조건식을 두 개 이상 설정할 수 있습니다. switch문은 정수, 문자 자료형 한정으로 if else if문과 동일한 문법입니다.

C언어 조건문의 종류

조건문은 설정한 조건식에 따라서 실행될 코드 블록과 실행 되지 않을 블록을 설정할 수 있습니다. 조건문의 종류에는 if, if else, if else if, switch가 있습니다.


기호 형태 의미
if if (조건) {A} (조건) = 참이면 {A} 실행, (조건) = 거짓이면 if문 탈출
if else if (조건) {A} else {B} (조건) = 참이면 {A} 실행, (조건) = 거짓이면 {B} 실행
if else if if (조건 a) {A} else if (조건 b) {B} else {C} (조건 a) = 참이면 {A} 실행, (조건 a) = 거짓 & (조건 b) = 참이면 {B} 실행, (조건 a) = 거짓 & (조건 b) = 거짓이면 {C} 실행
switch switch (x) case (a) {A} default {C} x = a이면 {A} 실행, x != a이면, {C} 실행

if 조건문

C언어 if 조건문은 if (조건식)이 참이면 if문 내부의 코드 블록을 실행합니다. if (조건식)이 거짓이면 if문을 탈출합니다.

#include<stdio.h>
void main() {
        if(조건식)
          {
            실행문 A
          }

        실행문 B
}

if 조건식이 참일 때 if문 내부 코드가 먼저 실행됩니다. if문 밖으로 나온 후 외부의 잔여 코드를 실행합니다.

#include<stdio.h>
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}

	printf("종료 \n"); //if문 외부 실행문

}

결과

x가 y보다 작습니다.
종료

if 조건식이 거짓일 때 if문 내부 코드는 무시됩니다. if문 밖에 외부 코드가 있다면 외부 코드만 실행됩니다.

#include<stdio.h>
void main() {
	int x = 3;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}

	printf("종료 \n"); //if문 외부 실행문

}

결과

종료

if else 조건문

C언어 if else 조건문은 조건식 하나에 대해서 참 또는 거짓인 경우에 따라 실행 코드가 달라집니다.


#include<stdio.h>
void main() {
	if (조건식)
	{
		실행문 A
	}
	else
	{
		실행문 B
	}
}

if 조건식이 참일 경우 if문 내부의 실행문 A가 실행되며, else문 내부의 실행문 B는 무시됩니다.

#include<stdio.h>
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}
	else
	{
		printf("x가 더 크거나 같습니다. \n"); //else문 내부 실행문
	}

	printf("종료 \n"); //if문, else문과 무관하게 실행

}

결과

if문, else문 밖의 코드는 조건식의 참, 거짓과 무관하게 실행됩니다.

x가 y보다 작습니다.
종료

if 조건식이 거짓일 경우 if문 내부의 실행문 A는 무시되며, else문 내부의 실행문 B가 실행됩니다.

#include<stdio.h>
void main() {
	int x = 3;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if문 내부 실행문
	}
	else
	{
		printf("x가 y보다 크거나 같습니다. \n"); //else문 내부 실행문
	}

	printf("종료 \n"); //if문, else문과 무관하게 실행
}

결과

x가 y보다 크거나 같습니다.
종료

if else if 조건문

C언어 if else if 조건문은 두 개 이상의 조건문을 사용해서 선택 가능한 경우의 수를 늘릴 때 사용합니다.

#include<stdio.h>
void main() {
	if (조건식 A)
	{
		실행문 a; //조건식 A가 참이면, 실행
	}
	else if (조건식 B)
	{
		실행문 b; //조건식 A가 거짓, 조건식 B가 참이면 실행
	}
	else
	{
		실행문 c; //조건식 A가 거짓, 조건식 B가 거짓이면 실행
	}
}

if 조건식이 참일 경우, if문 내부의 코드 블록만 실행됩니다. else ifelse 코드 블록은 무시됩니다.

#include
void main() {
	int x = 1;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행
	}
	else if (x == y)
	{
		printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행
	}
	else
	{
		printf("x가 y보다 큽니다. \n"); //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행
	}

	printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행

}

결과


조건식 밖의 잔여 코드는 조건과 무관하게 실행됩니다.

x가 y보다 작습니다.
종료

if(조건식)이 거짓이고, else if(조건식)이 참일 경우, else if문 내부의 코드 블록만 실행됩니다. 나머지 if문 및 else 문의 코드 블록은 무시됩니다.

#include<stdio.h>
void main() {
	int x = 2;
	int y = 2;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행
	}
	else if (x == y)
	{
		printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행
	}
	else
	{
		printf("x가 y보다 큽니다. \n");  //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행
	}

	printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행

}

결과

조건식 밖의 잔여 코드는 조건과 무관하게 실행됩니다.

x가 y와 같습니다.
종료

if(조건식)이 거짓, else if(조건식)이 거짓이면 else문 내부의 코드 블록이 실행됩니다. 나머지 if문 및 else if문 내부의 코드 블록은 무시됩니다.

#include<stdio.h>
void main() {
	int x = 2;
	int y = 1;

	if (x < y)
	{
		printf("x가 y보다 작습니다. \n"); //if(조건식)이 참이면, 실행
	}
	else if (x == y)
	{
		printf("x가 y와 같습니다. \n"); //if(조건식)이 거짓, else if(조건식)이 참이면, 실행
	}
	else
	{
		printf("x가 y보다 큽니다. \n");  //if(조건식)이 거짓, else if(조건식)이 거짓이면, 실행
	}

	printf("종료 \n"); //조건문 밖의 코드는 조건과 무관하게 실행

}

결과

조건식 밖의 잔여 코드는 조건과 무관하게 실행됩니다.


x가 y보다 큽니다.
종료

switch 조건문

C언어 switch 조건문은 if else if 조건문처럼 여러 경우의 수를 선택할 때 사용합니다. if else if와 차이점이 있다면 switch문은 case에 정수(int) 및 단일 문자(char) 자료형만 올 수 있습니다. case 뒤에는 변수명도 올 수 없음을 유의합니다.

#include<stdio.h>
void main() {
	switch (x)
	{
		case a :
		{
			실행문 A;
			break;
		}
		case b :
		{
			실행문 B;
			break;
		}
		default :
		{
			실행문 C;
		}
	}
}

switch (x)case 값이 일치하는 경우 해당 case 코드 블록을 실행시킵니다. 이후 break 문을 만나면 switch 조건문에서 빠져나오고, 잔여 case 코드 블록은 무시합니다.

#include<stdio.h>
void main() {
	int x = 1;
	int y;

	switch (x)
	{
		case 0 : //x = 0 일 때 실행
		{
			y = 33; //y = 33 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		case 1 : //x != 0 이고, x = 1 일 때 실행
		{
			y = 44; //y = 44 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		default : //x != 0 이고, x != 1 일 때, 실행
		{
			y = 99; // y = 99 대입
			printf("y값은 %d \n", y); //y값 출력
		}
	}

	printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행
}

결과

조건식 밖의 잔여 코드는 조건식과 무관하게 실행됩니다.

y값은 44
종료

switch (x)가 어떤 case값과도 일치하지 않는 경우 default문의 내부 코드 블록을 실행시킵니다.

#include<stdio.h>
void main() {
	int x = 99;
	int y;

	switch (x)
	{
		case 0 : //x = 0 일 때 실행
		{
			y = 33; //y = 33 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		case 1 : //x != 0 이고, x = 1 일 때 실행
		{
			y = 44; //y = 44 대입
			printf("y값은 %d \n", y); //y값 출력
		}
		break; //switch문 밖으로 탈출

		default : //x != 0 이고, x != 1 일 때, 실행
		{
			y = 99; // y = 99 대입
			printf("y값은 %d \n", y); //y값 출력
		}
	}

	printf ("종료"); //switch문 밖의 외부 코드는 switch문과 무관하게 실행
}

결과

y값은 99
종료

조건식 밖의 잔여 코드는 조건식과 무관하게 실행됩니다.