사이먼's 코딩노트

[C언어] 연산자 / 조건문(if, else if, else) 본문

C언어

[C언어] 연산자 / 조건문(if, else if, else)

simonpark817 2024. 1. 19. 18:58

[연산자]

[사칙연산]

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기

 

[논리연산]

  • == : 같다
  • != : 다르다
  • > : 크다(초과)
  • < : 작다(미만)
  • >= : 크거나 같다(이상)
  • <= : 작거나 같다(이하)
  • && : 그리고(and)
  • || : 또는(or)

 

[연산자 우선순위]

  • 우선순위가 높은 것이 먼저 실행된다.
  • 사칙연산자가 논리연산자보다 우선순위가 높다.
  • 곱하기와 나누기는 다른 사칙연산자 보다 우선순위가 높다.
  • &&와 ||는 다른 논리 연산자보다 우선순위가 낮다.
  • 앞에 있는 것이 먼저 실행된다.

 

[증감 연산자]

  • i++; 는 i의 값을 1 증가시킨다.
  • i--; 는 i의 값을 1 감소시킨다.
  • i = i + 2; 는 i의 값을 2 증가시킨다.
  • i += 2; 는 i의 값을 2 증가시킨다. (위와 같은 표현)
  • i = i - 2; 는 i의 값을 2 감소시킨다.
  • i -= 2; 는 i의 값을 2 감소시킨다. (위와 같은 표현)

 

[조건문]

  • C언어에서는 1/0으로 참/거짓을 분별한다.
  • 조건문의 기본 구조 및 예시는 아래와 같다.
#include <stdio.h>
int main(void) {

    int age = 10;
    
    if(age < 20) {
        printf("미성년입니다.");
    }
    
    return 0;
}
  • 기본 구조 if()에서 ( ) 괄호 안에 조건을 써놓고 조건이 참일 때 { } 안에 작성한 문법들이 동작한다.
  • 위 예시에서는 age라는 변수에 10을 넣고 조건문을 통해 미성년인지 아닌지를 판별할 수 있다.
  • 만약 age가 20이라는 숫자 미만이면 "미성년입니다."라는 출력문을 출력하게 된다.

 

#include <stdio.h>
int main(void) {

    int age = 30;
    
    if(age < 20) {
        printf("미성년입니다.");
    }
    else if (age >= 20) {
        prinf("성인입니다.");
    }

    return 0;
}
  • if를 하나씩 쓰게되면 프로그램 상 위에서 아래로 내려가면서 전부 체크를 하게 되어있다.
  • 프로그램의 효율성이나 실행 속도를 빠르게하기 위해서는 상황에 맞춰 조건문을 하나로 묶어주는 것이 좋다.
  • 하나로 묶는다는 의미는 최초 작성한 조건문 if 아래에 else if를 작성하는 것이다.
  • 정해진 조건 중에 if나 else if에 참이 없을 경우, 가장 마지막에 예외를 막기위한 else 조건문을 작성한다.
  • else는 조건부를 작성하지 않아도 된다.
  • if문 안에 if문을 작성하는 것도 가능하다.

 

#include <stdio.h>
int main(void) {

    int age = 9;

    if(age <= 10 || age >= 60) {
        printf("마트 할인 대상입니다.");
    }
    else {
        printf("할인 대상자가 아닙니다.");
    }

    return 0;
}
  • 연산자 중 &&는 and(그리고)의 의미로 조건이 모두 만족해야 동작한다.
  • 연산자 중 ||는 or(~이거나)의 의미로 조건이 하나라도 만족하면 동작한다.
  • 아래는 10살 이하 또는 60살 이상이면 마트의 할인 대상이다라는 조건문을 작성한 예시이다.
반응형

'C언어' 카테고리의 다른 글

[C언어] 함수 문제풀이(1)  (0) 2024.01.24
[C언어] 함수  (1) 2024.01.23
[C언어] 반복문(for, while)  (0) 2024.01.19
[C언어] 변수  (0) 2024.01.17
[C언어] C언어 기본구조 / printf  (0) 2024.01.16