C - 조건문

안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 기본적인 개념 중 하나를 탐구해볼 거예요: 조건문(if 문). 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 이 여정을 안내해드리는 것을 기쁜 마음으로 생각합니다. 자, 우리는 선택형 어드벤처 이야기를 상상해봅시다. 각각의 결정이 다른 길로 이끄는 이야기 말이죠. 프로그래밍에서 if 문이 하는 일도 exactamente 그거예요!

C - if statement

C - if 문

if 문은 길목과도 같아요. 프로그램이 특정 조건에 따라 결정을 내릴 수 있게 해줍니다. 이를 질문으로 생각해보세요: "이 조건이 참이면, 이 작업을 수행해라." 프로그래밍에서 결정을 내리는 기본적인 블록이며, 이를 마스터하면 코딩 여정에서 무한한 가능성을 열어줄 거예요.

if 문의 문법

먼저 C 언어에서 if 문의 기본 문법을 살펴보겠습니다:

if (조건) {
// 조건이 참이면 실행할 코드
}

이렇게 간단합니다! 조건은 괄호 안에 닫혀 있으며, 조건이 참이면 실행할 코드는 대괄호 안에 닫혀 있습니다.

if 문은 어떻게 작동하나요?

프로그램이 if 문을 만나면 먼저 괄호 안의 조건을 평가합니다. 이 조건이 참이면 (C 언어에서는 비零이면), 대괄호 안의 코드가 실행됩니다. 조건이 거짓이면 (零이면), 대괄호 안의 코드는 건너뜀하고 프로그램은 if 블록 뒤의 다음 문으로 이동합니다.

if 문의 흐름도

이 과정을 시각적으로 이해하기 위해 간단한 흐름도를 살펴보겠습니다:

[시작]
|
v
[조건 평가]
|
/   \
예 /     \ 아니요
/       \
v         v
[코드 실행]   [코드 건너뜀]
|           |
|           |
\         /
\       /
v     v
[계속]

이 흐름도는 프로그램이 if 문의 코드를 실행할지 건너뜀지를 결정하는 과정을 보여줍니다.

C 언어에서 if 문의 예제

간단한 예제를 보겠습니다:

#include <stdio.h>

int main() {
int 나이 = 18;

if (나이 >= 18) {
printf("투표에资格이 있습니다!");
}

return 0;
}

이 예제에서 우리는 사람이 투표에资格이 있는지 확인하고 있습니다. 나이가 18 이상이면 "투표에资格이 있습니다!"라는 메시지가 출력됩니다.

프로그램을 실행하면 메시지가 출력됩니다. 왜냐하면 조건 나이 >= 18 이 참이기 때문입니다 (18은 정확히 18 이상입니다).

if 문과 논리 연산자

우리는 논리 연산자를 사용하여 조건을 더 복잡하게 만들 수 있습니다. C 언어의 주요 논리 연산자는 다음과 같습니다:

연산자 의미
&& AND
|| OR
! NOT

이 연산자들을 사용하는 예제를 보겠습니다:

#include <stdio.h>

int main() {
int 나이 = 25;
char 신분증 = 'Y';

if (나이 >= 18 && 신분증 == 'Y') {
printf("클럽에 입장할 수 있습니다!");
}

return 0;
}

이 예제에서 사람이 클럽에 입장하기 위해서는 18 이상이어야 하고 신분증을 가지고 있어야 합니다. 두 조건 모두 참이어야 메시지가 출력됩니다.

여러 개의 if 문

occasionally, 여러 개의 조건을 독립적으로 확인해야 합니다. 이를 위해 여러 개의 if 문을 사용할 수 있습니다:

#include <stdio.h>

int main() {
int 점수 = 85;

if (점수 >= 90) {
printf("성적: A\n");
}

if (점수 >= 80 && 점수 < 90) {
printf("성적: B\n");
}

if (점수 >= 70 && 점수 < 80) {
printf("성적: C\n");
}

return 0;
}

이 예제에서 우리는 점수에 따라 성적을 부여하고 있습니다. 각 if 문은 다른 점수 범위를 확인합니다.

여러 조건을 확인하는 if 문

occasionally, 하나의 조건만 실행되어야 하는 여러 조건을 확인하고 싶을 때가 있습니다. 이럴 때 if-else if-else 구조를 사용합니다:

#include <stdio.h>

int main() {
int 숫자 = 0;

if (숫자 > 0) {
printf("숫자는 양수입니다.\n");
} else if (숫자 < 0) {
printf("숫자는 음수입니다.\n");
} else {
printf("숫자는 영입니다.\n");
}

return 0;
}

이 예제에서 우리는 숫자가 양수인지, 음수인지, 영인지 확인하고 있습니다. 오직 하나의 조건만 참이 되므로 오직 하나의 코드 블록만 실행됩니다.

그렇게 해서, 여러분! 우리는 if 문의 세계를 여행했습니다. 기본 조건에서 복잡한 논리 연산자까지. 기억하시오, 프로그래밍은 실습이 전부입니다. 따라서, 이 개념들을 실험해보세요. 값을 변경해보고, 조건을 다른 방법으로 조합해보세요, 그리고 어떤 일이 일어나는지 확인해보세요.

마무리하며, 위대한 컴퓨터 과학자艾伦·凯이의 말을 떠올립니다: "당신이 배울 수 있는 가장 재앙적인 것은 첫 번째 프로그래밍 언어입니다." 하지만 걱정 마세요! if 문을 마스터하면 C와 그 이상을 습득하는 길에 너무나도 가까워졌습니다. 즐겁게 코딩하시고, 여러분의 조건이 항상 참이 되기를 바랍니다!

Credits: Image by storyset