티스토리 뷰
c언어 정리 기초 - 연산자
오늘은 c언어에서 값을 비교하거나 계산하는데 사용되는 연산자에대해 알아보겠습니다.
[대입 연산자]
먼저 대입 연사자 입니다.
c언어에서 = 기호를 대입 연산자라고 합니다.
변수에 값을 넣거나 변수에 다른 변수의 값을 넣을때 사용합니다.
다음과 같이
a = 3; |
라고 쓰였을 때
3을 변수a에 대입한다는 뜻입니다.
이와 같이 =은 오른쪽의 값을 왼쪽에 대입한다는 뜻입니다.
여기서 주의해야할 점은 a는 3과 같다는 뜻이 아니라는 것 입니다.
이것은 뒤에 설명하겠지만, 조건문에서 a와 3이 같다고 표현하려면
a == 3 이와 같이 표현합니다.
[산술 연산자]
+ | 더하기 기능 |
- | 빼기 기능 |
* | 곱하기 기능 |
/ | 나눗셈의 몫을 구하는 기능 |
% | 나눗셈의 나머지를 구하는 기능 |
산술 연산자의 종류는 위의 표와 같습니다.
예를 들어보면
a = 10+2; // 10에서 2를 더해 a에 대입 a = 10-2; // 10에서 2를 빼서 a에 대입
a = 10*2; // 10에서 2를 곱해 a에 대입
a = 10/2 // 10에서 2를 나눈 후 몫을 a에 대입
a = 10%2 // 10에서 2를 나눈 후 나머지를 a에 대입 |
위와 같은 예로 쓰일 수 있습니다.
[증감 연산자]
++ 증가 연산자 | 변수가 가지고 있는 값을 1 증가 |
-- 감소 연산자 | 변수가 가지고 있는 값을 1 감소 |
a++ , a-- 이와 같이 쓰이는 것을 증감 연산자라고 합니다.
++를 붙이면 1을 증가시키고,
-- 를 붙이면 1을 감소시키는 역할을 합니다.
a++,a-- 이와 같이 연산자가 뒤에 붙는 경우를 후위형이라 하고
++a, --a 이와 같이 연산자가 앞에 붙는 경우를 전위형이라고 합니다.
[관계 연산자]
관계 연산자는 두 값의 크기를 비교하는 역할을 합니다.
< | 왼쪽이 오른쪽보다 작으면 참 |
> | 왼쪽이 오른쪽보다 크면 참 |
<= | 왼쪽이 오른쪽보다 작거나 같으면 참 |
>= | 왼쪽이 오른쪽보다 크거나 같으면 참 |
== | 두 값이 같으면 참 |
!= | 두 값이 다르면 참 |
관계 연산자는 두가지 값을 비교하여 참이면 1이 반환되고 거짓이면 0이 반환됩니다.
[논리 연산자]
&& (and) | 양쪽 모두 참이면 참 |
|| (or) | 양쪽 중 하나이상 참이면 참 |
! (not) | 참이면 거짓, 거짓이면 참 |
논리 연산자는 위와 같이 3가지가 있고 결과를 표로 나타내어 보자면
A | B | && | || | ! |
0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 0 |
0은 거짓, 1은 참을 나타냅니다.
위와 같은 논리 연산자는 공대생들이라면 매우 친숙한 연산자일 것입니다.
[비트 연산자]
& | 비트 연산자 AND |
| | 비트 연산자 OR |
<< | 왼쪽으로 비트 이동 |
>> | 오른쪽으로 비트 이동 |
비트 연산자에 대한 예로
◎ & 연산자는 다음 표와 같습니다.
A | B | 결과 |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
예를 들어 10진수 값 13과 27을 2진수로 바꾸면
00001101 과 00011011 로 나타낼 수 있습니다.
이 두숫자를 &연산해보면 아래와 같이 9가 나오게 됩니다.
00001101
& 00011011
------------
00001001 이와 같은 결과를 볼 수 있습니다.
◎ OR 연산자는 다음과 같습니다.
A | B | 결과 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
OR 연산자도 마찬가지로 13과 27로 연산해보면
00001101
& 00011011
---------------
00011111 결과가 31이 됩니다.
◎ XOR 연산자는 다음과 같습니다.
A | B | 결과 |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
XOR 연산자는
00001101
& 00011011
---------------
00010110 결과가 22가 됩니다.
이상 C언어에서 사용되는 다양한 연산자에대해 정리해보았습니다~:)
'프로그래밍 > c 언어' 카테고리의 다른 글
c언어 - 배열 기초 예제 (2) | 2020.02.09 |
---|---|
c언어 정리 기초 - 반복문(for, while, do~while) (0) | 2020.02.02 |
c언어 - 함수(function) 예제 (0) | 2020.01.29 |
c언어 - 반복문(for문) 예제 (0) | 2020.01.28 |
C언어 - 조건문(if문) 예제 (0) | 2020.01.27 |