티스토리 뷰

이제 if문에 익숙해지셨나요?

이번엔 조건을 여러 번 비교할 때 쓰는 다중 if문을 배워 보도록 하겠습니다

 

만약 놀이 공원의 입장료가 미취학 아동과 65세 이상인 분들 에게는 1000원 일반인 에게는 2000원을 받는 다 고하고 코딩을 해봅시다

 

이걸 코딩으로 구현해 봅시다

 

#include <stdio.h>
int main() {
  int a=0;
  scanf("%d",&a);
  if(a<8){
    printf("1000원");
  }
  else if(a>64){
    printf("1000원");
  } 
  else{
    printf("2000원");
  }
  return 0;
}

많은 분들이 이런 방식으로 코딩을 했을 겁니다

 

하지만 이거보다 좀 더 간결하게 짤 수 있는 법이 존재하는데요

#include <stdio.h>
int main() {
  int a=0;
  scanf("%d",&a);
  if(a<8||a>64){
    printf("1000원");
  }else{
    printf("2000원");
  }
  return 0;
}

바로 ||(or연산자)를 사용하는 것입니다

뜻은 a <8과 a>64 둘 중의 하나만 참 이어도 if문은 참이 됩니다

즉 조건 2개 중 하나만 참 이어도 참이 되는 방식이죠

 

 

 

그럼 이번엔 필기 점수가 50점 이상 실기 점수가 60점 이상일 때 통과하도록 하는 프로그램을 코딩해 봅시다

 

 

#include <stdio.h>
int main() {
  int a=0;
  int b=0;
  scanf("%d",&a);
   scanf("%d",&b);
  if(a>=50){
    if(b>=60){
      printf("통과");
    }else{
      printf("불통과");
    }
  }else{
    printf("불통과");
  }
  return 0;
}

이것도 이런 방법으로 코딩을 할 수 있는데요

하지만 더 간단한 방법이 있습니다 이번엔 &&연산자인데요

이건 둘의 조건이 둘 다 참일 때 if문이 참이 되게 하는 방법입니다

 

#include <stdio.h>
int main() {
  int a=0;
  int b=0;
  scanf("%d",&a);
  scanf("%d",&b);
  if(a>=50&&a>60){
    printf("통과");
  }else{
    printf("불통과");
  }
  return 0;
}

&&(and 연산자)를 이용하여 코딩을 하시면 a가 50 이상일 때 와 b가 60 이상일 때 if문이 참이 되고 둘 중 하나만 거짓이어도 거짓됨으로 아까 전의 코드에 비해 매우 간결해진 것을 볼 수 있습니다

 

or은 또는 이라는 의미를 가지고 있습니다

즉 a 또는 b 가 참이면 참이 되는 연산자입니다

 

그의 반대로 and는 그리고 입니다

a 그리고 b모두가 참일 때 if문은 참이 됩니다 

이해가 잘 안 가신다면 or연산자는 합집합의 개념과 and연산자는 교집합의 개념을 떠올리시면 될 거 같네요.

첨음에는 불편하실 수 도 있지만 많이 연습하시면 매우 편하게 코드를 짤 수 있습니다

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함