본문 바로가기
문법/c언어

[C언어]조건문 사용법, 예제(if, switch case, 중첩조건문)

by 덜 무서운 지박령 2024. 1. 18.

C언어에는 다른 언어와 비슷하게 if를 이용한 조건문과 switch를 이용한 조건문이 존재한다.

 

1. if문 기본 형태

단순히 조건하나를 검사하여 참인 경우 해당 코드를 실행하게 된다.

if(조건){실행할 코드}의 형태로 아래의 예시와 같이 사용한다.

if(num>0){
	printf("양수");
}

 

하지만 위와같이 실행할 코드가 한줄인 경우 중괄호를 생략할 수 있으며, 아래의 예시와 같이 중괄호를 내려 적어도 상관없다.

if(num>0)
{
	printf("양수");
}
if(num>0)
	printf("양수");

3개의 예시코드는 num이 0보다 클 경우 양수를 출력하는 동일한 작업을 하게된다.

 

 

2. if-else 문

조건이 참이 아닐경우에 실행할 코드가 있을때 else를 이용하여 조건이 거짓일 경우 실행하도록 한다.

if(조건){참일 경우 실행할 코드}else{거짓일 경우 실행할 코드}의 형태로 사용하게 된다.

if(num%2==0)
	printf("짝수");
else
	printf("홀수");

위의 코드는 조건이 참, 거짓인 경우 실행하는 각각의 코드가 한줄이므로 중괄호를 생략하였으며, 조건이 참일 경우 짝수를 출력하고 거짓일 경우 홀수를 출력한다.

 

 

3. else if를 이용한 조건 분기

만약 체크할 조건이 두개 이상인 경우 else if를 넣어 여러 조건을 검사할 수 있다.

if(조건1){조건1이 참일 경우 실행할 코드}else if(조건2){조건2가 참일 경우 실행할 코드}else{모두 거짓일 경우 실행할 코드}의 형태로 사용할 수 있으며 이때 else if의 개수는 필요에 따라 더 늘어날 수 있으며, 마찬가지로 else는 생략가능하다.

if(n>0){
	printf("양수");
}
else if(n<0){
	printf("음수");
}
else{
	printf(0);
}

예시와 같이 사용가능하며 모든 if문은 위에서 부터 조건을 검사하게 된다.

따라서 아래의 else if의 조건을 만족하더라도 처음 if의 조건을 만족하면 해당 코드를 실행하고 if문을 탈출하게된다.

 

 

4. 중첩조건문

코드를 작성하다보면 조건문 내부에서 한번더 조건을 판단해야하는 경우가 생기게 된다. 이와 같은 경우 if문안에 또다른 if문이 존재하는 형태를 중첩되었다고 표현하며 기본형태를 잘 지키며 사용하면 된다.

if(num>0){
    if(num>=10){
    	printf("num은 10이상입니다.");
    }
    else{
    	printf("num은 10미만의 양수입니다.");
    }
}

중첩 반복문을 사용할 때, 중괄호의 범위를 헷갈리지않고 위치를 잘 정해주는 것이 중요하다.

 

 

5. switch case문

조건이 많고, 어느 변수의 값을 기준으로 실행할 코드를 나눌때 특별히 switch문을 이용하여 반복문을 작성할 수 있다.

switch(변수){
    case 값1 :
    	실행할 코드
        break;
    case 값2 :
    	실행할 코드
        break;
    default :
    	실행할 코드
}

위와 같은 형태로 작성하며 변수가 각 case에 맞는 값을 가질 때 실행하게 된다. 또한 default의 코드는 변수가 case에 맞는 값이 없는 경우에 실행된다.

여기서 각 case의 코드를 실행하고 switch문을 빠져나와야하지만 break;를 생략하게 되면 빠져나오지 못하고 그 다음 case의 코드를 이어서 실행하게 되므로 일반적으로 break;를 모두 적어야한다.

switch문에 사용되는 변수는 int, char형만 가능하므로 실수는 사용할 수 없다.