C 언어 연산자 종류와 사용법 예제

연산자란 값을 계산하고 처리할때 쓰는 것입니다.

예를 들어 1+1 이나 3-2 처럼 덧셈이나 뺄셈등 계산식을 사용거나 비교처리를 할때 사용하는 것을 말합니다.

연산자에는 어떠한 것들이 있는지 먼저 살펴 보겠습니다.

 

산술 연산자

계산을 하기위해 사용하는 산술 연산자 종류와 예제를 보겠습니다.

산술 연산자 종류

연산자내용
+ 두 피연산자의 값을 더한다.
 num = 4 + 3;
 왼쪽의 피연산자에서 오른쪽 피연산자를 뺀다.
 num = 5 – 2;
* 두 피연산자의 값을 곱한다.
 num = 3 * 2;
/왼쪽의 피연산자에서 오른쪽 피연산자를 나눈 값의 몫을 구한다.
 num = 6 / 4;
%왼쪽의 피연산자에서 오른쪽 피연산자를 나눈 값의 나머지를 구한다.
 num = 5 % 2;
=연산자의 오른쪽에 있는 값을 왼쪽에 대입한다.
 num = 4;

 

예제를 확인해보겠습니다.

#include <stdio.h> 
int main(void){ 
	// 변수 num1을 10으로 초기화
	
	int num1 = 10;
	
	num1 = num1 + 5;
	printf("num1 = %d \n", num1);
	
	num1 = num1 - 5;
	printf("num1 = %d \n", num1);
	
	num1 = num1 * 2;
	printf("num1 = %d \n", num1);
	
	num1 = num1 / 2;
	printf("num1 = %d \n", num1);
	
	num1 = num1 % 2;
	printf("num1 = %d \n", num1);
	
	return 0;
}

 

결과

num1 = 15 
num1 = 10 
num1 = 20 
num1 = 10 
num1 = 0 

 

비교 연산자

2개의 값을 비교하는 연산자를 살펴보겠습니다.

 

비교 연산자 종류

연산자내용
< n1 < n2 (n1이 n2보다 작은가?)
> n1 > n2 (n1이 n2보다 큰가?)
== n1 == n2 (n1과 n2가 같은가?)
!= n1 != n2 (n1과 n2가 다른가?)
<= n1 <= n2 (n1이 n2보다 같거나 작은가?)
>= n1 >= n2 (n1이 n2보다 크거나 같은가?)

 

비교 연산자 예제를 보겠습니다.

#include <stdio.h> 
int main(void) { 

	// 변수 num1과 num2를 선언하고 각각 10과 20으로 초기화
	int num1 = 10;
	int num2 = 20;
	
	printf("num1 < num2 : %d \n", num1 < num2);
	printf("num1 > num2 : %d \n", num1 > num2);
	printf("num1 == num2 : %d \n", num1 == num2);
	printf("num1 != num2 : %d \n", num1 != num2);
	printf("num1 <= num2 : %d \n", num1 <= num2);
	printf("num1 >= num2 : %d \n", num1 >= num2);
	return 0;
}


결과

num1 < num2 : 1 
num1 > num2 : 0 
num1 == num2 : 0 
num1 != num2 : 1 
num1 <= num2 : 1 
num1 >= num2 : 0 

 

C언어에는 truefalse를 반환하는 Bool 함수가 없습니다. 

그래서 C언어에서는 0이 아닌 모든 값을 참으로 인식합니다.

결과에서는 1이면 true0이면 false가 됩니다.

논리 연산자

하나의 조건이 아닌 여러 조건을 작성하고 싶은 경우 논리 연산자를 사용해 여러 조건을 작성할 수 있습니다.

논리 연산자 종류

연산자내용
&& A && B (A와 B 모두 참이면 연산결과로 참 반환  AND 연산)
|| A || B (A 또는 B가 참이면 연산결과로 참 반환  OR 연산)
! !A (A가 참이면 거짓, 거짓이면 참을 반환  NOT 연산)

 

논리연산자도 비교 연산자와 같이 참이면 1, 거짓이면 0을 반환합니다.

예제를 보겠습니다.

#include <stdio.h>
int main(void) {

	// 변수 num1과 num2를 선언하고 각각 10과 20으로 초기화
	int num1 = 10;
	int num2 = 20;
	
	printf("(num1 == 2) && (num2 >= 20) : %d \n", (num1 == 2) && (num2 >= 20));
	printf("(num1 >= 10) || (num2 != 30) : %d \n", (num1 >= 10) || (num2 != 30));
	printf("!(num2 <= 15) : %d \n", !(num2 <= 15));
	
	return 0;
}

 

결과

(num1 == 2) && (num2 >= 20) : 0 
(num1 >= 10) || (num2 != 30) : 1 
!(num2 <= 15) : 1 

 

연산자는 값을 계산하거나 비교하는 경우에 사용되며 처리를 하기위해 자주 사용됩니다.

꼭 기억하고 이해하고 넘어가야 하는 부분입니다.

댓글