C언어는 절차적 프로그래밍 언어로 알려져 있으며, 다양한 명령문들로 구성됩니다. 모든 프로그램은 기본적으로 명령들이 순서대로 실행되는 형태로 이루어져 있습니다. 이는 프로그래밍 시 우리가 원하는 결과를 얻기 위해서는 실행 흐름을 제어해야 한다는 것을 의미합니다. 이러한 흐름 제어를 가능하게 해주는 것이 바로 제어문이며, 그 중에서도 조건문은 프로그램의 실행 경로를 결정하는 중요한 역할을 합니다.

조건문의 이해
조건문은 특정 조건이 충족될 때만 코드 블록을 실행하도록 하는 명령어입니다. C언어에서 가장 기본적인 형태의 조건문은 if
문이며, 이를 통해 조건을 평가하고 그 결과에 따라 실행할 코드를 지정할 수 있습니다. 조건문을 사용할 때 기억해야 할 사항은, 조건문이 참일 때와 거짓일 때 각각 실행할 코드를 설정할 수 있다는 점입니다.
if 문 사용법
가장 간단한 형태인 if
문은 다음과 같은 구조를 가집니다:
if (조건식) {
// 조건이 참일 때 실행할 코드
}
이 구조에서 조건식이 참인 경우 코드 블록 내의 명령이 실행됩니다. 예를 들어, 주어진 변수가 특정 값을 만족하는지를 확인하고자 할 때 if
문을 사용할 수 있습니다.
예제: if 문
아래의 코드는 사용자가 입력한 수에 대해 조건을 확인하는 예시입니다:
int num = 3;
if (num < 5) {
printf("입력하신 수는 5보다 작습니다.\n");
}
위 코드는 num
이 5보다 작을 경우, 조건이 참이므로 해당 메시지를 출력하게 됩니다.
else 문과의 결합
if
문은 else
문과 함께 사용하여 조건이 거짓일 경우 대체 행동을 지정할 수 있습니다. else
구문이 추가된 구조는 아래와 같습니다:
if (조건식) {
// 조건이 참일 때
} else {
// 조건이 거짓일 때
}
앞서 살펴본 예제를 else
문과 함께 사용하면, 다음과 같은 방법으로 작성할 수 있습니다:
int num = 5;
if (num < 5) {
printf("입력하신 수는 5보다 작습니다.\n");
} else {
printf("입력하신 수는 5보다 크거나 같습니다.\n");
}
이 예제에서는 num
이 5보다 작은지 여부를 체크하고, 그 결과에 따라 다른 메시지를 출력합니다.
다중 조건 처리: else if 문
여러 가지 조건을 한 번에 다루고 싶을 때는 else if
구문을 사용할 수 있습니다. 이 방법은 다양한 조건을 순차적으로 검사할 수 있도록 도와줍니다:
if (조건식1) {
// 조건식1이 참일 때
} else if (조건식2) {
// 조건식2가 참일 때
} else {
// 모든 조건이 거짓일 때
}
아래는 다양한 점수를 입력받아 학점을 출력하는 예제입니다:
int score;
printf("점수를 입력하세요: ");
scanf("%d", &score);
if (score >= 90) {
printf("A학점입니다.\n");
} else if (score >= 80) {
printf("B학점입니다.\n");
} else if (score >= 70) {
printf("C학점입니다.\n");
} else if (score >= 60) {
printf("D학점입니다.\n");
} else {
printf("F학점입니다.\n");
}
삼항 연산자
C언어에서는 조건문을 더 간단하게 표현할 수 있는 방법으로 삼항 연산자를 제공합니다. 삼항 연산자의 형식은 아래와 같습니다:
조건식 ? 참일 때의 값 : 거짓일 때의 값;
이 방식은 짧고 간편하게 조건문을 사용할 수 있게 해줍니다. 예를 들어:
int num = 5;
printf(num % 2 == 0 ? "짝수입니다.\n" : "홀수입니다.\n");
switch 문
복잡한 조건문을 처리할 때는 switch
문을 사용하는 것도 좋은 방법입니다. switch
문은 특정 변수를 기준으로 여러 case를 설정할 수 있으며, 가독성이 높은 코드 작성을 가능하게 합니다. 그 문법은 다음과 같습니다:
switch (변수) {
case 값1:
// 값1일 때 실행할 코드
break;
case 값2:
// 값2일 때 실행할 코드
break;
default:
// 값이 아무것도 아닐 때 실행할 코드
}
예를 들어:
int num = 2;
switch (num) {
case 1:
printf("1 입력됨.\n");
break;
case 2:
printf("2 입력됨.\n");
break;
default:
printf("1 또는 2가 아닙니다.\n");
break;
}

결론
C언어에서 조건문은 프로그램 흐름을 제어하는 데 필수적인 요소입니다. if
, else
, else if
, switch
등의 다양한 구조를 활용하여 코드의 복잡한 조건을 관리할 수 있습니다. 이러한 조건문을 적절히 활용하면 더욱 효율적이고 가독성 높은 코드를 작성할 수 있습니다. 실무와 학습에서 조건문을 잘 활용하시길 바랍니다.
자주 물으시는 질문
C언어에서 조건문이란 무엇인가요?
C언어의 조건문은 특정 조건을 만족할 때만 실행되는 코드 블록을 정의하는 명령어입니다. 주로 프로그램의 흐름을 제어하는 데 사용됩니다.
if 문은 어떻게 사용하나요?
가장 기본적인 형식으로, if (조건식) { // 코드 }
와 같은 구조를 가집니다. 조건식이 참일 경우 코드 블록이 실행됩니다.
조건문에서 else 문은 어떤 역할을 하나요?
else
문은 if
문의 조건이 거짓일 때 실행할 대체 코드를 지정합니다. 즉, 특정 조건이 충족되지 않을 경우 어떤 행동을 취할지를 정할 수 있습니다.
다중 조건을 처리하는 방법은 무엇인가요?
여러 조건을 다루기 위해 else if
구문을 사용하면 됩니다. 이를 통해 여러 가지 조건을 순차적으로 검사하고 각 조건에 맞는 결과를 실행할 수 있습니다.
삼항 연산자는 어떤 때 사용하나요?
삼항 연산자는 조건문을 간단히 표현하고 싶을 때 유용합니다. 조건식 ? 참일때 : 거짓일때;
형태로 작성하여, 짧은 코드로 조건에 따른 결과를 처리할 수 있습니다.