연산자
수식은 연산자(ex 수식) 와 피연산자(ex 숫자)로 구성된 연산식을 말합니다. 다양한 연산자를 통해서 보다 더 다양한 수식을 표현하거나 논리적인 식을 만들 수 있습니다.
■ 산술 연산자
산술 연산자의 종류 | 사용 예 | 의미 | 연산 결과 |
+ | 1+1 | 더하기 | 2% |
- | 3-1 | 빼기 | 2 |
* | 3*2 | 곱하기 | 6 |
/ | 3/2 | 나누기 | 1 |
% | 5/3 | 나머지 구하기 | 2 |
■ 증감 연산자
증감 연산자는 변수의 값을 1만큼 증가 혹은 감소시키기 위해서 사용됩니다. 즉, 증감 연산자는 반드시 변수에만 사용해야 하며, 상수나 수식에는 사용할 수 없습니다.
증감 연산자의 종류 | 사용 예 | 의미 |
전위형 | ++a | 1만큼 증가된 변수 a의 값 |
--a | 1만큼 감소된 변수 a의 값 | |
후위형 | a++ | 증가되기 전 변수 a의 값 |
a-- | 감소되기 전 변수 a의 값 |
위와 같은 증감연산자는 2줄의 코드를 1줄로 줄여주는 역할을 합니다.
■ 관계 연산자
관계 연산자는 2개의 피연산자 값을 비교하여 참 또는 거짓을 결과로 돌려줍니다. c 언어에서 참이란 0이 아닌 값을 이미하고 거짓이란 0 값을 의미합니다.
관계 연산자의 종류 | 사용 예 | 의미 |
> | a>b | a가 b보다 크면 참 |
>= | a>=b | a가 b보다 크거나 같으면 참 |
< | a<b | a가 b보다 작으면 참 |
<= | a<=b | a가 b보다 같거나 작으면 참 |
== | a==b | a가 b와 같으면 참 |
!= | a!=b | a가 b와 같지 않으면 참 |
■ 논리 연산자
논리 연산자도 관계 연산자 처럼 피연산자 값을 평가하여 참 또는 거짓을 결과로 반환합니다. 어떠한 조건을 검사할 때 사용하는 연산자입니다.
논리 연산자의 종류 | 사용 예 | 의미 |
&& | a&&b | a와 b 모두 참인 경우만 참 |
|| | a||b | a와 b 둘 중 하나라도 참인 경우 참 |
! | !a | a가 참인 경우 거짓, 거짓인 경우 참 |
■ 비트 연산자
비트 연산자는 2진수로 표현된 정수를 비트 단위로 취급하는 것을 말합니다. 일반적으로는 많이 사용하지 않고 프로그램 개발, 통신 프로그램같은 경우에 많이 사용하니 참고로 알아놓으시면 될 것 같습니다.
비트 논리 연산자의 종류 | 사용 예 | 의미 |
& | 5&7 | 101과 111을 비트 단위로 AND 연산 |
| | 5|7 | 101과 111을 비트 단위로 OR 연산 |
^ | 5^7 | 101과 111을 비트 단위로 XOR 연산 (둘다 아닌 경우) |
■ (복합)대입 연산자
대입 연산자는 좌변 우변값을 지정해주는 연산자로 너무나 쉬운 '=' 값 입니다. 좌변에는 변수가 위치하고 우변에는 값이 지정이 됩니다.
복합대입연산자
복합 대입 연산자의 종류 | 의미 | 복합 대입 연산자의 종류 | 의미 |
a+=b | a=a+b | a&=b | a=a&b |
a-=b | a=a-b | a|=b | a=a|b |
a*=b | a=a*b | a^=b | a=a^b |
a/=b | a=a/b | a<<=b | a=a<<b |
a%=b | a=a%b | a>>=b | a=a>>b |
■ 조건 연산자
조건 연산자는 유일한 삼항 연산자(연산자가 3개 들어가는 수식)로 세 개의 피연산자를 가지고 코드를 간결하게 만드는 기능을 합니다.
조건 연산자 사용 형삭 | 피연산자1 ? 피연산자2 : 피연산자3
다음 구문에 대한 해석은 피연산자1이 참이면 피연산자2가 참으로 결과가 되며, 거짓인 경우 피연산자3이 결과가 되는 것을 말합니다. 보통 나중에 배울 if문과 비슷한 형식이므로 간단하게 만들 때 주로 사용을 하므로 기억을 하시는게 중요합니다.
■ 연산자 우선 순위
코드를 작성하다보면 여러 가지 연산자를 사용하게 됩니다. 그럴 경우에 어떠한 연산자가 우선 순위로 계산이 되어야 하는지 알 필요가 있습니다.
우선 순위 | 연산자 종류 | 연산자 | 결합 방향 |
1 | 1차 연산자 | ( ) [ ] -> | → |
2 | 단항 연산자 | ++ -- ~! * & sizeof (type) | ← |
3 | 산술 연산자 | * / % | → |
4 | + - | ||
5 | 비트 시프트 연산자 | << >> | |
6 | 관계 연산자 | < <= > >= |
Exercise
정수값 10,20,30을 각 변수에 할당한 후, 조건 연산자를 사용하여 최대값을 구하는 프로그램을 작성하라.
#include <stdio.h> int main(void) { int a=10; int b=20; int c=30; int max=(a>b)?(a>c?a:c):(b>c?b:c); printf("max is %d",max); } |
max is 30 |
'컴퓨터 프로그래밍 > c 언어 (c programming language)' 카테고리의 다른 글
C 언어 - 조건문 (0) | 2020.09.26 |
---|---|
C 언어 - 표준 입출력 (0) | 2020.09.26 |
C 언어 - 변수와 자료형 (0) | 2020.09.26 |
C 언어 기초 (0) | 2020.09.26 |
c 언어 개요 (0) | 2020.09.26 |
댓글