C++

[강의] 8월 22일 수업정리

k-codestudy 2024. 8. 22. 20:05

오늘은 조건문에 대한 수업을 들었다.

1. if문의 구성과 구현

먼저 짚고 넘어가야 할 부분, if문은 구성 -> 구현으로 이루어진다.

구성은 조건을 분류하는 단계이며, 구현은 그 조건에 따라 동작을 정의하는 단계이므로 이 두 가지를 명확히 구분하는 것이 중요하다.

else -> 구성이 되는 거고 and, or -> 구현이라는 느낌이다.

 

무언가를 정교하게 만들 때는 구조적으로 값을 나눈 다음에 그 후 하나의 값을 정교하게 만드는 게 좋다.

즉, 구성을 먼저 해서 분류체계를 만들고 그 이후 얼마나 자세하게 구현이 들어가야 하는 것이다.

 

1.1 else문

우리는 else문을 어떻게 이해를 하였는가? 

예시를 하나 들어보자 

int nData{};

scanf_s("%d", &nData);

if(nData < 10)
	printf("참\n");
else
	printf("거짓\n");

nData가 10 미만일 때 참이 나오고 아니면 거짓이 나오는 간단한 코드이다.

보통 else문을 생각할 때는 위에 값이 참이고 아래값이 거짓이라고 보통 많이 생각을 할 것이다.

하지만 else문이 기본값, 즉 걸러낼 것을 걸러내고 걸러내고 포함이 되지 않은 것들의 나머지,

if문의 주어진 조건을 가지고 걸래 내는 필터 역할인 것이다.  (else문은 if문에 들어가 있는 조건문으로 걸래내고 나온 나머지)

또 아래 else가 들어간다면 또 걸러지고 나오는 나머지 값 이런 식의 개념인 것이다.

 

1.2 AND, OR 연산자

  • AND 연산자 (&&): 두 조건이 모두 참일 때만 참
  • OR 연산자 (||): 하나라도 참이면 참
int nData{};

nData = 8;

// AND문
if (nData > 5 && nData < 10)
	printf("참\n");

// OR문
if (nData < 5 || nData == 8)
	printf("참\n");

nData의 값에 8을 넣었을 때

위 코드에서 nData가 8일 때, AND문은 두 조건을 모두 만족하므로 참이 출력됩니다. OR문은 하나의 조건만 참이므로 역시 참이 출력됩니다.

 

1.3 AND, OR의 주의점

조건문을 사용할 경우 이상하게 만드는 케이스가 있는데 이점 주의하자

 

and와 or는 교환법칙이 성립할까?

AND와 OR 연산자는 교환법칙이 성립하지 않는다.

특히, 조건의 순서에 따라 프로그램의 동작이 달라질 수도 있다.

 

 

 

AND 연산자 (&&), OR 연산자 (||) : 왼쪽 피연산자가 false인 경우, 오른쪽 피연산자를 평가하지 않고 바로 false를 반환.

왜냐하면 AND 연산에서는 하나라도 false이면 전체 결과가 false가 되기 때문이다.

OR 연산자 또한 왼쪽 피연산자가 false인 경우, 오른쪽 피연산자를 평가하지 않고 바로 false를 반환하기 때문에 true가 나올 수 있음에도 false가 나오기 때문이다.

 

1.4 단축키

  • Ctrl + K + F : 코드 자동 정렬

'C++' 카테고리의 다른 글

[강의] 8월 27일 수업정리  (0) 2024.08.27
[강의] 8월 23일 수업정리  (1) 2024.08.23
[강의] 8월 21일 수업정리  (0) 2024.08.21
[강의] 8월 20일 수업정리  (0) 2024.08.20
[강의] 8월 19일 수업정리  (0) 2024.08.19