[C] C언어의 함수와 변수 포스팅에서 언급했던 대입 연산자처럼 C언어에서는 여러 가지 연산자들을 사용합니다.
연산자의 종류는 아래 표와 같습니다.
구분 | 연산자 |
대입 연산자 | = |
산술 연산자 | +, -, *, /, %, ++, -- |
관계 연산자 | <, >, <=, >=, ==, != |
논리 연산자 | &&, ||, ! |
할당 연산자 | +=, -=, *=, /=, %= ... |
삼항 연산자 | ? |
비트 연산자 | &, |, ~, ^, <<, >> |
이 중 산술연산자에 대해 알아보겠습니다.
+ : 더하기
- : 빼기
* : 곱하기
/ : 나누기
% : 나머지
++ : 1씩 증가
-- : 1씩 감소
printf("%d + %d은(는) %d입니다.", 1, 3, 1 + 3); 처럼 사용할 수도 있지만,
아래의 예시처럼 산술 연산자는 숫자 뿐 아니라 변수의 값을 더할 수 있습니다.
정수형 변수 A를 5로 초기화, B를 3으로 초기화한 후 변수 C에는 A + B의 값을 대입하였습니다.
다른 산술 연산자도 위와 같이 동작합니다.
A = 6 - 3 : 6 - 3의 결과를 A에 대입.
B = 6 * 3 : 6 * 3의 결과를 B에 대입.
C = 6 / 3 : 6 / 3의 결과를 C에 대입. (몫을 반환합니다.)
D = 6 % 3 : 6 % 3의 결과를 D에 대입. (나머지를 반환합니다.)
하지만 증감 연산자 ++와 --는 위치에 따라 결과가 달라집니다.
++ (--)가 앞에 붙으면 전위 (ex. ++a : 전위)
++ (--)가 뒤에 붙으면 후위라고 합니다. (ex. b++ : 후위)
실습으로 차이점을 알아보겠습니다.
아래 예시에서는 전위 증가 A, 후위 증가 B의 결과가 같습니다.
하지만, 아래처럼 대입 연산자를 사용하여 전위 증가 A의 값을 C에, 후위 증가 B의 값을 D에 대입하여 출력해보면 결과가 다릅니다.
이유는 전위식은 증가한 값 자체를 대입하고, 후위식은 대입한 후 값이 증가하기 때문입니다.
C = ++A; 는 ++A의 값인 1이 C에 대입되어 결국 C는 1입니다.
D = B++; 는 B의 값이 먼저 D에 대입된 후 B의 값이 증가하여 결국 D의 값은 0이 됩니다. 하지만 B의 값은 증가하여 1이 됩니다.
증감 연산자는 반복문에서 자주 사용됩니다.
ex) for (i = 0; i < 10; i++)
'[C] C언어 기초' 카테고리의 다른 글
[C] C언어의 조건문_switch문 (0) | 2022.03.30 |
---|---|
[C] C언어의 조건문_if문 (0) | 2022.03.29 |
[C] C언어의 서식 지정자 (형식 문자) (0) | 2022.03.20 |
[C] C언어의 함수와 변수 (0) | 2022.03.19 |
[C] C언어의 구성과 Visual Studio 환경 세팅 (0) | 2022.03.18 |