C - 조건문 if-else

안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 기본적인 개념 중 하나에 대해 배우겠습니다: if-else 문입니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 이 여정을 안내해 드리게 되어 기쁩니다. 그러니 마음에 드는 음료를 마시며 편안하게座して, 이 코딩 모험을 함께 떠나보겠습니다!

C - if...else statement

if-else 문이란?

구체적인 내용에 들어가기 전에, 실생활의 비유로 시작해 보겠습니다. 상상해 보세요,十字路에 서 있다고요. 특정 조건에 따라 어떤 길을 선택해야 합니다. 날씨가 좋다면 아름다운 길을 선택하고, 그렇지 않다면 짧은 길을 선택합니다. 이러한 결정 과정이 바로 프로그래밍에서 if-else 문이 하는 일입니다!

if-else 문은 프로그램이 특정 조건에 따라 결정을 내릴 수 있도록 합니다. 코드에 뇌를 주는 것과 같습니다.

if-else 문의 문법

이제 C에서 if-else 문을 어떻게 작성하는지 살펴보겠습니다. 처음에는 조금 이상하게 보일 수 있지만, 단계별로 설명하겠으니 걱정 마세요!

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

이 문법을 분해해 보겠습니다:

  1. if 키워드가 문을 시작합니다.
  2. condition은 괄호 () 안에 놓여 있습니다. 이는 우리가 확인하고자 하는 것입니다.
  3. 조건이 참이면, 첫 번째 괄호 {} 안의 코드가 실행됩니다.
  4. 조건이 거짓이면, else 키워드 뒤에 있는 코드(자신의 괄호 안에)가 실행됩니다.

if-else 문의 흐름도

if-else 문의 작동 방식을 시각적으로 이해하기 위해 흐름도를 살펴보겠습니다:

+-------------+
|   Start     |
+-------------+
|
v
+-------------+
| Condition   |
|   Check     |
+-------------+
|
+---+---+
/         \
Yes /           \ No
/             \
v               v
+-------------+ +-------------+
|  Execute    | |  Execute    |
| 'if' block  | | 'else' block|
+-------------+ +-------------+
|               |
|               |
+-------+-------+
|
v
+-------------+
|    End      |
+-------------+

이 흐름도는 프로그램이 조건이 참인지 거짓인지에 따라 어떤 코드 블록을 실행할지 결정하는 과정을 보여줍니다.

C if-else 문 예제

이제 if-else 문이 어떻게 작동하는지 몇 가지 실践적인 예제를 통해 살펴보겠습니다!

예제 1: 숫자가 양수인지 음수인지 확인하기

#include <stdio.h>

int main() {
int number = 10;

if (number > 0) {
printf("The number is positive.\n");
} else {
printf("The number is non-positive.\n");
}

return 0;
}

이 예제에서:

  • number 변수가 10의 값을 가집니다.
  • 조건 number > 0은 숫자가 0보다 큰지 확인합니다.
  • 10은 실제로 0보다 크므로, 조건이 참입니다.
  • 따라서 프로그램은 "The number is positive."를 인쇄합니다.

number의 값을 -5로 변경해 보겠습니다:

int number = -5;

이제 조건 number > 0은 거짓이므로, 프로그램은 "The number is non-positive."를 인쇄합니다.

예제 2: 사람이投票資格이 있는지 확인하기

#include <stdio.h>

int main() {
int age;

printf("Enter your age: ");
scanf("%d", &age);

if (age >= 18) {
printf("You are eligible to vote!\n");
} else {
printf("Sorry, you are not eligible to vote yet.\n");
}

return 0;
}

이 프로그램은:

  1. 사용자에게 나이를 입력하도록 요청합니다.
  2. 나이가 18이상인지 확인합니다.
  3. 참이면, 사용자에게投票資格이 있다고 알립니다.
  4. 거짓이면, 사용자에게 아직投票資格이 없다고 알립니다.

다양한 나이로 이 프로그램을 실행해 보세요!

else-if 문

occasionally, we need to check multiple conditions. This is where the else if statement comes in handy. It's like adding more crossroads to our initial analogy.

Here's the syntax:

if (condition1) {
// Code to execute if condition1 is true
} else if (condition2) {
// Code to execute if condition1 is false and condition2 is true
} else if (condition3) {
// Code to execute if condition1 and condition2 are false, and condition3 is true
} else {
// Code to execute if all conditions are false
}

Let's see an example:

#include <stdio.h>

int main() {
int score;

printf("Enter your score: ");
scanf("%d", &score);

if (score >= 90) {
printf("Grade: A\n");
} else if (score >= 80) {
printf("Grade: B\n");
} else if (score >= 70) {
printf("Grade: C\n");
} else if (score >= 60) {
printf("Grade: D\n");
} else {
printf("Grade: F\n");
}

return 0;
}

This program assigns a grade based on the score entered:

  • 90 or above: A
  • 80-89: B
  • 70-79: C
  • 60-69: D
  • Below 60: F

Try running this program with different scores and see what grade you get!

Conclusion

Congratulations! You've just learned about one of the most powerful tools in a programmer's toolkit: the if-else statement. With this knowledge, your programs can now make decisions, just like you do in real life.

Remember, practice makes perfect. Try creating your own programs using if-else statements. Maybe a program that decides what clothes to wear based on the weather, or one that recommends a movie genre based on your mood?

Keep coding, keep exploring, and most importantly, keep having fun! Until next time, happy programming!

Credits: Image by storyset