1. 증감연산자
전위, 후위 연산자는 한 라인에 여러개 사용하면 안된다
++a: 현재 라인에서 증감
a++: 다음 라인에서 증


2. 참/거짓 연산자



3. 논리 연산자
모든 정수값(1,2,3,4..)은 참이고 0은 거짓이다
&&(모두 참 아님 0), ||(둘중 하나 참이면 참), !(NOT)
4. 형변환 연산자
정수 + 실수 ⇒ 실수 + 실수, (int)10.7 ⇒ 10, (double)10 ⇒ 10.0


5. sizeof
참고로 sizeof 함수 선택 후 F1을 누르면 도큐먼트가 나옴 (https://learn.microsoft.com/ko-kr/cpp/cpp/sizeof-operator?view=msvc-170&devlangs=cpp&f1url=%3FappId%3DDev18IDEF1%26l%3DKO-KR%26k%3Dk(sizeof_CPP)%3Bk(sizeof)%3Bk(DevLang-C%2B%2B)%3Bk(TargetOS-Windows)%26rd%3Dtrue)

6. 복합대입연산자: +=, *= → = 이 무조건 마지막으로 온다
<<= : 왼쪽으로 2비트, >>= 오른쪽으로 2비트
비트 연산자가 곱하기 연산보다 비트 연산이 더 빠르다(a *= 2보다 a <<=2 가 빠르다)

7. 콤마 연산자

8. 삼항연산자
#include <stdio.h>
int main(void) {
int num1 = 15;
int num2 = 8;
int max;
// (num1이 num2보다 크면?) ? (num1을 선택) : (num2를 선택)
max = (num1 > num2) ? num1 : num2;
printf("두 수 중 큰 값: %d\n", max);
return 0;
}
9. 비트연산자
~a 라는 연산이 이해가 안돼서 한번 물어봤다
질문
원본
00000000 00000000 00000000 00101100
구하는 과정:
- 11111111 11111111 11111111 11010011 (반전시킨다)
- 00000000 00000000 00000000 00101100 (둘이 더해준다)
- 11111111 11111111 11111111 11111111 (더해준 값)
- 1+2 = 3 즉, 44 + ??(2번) 은 -1이 되니까 ?? 가 -45가 되는건지?
답변
네! 정확히 이해하셨습니다! 🎉
✅ 수학적으로 보면:
text
44 + X = -1
X = -1 - 44
X = -45
그리고 X가 바로 ~44입니다!
🔍 비트 단위로 확인:
text
00000000 00000000 00000000 00101100 (44)
+ 11111111 11111111 11111111 11010011 (??)
---------------------------------------
11111111 11111111 11111111 11111111 (-1)
각 비트별로 보면:
- 0 + 1 = 1
- 1 + 0 = 1
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 0 = 1
- 0 + 1 = 1
모든 자리에서 합이 1이 되니까 결과가 111...111(-1)이 나오는 거예요!
🎯 결론:
~44 = -45가 맞습니다!
이것이 NOT 연산의 핵심 성질이에요:
text
n + (~n) = -1
~n = -n - 1
지금 완전히 이해하신 거 맞아요! 😊
실질적인 코드
#include <stdio.h>
int main(void) { int a = 10; // 이진수: 00000000 00000000 00000000 00001010 int b = 12; // 이진수: 00000000 00000000 00000000 00001100
printf("a & b : %d\\n", a & b); // AND 연산
printf("a ^ b : %d\\n", a ^ b); // XOR 연산
printf("a | b : %d\\n", a | b); // OR 연산
printf("~a : %d\\n", ~a); // NOT 연산
printf("a << 1 : %d\\n", a << 1); // 왼쪽 시프트
printf("a >> 2 : %d\\n", a >> 2); // 오른쪽 시프트
return 0;
}
10. 연산자 우선순위


11. if 조건문





'c' 카테고리의 다른 글
| 반복문 (while, for) (0) | 2025.11.03 |
|---|---|
| c 언어 (0) | 2025.11.02 |
| c 언어 - 변수와 상수 (0) | 2025.10.29 |
| visual studio 설치 및 기본적인 c 테스트 (0) | 2025.10.28 |
| wsl, msys2 설치 (0) | 2025.10.28 |