728x90
반응형
C 언어의 연산자
C 언어는 효율적이고 강력한 프로그래밍 언어로, 다양한 연산자를 제공하여 프로그래머가 논리적이고 수학적인 작업을 수행할 수 있게 해줍니다. 이번 글에서는 C 언어의 다양한 연산자를 다루고, 각 연산자의 사용법과 예제를 통해 이해를 돕고자 합니다.
1. 연산자란 무엇인가?
연산자는 변수와 상수에 대해 특정 작업을 수행하는 기호나 키워드를 의미합니다. 예를 들어, +
는 덧셈을 수행하고, =
는 값을 할당하는 역할을 합니다.
C 언어의 연산자는 크게 다음과 같은 카테고리로 분류됩니다:
- 산술 연산자
- 할당 연산자
- 증감 연산자
- 관계 연산자
- 논리 연산자
- 비트 연산자
- 조건부 연산자
- 기타 연산자
2. 산술 연산자
산술 연산자는 기본적인 수학적 계산을 수행하는 연산자입니다.
연산자 | 설명 | 예제 |
---|---|---|
+ |
덧셈 | a + b |
- |
뺄셈 | a - b |
* |
곱셈 | a * b |
/ |
나눗셈 | a / b |
% |
나머지 | a % b |
예제 코드
#include <stdio.h>
int main() {
int a = 10, b = 3;
printf("a + b = %d\n", a + b);
printf("a - b = %d\n", a - b);
printf("a * b = %d\n", a * b);
printf("a / b = %d\n", a / b);
printf("a %% b = %d\n", a % b);
return 0;
}
3. 할당 연산자
할당 연산자는 변수에 값을 할당하거나 연산 후 값을 다시 할당합니다.
연산자 | 설명 | 예제 |
---|---|---|
= |
단순 할당 | a = b |
+= |
덧셈 후 할당 | a += b |
-= |
뺄셈 후 할당 | a -= b |
*= |
곱셈 후 할당 | a *= b |
/= |
나눗셈 후 할당 | a /= b |
%= |
나머지 연산 후 할당 | a %= b |
예제 코드
#include <stdio.h>
int main() {
int a = 10;
a += 5; // a = a + 5
printf("a += 5: %d\n", a);
a -= 2; // a = a - 2
printf("a -= 2: %d\n", a);
return 0;
}
4. 증감 연산자
증감 연산자는 변수의 값을 1씩 증가하거나 감소시킵니다.
연산자 | 설명 | 예제 |
---|---|---|
++ |
1 증가 | ++a , a++ |
-- |
1 감소 | --a , a-- |
예제 코드
#include <stdio.h>
int main() {
int a = 5;
printf("++a: %d\n", ++a); // 전위 증가
printf("a++: %d\n", a++); // 후위 증가
printf("현재 a: %d\n", a);
return 0;
}
5. 관계 연산자
관계 연산자는 두 값 간의 비교를 수행하고, 결과를 참(1
) 또는 거짓(0
)으로 반환합니다.
연산자 | 설명 | 예제 |
---|---|---|
== |
같음 | a == b |
!= |
같지 않음 | a != b |
< |
작음 | a < b |
> |
큼 | a > b |
<= |
작거나 같음 | a <= b |
>= |
크거나 같음 | a >= b |
예제 코드
#include <stdio.h>
int main() {
int a = 10, b = 20;
printf("a == b: %d\n", a == b);
printf("a != b: %d\n", a != b);
printf("a < b: %d\n", a < b);
return 0;
}
6. 논리 연산자
논리 연산자는 논리적 참과 거짓을 판단합니다.
연산자 | 설명 | 예제 |
---|---|---|
&& |
논리 AND | a && b |
|| |
논리 OR | a || b |
! |
논리 NOT | !a |
예제 코드
#include <stdio.h>
int main() {
int a = 1, b = 0;
printf("a && b: %d\n", a && b);
printf("a || b: %d\n", a || b);
printf("!a: %d\n", !a);
return 0;
}
7. 비트 연산자
비트 연산자는 데이터의 비트 단위로 작업합니다.
연산자 | 설명 | 예제 |
---|---|---|
& |
비트 AND | a & b |
| |
비트 OR | a | b |
^ |
비트 XOR | a ^ b |
~ |
비트 NOT | ~a |
<< |
비트 왼쪽 시프트 | a << 2 |
>> |
비트 오른쪽 시프트 | a >> 2 |
예제 코드
#include <stdio.h>
int main() {
int a = 5; // 0101
int b = 3; // 0011
printf("a & b: %d\n", a & b); // AND 연산
printf("a | b: %d\n", a | b); // OR 연산
printf("a ^ b: %d\n", a ^ b); // XOR 연산
printf("~a: %d\n", ~a); // NOT 연산
return 0;
}
8. 조건부 연산자
조건부 연산자는 삼항 연산자로도 불리며, 조건에 따라 값을 반환합니다.
연산자 | 설명 | 예제 |
---|---|---|
? : |
조건 ? 참일 때 값 : 거짓일 때 값 | a > b ? a : b |
예제 코드
#include <stdio.h>
int main() {
int a = 10, b = 20;
int max = (a > b) ? a : b;
printf("더 큰 값: %d\n", max);
return 0;
}
9. 기타 연산자
C 언어에는 다음과 같은 특별한 연산자도 존재합니다:
연산자 | 설명 | 예제 |
---|---|---|
sizeof |
데이터 타입 또는 변수의 크기 | sizeof(int) |
& |
주소 연산자 | &a |
* |
포인터 연산자 | *ptr |
예제 코드
#include <stdio.h>
int main() {
int a = 10;
printf("int 크기: %lu bytes\n", sizeof(int));
printf("a의 주소: %p\n", &a);
return 0;
}
마무리
이번 글에서는 C 언어의 다양한 연산자를 소개하고, 각각의 예제를 통해 실습해 보았습니다. C 언어의 연산자를 잘 활용하면 복잡한 작업도 간단하고 효율적으로 처리할 수 있습니다.
728x90
반응형
'c 언어 > c 언어 문법' 카테고리의 다른 글
C 언어 배열과 문자열 (0) | 2024.12.13 |
---|---|
C 언어 조건문과 반복문 (0) | 2024.12.13 |
C 프로그램 입/출력 및 파일 입출력 (0) | 2024.12.12 |
C 언어 데이터 타입과 변수 (0) | 2024.12.12 |
C 프로그램 기본 구조와 `main` 함수 (0) | 2024.12.12 |