(CS50)-프로그래밍 기초(논리표현과 조건문)

CS50 x edwith 강의를 들으며 정리한 공부 포스팅입니다.

그림출처

핵심 개념

  • 조건
  • 부울 연산식
  • if 문
  • switch 문

부울 연산자

부울 연산자

  • 참(true)과 거짓(false)을 판단하는 부울 연산식을 만드는데 사용된다.
    • < (더 작다), > (더 크다), == (같다), <= (작거나 같다), >=(크거나 같다), != (같지 않다)
    • 1행 - 3 > 5가 참이기 때문에(3이 5보다 작아서) a의 값은 참.
    • 2행 - 2 >= 8이 참이 아니기 때문에 b의 값은 거짓
    • 3행 - &&연산자는 ‘AND’의 의미로 둘다 참일 때만 참의 값을 가짐
    • 4행 - ||연산자는 ‘OR’의 의미로 둘 중 하나만 참이어도 참의 값을 가짐
    • = 기호가 하나만 쓰이는 것은 할당 연산자. 같다의 의미인 부울연산자는 == 기호 두개

조건문

조건분기

  • 조건분기 - 다른 상황에 따라 다른 코드가 실행되어야 한다는 개념
    • 가장 흔히 쓰이는 조건이 if 문
    • 위 코드 블록(2행~4행까지)은 오직 소괄호(1행)에 쓰여진 조건이 참일 때만 실행
  • 선택적으로 else 블록을 쓸 수 있는데 if 조건이 거짓일 때 코드가 실행
  • C에서는 한 개 이상의 else if문을 쓸 수 있음
    • 1행 - x값이 0보다 크면 3행처럼 “positive\n”을 출력
    • 5행 - x값이 0보다 작으면 7행처럼 “negative\n”을 출력
    • 9행 - x값이 0이면 11행처럼 “zero\n”을 출력

switch문

switch문

  • 조건식의 결과값에 따라 매칭되는 case의 코드를 실행
    • 만약 (3행)x가 1이면 “A\n”을 출력후 break에 의해 switch문을 빠져나옴
    • (6행)x가 2이면 “B\n”을 출력후 빠져나옴
    • (9행)그 외의 경우(default의 경우)에는 “C\n”이 출력된 후 switch문을 빠져나옴

3항 연산자

int y = (x>3)?2:1;
  • 식이 참이면 :기호 왼편의 값으로 계산되고 거짓이면 오른편의 값으로 계산 됨
    • 만약 x > 3이 참이면 y는 2가 되고, 그렇지 않으면 1이 됨.

Comments