C

제어문 - if / switch문

1space 2025. 6. 11. 20:45

 

문장의 종류

1) 공문 (null statement)

  • 아무 것도 하지 않는 문장입니다.
  • 단순히 세미콜론(;)만 있는 경우
;
  • 예: while문 안에 아무 작업도 하지 않게 만들고 싶을 때 사용

2) 단문 (simple statement)

  • 하나의 문장으로 끝나는 문장
 
x = 10;
printf("Hello");

3) 복문 (compound statement)

  • 여러 문장을 { } 중괄호로 묶은 문장
 
{ x = 10; y = 20; }
  • 조건문이나 반복문에서 여러 문장을 실행하고 싶을 때 반드시 중괄호로 묶어야 합니다.

 

 

조건문

조건에 따라 다른 명령을 실행할 수 있는 제어 구조입니다.

단순 if문

if (조건) 명령문;
  • 조건이 참일 경우에만 명령문을 실행하고, 거짓이면 건너뜁니다.

복문일 경우

if (조건) 
{ 
	명령문1;
	명령문2; 
}
  • 조건이 참이면 중괄호 안의 모든 명령을 실행

 

예제

if (c >= 'a' && c <= 'z') 
{ 
	c -= 32;// 소문자를 대문자로
	printf("대문자로 바뀌었습니다.\n");
}
  • 만약 사용자가 c에 'a'~'z' 사이 소문자를 입력하면,
    32를 빼서 대문자로 바꾸고, 메시지를 출력합니다.
  • 아스키코드에서 'a' ~ 'z' → 'A' ~ 'Z'보다 정확히 32차이입니다.

if ~ else문

if (조건) 
{ 
명령문1;
} 
else
{
명령문2;
}
  • 조건이 참이면 명령문1 실행
  • 조건이 거짓이면 명령문2 실행
다중 if문 (else if)
if (조건1) 
{ 
명령문1;
} 
else if (조건2) 
{
명령문2; 
} 
else if (조건3) 
{ 
명령문3;
} 
else 
{
명령문4;
}
  • 위에서부터 순서대로 조건을 검사해서, 처음 참이 되는 조건만 실행하고 나머지는 건너뜁니다.
  • 모든 조건이 거짓이면 마지막 else가 실행됩니다.

중첩 if문

if (조건1)
{
	if (조건2) 
    {
    명령문1; 
    }
    else 
    {
    명령문2; 
    } 
}
else
{
명령문3; 
}
  • if문 안에 또 if문이 들어 있는 구조입니다.
  • 조건이 복잡하거나 상황이 나눠져 있을 때 유용하게 사용됩니다.

switch ~ case문

  • switch문은 값이 하나일 때 그 값에 따라 실행할 명령을 고를 수 있는 조건문입니다.
 
switch (수식) {
    case 값1:
        명령문1;
        break;
    case 값2:
        명령문2;
        break;
    default:
        명령문3;
}

 

  • 수식 결과가 값1이면 명령문1 실행
  • 값2이면 명령문2 실행
  • 어느 것도 해당하지 않으면 default의 명령문3 실행
  • break가 없으면 아래로 계속 실행되기 때문에 반드시 넣는 것이 좋습니다.

if문 vs switch문 비교

처리 가능한 데이터형 char, int, float, double char, int만 가능
범위 조건 처리 가능 처리 어려움
두 변수 비교 가능 불가능
명령 코드 수/실행 속도 비교적 느림, 비효율적 빠름, 효율적

'C' 카테고리의 다른 글

제어문 - while / do while문  (0) 2025.06.12
제어문 - for / 이중for문  (0) 2025.06.12
이동 연산자  (0) 2025.06.11
비트 연산자  (0) 2025.06.11
증/감 연산자  (0) 2025.06.11