새소식

👩‍💻 C

C 언어 - 조건문 (if , else, switch ) , break

  • -

조건문은 어떠한 조건을 충족할때 실행되는 구문이다.

 

 

*IF문

if문은 내부의 조건을 검사해, 진행 경로를 결정한다. 조건의 개수가 적을때 사용하는것이 유리하다. (조건이 많으면 switch문이 좋다.)

구조

if (조건1){

    조건1을 만족하면 실행되는 구문}

else if (조건2){

    조건2을 만족하면 실행되는 구문}

else{

    조건1, 조건2를 만족하지 않을시 실행되는 구문}

  • 실행문이 한개라면, 중괄호는 쓰지 않아도 된다.
  • else if는 여러개 사용해도 되지만, if와 else는 하나만 존재해야 한다.
  • else문를 쓰지 않고, if문만, 또는 if문과 if else문만 사용 해도된다..

 

 

if문 예제
#include <stdio.h>
int main(void) {
    int score ;
    printf("수학 점수를 입력하세요.");
    scanf("%d",&score);
    if (score > 80){
        printf("A");
    }
    else if (score>60){
        printf("B");
    }
    else{
        printf("C");
  

 

 

*switch문

 

조건이 다양하게 존재할때, (갯수가 많을때) 유리한 조건문이다. 짧은 코드로 여러가지 조건을 다룰 수 있다.

구조

switch(확인타겟){
    case 값1:     값 1을 만족할때 실행되는 구문
    case 값2:     값 2를 만족할때 실행되는 구문
    default:     어떠한 CASE에도 해당되지 않을때 실행됨. else와 비슷  ( default 는 생략 해도 된다.)
}


## 중요한점은 case 1을 만족하면 그 아래로 쭈욱 전부 실행되므로 break문을 넣어야한다.

switch에서 판별할 변수는, 정수 자료형만 사용 가능하다. (int와 char) , 

실수자료형 (float, double 등)은 사용 불가능!

    #include <stdio.h>
    int main(void){
        printf("학점을 입력하세요");
        char grade;
        scanf("%c", &grade);
        switch (grade){
            case 'A' :
                printf("very good!"); break;
            case 'B' :
                printf("nice!"); break;
            case 'C' :
                printf("cheer up!"); break;
            default :
                printf("유감입니다."); break;
        }
        return 0;
    }
#include <stdio.h>
int main(){
    int n;
    printf("몇월입니까?");
    scanf("%d",&n);

    switch(n){
        case 3:
        case 4:
        case 5: printf("%d월은 봄이네요",n); break;
        case 6:
        case 7:
        case 8: printf("%d월은 여름이네요",n); break;
        case 9:
        case 10:
        case 11: printf("%d월은 가을이네요",n); break;
        case 12:
        case 1:
        case 2: printf("%d월은 겨울이네요",n); break;

        default:printf("잘못된 값을 입력했습니다.");
        }

}

만족하는 case 의 명령어부터 밑으로 쭈욱 실행되므로, 3, 4 에는 써주지 않아도 된다. 어차피 5에서 만나서 "봄이네요"를 출력하고 break를 만나기 때문에

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.