++ 은 1을 더해준다는 의미인데 a라는 변수가 있으면 ++a 와 a++ 가 있는데
둘의 차이점은 언제 증가해주냐에 있습니다.
만약 ++a라고 한다면 즉시증가 즉 a가 1이라는 값을 가지고 있다면 2가 되는 것인데
a++ 은 후증가입니다. 다음 호출할때 증가가 되는 것입니다.
사진을 보시면 이해가 빠르실 겁니다. studentYear++을 하면 아직 1이지만 다음에 호출되어 2가 되는 것입니다.
만약 출력문에서 printf("학년 : %d", studentYear++); 이렇게 하면 다음 호출때 증가라서 1로 출력이 됩니다.
-- 도 있는데 ++과 동일합니다. 하지만 1씩만 증가되고 감소됩니다.
stdbool.h 해더파일을 사용하면 true, false를 사용할 수 있습니다.
자료형은 bool로 사용합니다.
bool b1 에 true
b2 에 false를 대입했습니다.
여기서 삼항 연산자가 나오는데
조건식 ? 값1 : 값2 조건식이 참이면 값1을 거짓이면 값2를 의미합니다.
b1은 true 즉 참이기때문에 참입니다가 출력되는 것이고
b2는 false 즉 거짓이기에 거짓입니다가 출력됩니다.
그리고 숫자로는 0은 거짓을 의미하고 0을 제외한 나머지 숫자들은 전부 참을 의미합니다.
하지만 보통 1을 많이 사용합니다.
10 > 3 은 참이므로 1
10 < 3 거짓 0
== 는 같다라는 의미인데 10과 3은 같지않죠 그러니 거짓 0
!= 는 같지 않다라는 의미입니다 10과 3은 같지않죠 그러니 참 1
b1은 true를 대입했으니 참 1 b2는 false이므로 0
bool을 이용해 따로 결과에 따라 참 또는 거짓의 값을 넣을 수도 있습니다.
하나만 보자면
bool result1 = 10 > 3; 10보다 3이 크죠 그럼 true가 result1에 담기고 출력하면 true가 나옵니다.
논리 연산자는 사진만 보시면 충분히 이해가 가실 겁니다.
not 에서 마지막 것만 말씀드리자면
() 괄호로 묶은것을 먼저 보기때문에 true && false면 둘다 참이여야 참을 의미하는 && 연산자가 있기에
거짓이라는 값이 나오는데 !로 부정을 했죠 그러니 거짓이 아니라 참이 나오게 됩니다.
2 는 0이 아니기때문에 참이죠 값1을 출력
true || true ||는 둘중 하나라도 참이면 참이라서 값1 출력
+= 는 누적연산자라는 것인데 간단합니다.
int score = 10;
score = score + 30;
하면 score라는 변수에 score(10) + 30을 더해서 대입시키라는 건데 score가 두번나오니까 번거롭죠.
그래서 score += 30을 하게 되면 score에 30을 더해서 대입시키라는 의미입니다.
score = score + 30;
score += 30
두개는 완전히 같은 의미입니다.
*=
-=
/=
%=
전부 사용 가능합니다.
'C' 카테고리의 다른 글
C : switch (0) | 2022.02.26 |
---|---|
C : if (0) | 2022.02.26 |
C : 상수와 입력 (0) | 2022.02.26 |
C : 변수의 선언과 출력하기 (0) | 2022.02.26 |
C : 들어가기 앞서서.. (0) | 2022.02.26 |
댓글