연산자의 종류
산술 연산자
연산자 | 예 | '예'의 의미 |
+ | a+b | a 더하기 b |
- | a-b | a 빼기 b, 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와 b가 서로 같다. |
!= | a !=b | a와 b가 서로 같지 않다. |
논리 연산자
연산자 | 예 | ‘예’의 의미 |
&& | a && b | AND, 두 조건을 만족하면 Ture(1) |
|| | a || b | OR, 두 조건 중 한 가지라도 만족하면 True(1) |
! | ! a |
NOT, 값이 True(1)이면 False(0)을 반환하고, False(0)이면 True(1)을 반환 |
비트 연산자
연산자 | 예 | ‘예’의 의미 |
& | a & b | 비트단위 AND |
| | a | b | 비트단위 OR |
^ | a ^ b | 비트단위 XOR |
~ | ~ a | 비트단위 NOT |
<< | a << 2 | 오른쪽에서 왼쪽으로 2비트 이동(빈자리는 0) |
>> | a >> 2 | 왼쪽에서 오른쪽으로 2비트 이동(빈자리는 0) |
대입 연산자
연산자 | 예 |
‘예’의 의미 | |
= | a = 1 | a에 1을 대입 | |
+= | a += b | a=a+b | a에 b를 더한 값을 a에 대입 |
-= | a -= b | a=a-b | a에 b를 뺀 값을 a에 대입 |
*= | a *= b | a=a*b | a에 b를 곱한 값을 a에 대입 |
/= | a /= b | a=a/b | a를 b로 나눈 값을 a에 대입 |
%= | a %=b | a=a%b | a를 b로 나눈 나머지를 a에 대입 |
증감 연산자
연산자 | 예 | ‘예’의 의미 |
++ | a ++ | a값을 1증가 |
b=++a | a의 값을 먼저 증가시키고 b에 대입 | |
b=a++ | a의 값을 b에 대입시키고 1증가 | |
-- | a -- | a값을 1감소 |
b=--a | a의 값을 먼저 감소시키고 b에 대입 | |
b=a-- | a의 값을 b에 대입시키고 1감소 |
조건 연산자
조건? 문장1 : 문장2
조건 연산자는 조건을 만족할 경우 문장1을 처리하고, 만족하지 않을 경우 문장2를 처리하는 연산자입니다.
sizeof 연산자
sizeof(자료형 또는 변수명)
자료형이나 변수의 메모리 저장 공간 크기를 Byte로 나타내는 연산자입니다.
형 변환 연산자
형 변환 연산자는 이미 정해진 자료형을 강제로 다른 자료형으로 변경해주는 연산자입니다. 자료형의 강제 형 변환을 참조하길 바랍니다.
2020/06/15 - [C 언어 프로그래밍/자료형과 변수] - 자료형
연산자의 우선순위
순위 | 연산자 | 결합 방향 |
1 | ( ) [ ] . -> | 오른쪽 |
2 | ++ -- +(부호) -(부호) ! ~(자료형) *(포인터) &(주소) sizeof new delete | 왼쪽 |
3 | *(곱셈) / % | 오른쪽 |
4 | +(뎃셈) -(뺄셈) | |
5 | << >> | |
6 | < <= > >= | |
7 | == != | |
8 | &(비트단위 AND) | |
9 | ^ | |
10 | | | |
11 | && | |
12 | || | |
13 | ?: | 왼쪽 |
14 | = += -= *= /= %= <<= >>= &= ^= |= | |
15 | , | 오른쪽 |
연산자 예제
(1단계) 두 정수를 입력받아 몫과 나머지를 출력하시오.
출력결과
코드
#include <stdio.h>
int main()
{
int num1, num2;
printf("두 정수를 입력하시오:");
scanf("%d %d", &num1, &num2);
printf("몫: %d, 나머지: %d", num1/num2, num1%num2);
return 0;
}
(2단계) 아래의 출력화면과 같이 두 정수를 입력받아 사칙연산을 수행하는 프로그램을 작성하시오.
출력결과
코드
#include <stdio.h>
int main()
{
int num1, num2;
int sum, sub, mul, div;
printf("두 정수를 입력하시오:");
scanf("%d %d", &num1, &num2);
sum=num1+num2;
sub=num1-num2;
mul=num1*num2;
div=num1/num2;
printf("%d + %d = %d\n", num1, num2, sum);
printf("%d - %d = %d\n", num1, num2, sub);
printf("%d * %d = %d\n", num1, num2, mul);
printf("%d / %d = %d\n", num1, num2, div);
return 0;
}
댓글