반응형
제어문에는 if, switch, for, while, do {}while 등 여러가지가 있는데 여기에서 중요한 것 중에 하나가 조건이다고 생각한다.
조건은 언제가 참이고 언제가 거짓인지 파악하는 것은 중요한 일이다.
그래야 프로그램이 어떻게 실행될지,
의도한대로 동작하는지 알 수 있다.
조건
조건은 참 아니면 거짓 이렇게 2가지로 나뉘게 된다.
입사를 처음 했을 때 사수분께서 내게 문제를 낸 적이 있었다.
참은 무엇이냐? 거짓은 무엇이냐?
이 때 나는 참이 1이라고 생각했고, 거짓은 0이라고 생각했다.
사수분께서는 내게 거짓은 0이 맞지만, 참은 거짓이 아닌 모든 것이 다 참이라고 알려주셨다.
참
참은 0이 아닌 경우를 참이라고 한다.
boolean을 알고 있다면 보통 #define으로 참을 1로 정의하고 거짓을 0으로 정의하고 있어서 과거의 나처럼 1이라고 답할 수도 있다.
하지만 0이 아닌 모든 값이 다 참이다.
거짓
거짓은 간단하다. 0일 경우만 거짓이다.
예시
아래는 간단한 예시이다.
3 //참
100000 //참
-1 //참
1 == 1 //참
1 != 1 //거짓
0 //거짓
!(100000000) //거짓
조금 헷갈릴 수 있는 부분이 마지막일 것 같다.
코딩을 하다 보면 "!(100000000)"과 같은 코드를 보면 헷갈린다.
직관적이지 않다고 해야 하나... 간단한데 가끔 혼동이 된다.
개인적으로는 "100000000 == 0" 으로 표현하는 것을 선호한다.
선호에 따라서 더 잘 읽히는 코드를 사용하길 바란다.
반응형
'개발 > C, C++' 카테고리의 다른 글
[c/c++] for문 (2) (1) | 2023.08.16 |
---|---|
[c/c++] for문 (0) | 2023.08.16 |
[c/c++] if 문 (0) | 2023.08.14 |
[c/c++] main 함수 (0) | 2023.08.14 |
[c/c++] 전처리지시자 (0) | 2023.08.10 |