C

C : 연산자

코딩딩코 2022. 2. 26.

++ 은 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

댓글