상세 컨텐츠

본문 제목

c언어 조건문에 대해 개념과 사용방법

카테고리 없음

by 헬로제이콥 2024. 8. 19. 21:52

본문

C언어 조건문: 프로그램의 흐름을 제어하는 마법사

 

C언어에서 조건문은 프로그램의 흐름을 특정 조건에 따라 바꾸는 데 사용됩니다.

인생에서 오른쪽이나 왼쪽이냐를 2가지 선택을 해야할때, 마치 일상생활에서 "만약 비가 오면 우산을 쓴다"와 같이, 프로그램에서도 어떤 조건이 만족될 때 특정 코드를 실행하고, 그렇지 않을 때 다른 코드를 실행할 수 있도록 합니다.

조건문의 종류

  • if 문: 가장 기본적인 조건문으로, 주어진 조건이 참일 때만 특정 코드를 실행합니다.
  • if-else 문: if 문의 조건이 거짓일 때 실행할 코드를 추가적으로 지정할 수 있습니다.
  • switch-case 문: 여러 가지 경우를 비교하여 실행할 코드를 선택할 때 사용합니다.

 

왜 조건문을 사용해야 할까요?

  • 다양한 경우의 수 처리: 프로그램의 실행 흐름을 조건에 따라 달리하여 복잡한 문제를 해결할 수 있습니다.
  • 사용자 입력에 따른 동작 변경: 사용자의 입력값에 따라 프로그램의 동작을 변경할 수 있습니다.
  • 오류 처리: 예상치 못한 상황이 발생했을 때 적절한 처리를 할 수 있습니다.

 

조건문의 예시

if 문
#include <stdio.h>

int main() {
    int age = 20;

    if (age >= 18) {
        printf("성인입니다.\n");
    }

    return 0;
}

age 변수의 값이 18 이상일 때 "성인입니다."라는 메시지를 출력합니다.

if-else 문

C
#include <stdio.h>

int main() {
    int num = 10;

    if (num % 2 == 0) {
        printf("짝수입니다.\n");
    } else {
        printf("홀수입니다.\n");
    }

    return 0;
}
num 변수가 짝수일 때 "짝수입니다.", 홀수일 때 "홀수입니다."라는 메시지를 출력합니다.

 

실전문제 : 학생의 점수를 입력받아 등급을 판별하는 프로그램

C
#include <stdio.h>

int main() {
    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 {
        printf("D 학점 입니다.\n");
    }

    return 0;
}
 

else if 문의 활용:

  • 다양한 경우의 수 처리: 여러 가지 경우의 수를 효과적으로 처리할 수 있습니다.
  • 코드 가독성 향상: 조건문의 흐름을 명확하게 나타내어 코드를 이해하기 쉽게 만들 수 있습니다.

주의할 점:

  • 조건 순서: 조건은 일반적으로 특정한 순서를 가지며, 위에서부터 아래로 순차적으로 검사됩니다.
  • 중복된 조건: 서로 중복되는 조건을 피해야 합니다.
  • else 절: 모든 조건에 해당하지 않을 경우 실행되는 부분으로, 생략할 수도 있습니다.

 

switch-case 문

C
#include <stdio.h>

int main() {
    char grade = 'A';

    switch (grade) {
        case 'A':
            printf("수");
            break;
        case 'B':
            printf("우");
            break;
        case 'C':
            printf("미");
            break;
        default:
            printf("F");
    }

    return 0;
}

grade 변수의 값에 따라 다른 문자를 출력합니다. default는 위의 모든 조건에 해당하지 않을 때 실행되는 부분입니다.

 

 

실전연습문제

C언어 스위치 문을 이용한 메뉴 만들기 예제

C
#include <stdio.h>

int main() {
    int menu;

    while (1) {
        printf("메뉴를 선택하세요:\n");
        printf("1. 짜장면\n");
        printf("2. 짬뽕\n");
        printf("3. 탕수육\n");
        printf("4. 종료\n");

        scanf("%d", &menu);

        switch (menu) {
            case 1:
                printf("짜장면을 주문하셨습니다.\n");
                break;
            case 2:
                printf("짬뽕을 주문하셨습니다.\n");
                break;
            case 3:
                printf("탕수육을 주문하셨습니다.\n");
                break;
            case 4:
                printf("프로그램을 종료합니다.\n");
                return 0; // 프로그램 종료
            default:
                printf("잘못된 메뉴 번호입니다.\n");
        }
    }

    return 0;
}
 
 

코드 작동 방식

  1. 프로그램이 시작되면 메뉴가 출력됩니다.
  2. 사용자가 메뉴 번호를 입력하면 switch 문에서 해당 case 문이 실행됩니다.
  3. 선택한 메뉴에 대한 메시지가 출력되거나, 잘못된 메뉴 번호일 경우 오류 메시지가 출력됩니다.
  4. 메뉴 4를 선택하면 프로그램이 종료됩니다.

 

 설명

  • while(1): 무한 루프를 만들어 사용자가 원하는 만큼 메뉴를 선택할 수 있도록 합니다.
  • break: 각 case 문의 끝에 break를 사용하여 해당 case 문을 빠져나갑니다.
  • default: 어떤 case에도 해당하지 않을 때 실행되는 부분입니다.
  • return 0: 프로그램을 정상적으로 종료합니다.