본문 바로가기

C언어_VisualStudio

연산자 : 산술 연산자, 대입 연산자, 관계 연산자

오늘은 연산자에 대해 정리!! :-)

연산자 종류

 

연산자는 기능에 다라 다음과 같이 분류할 수 있다.

연산자 종류

산술 연산자, 대입 연산자, 관계 연산자

 

 

산술 연산자

산술 연산자는 기본적인 산술 연산인 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 실행하는 연산자이다.

+	// 덧셈
-	// 뺄셈
*	// 곱셈
/	// 나눗셈
%	// 나머지

 

※ 나눗셈 연산 주의

나눗셈 연산에 대하여 주의하여야 한다. 정수끼리 나눗셈을 하면 소수점 이하는 버려지고 정수 부분만 남는다. (내림 연산) 단, 피연산자 중에서 하나라도 실수이면 연산 결과도 실수가 된다. 

7 / 4	// 결과값: 1 (결과값 정수, 소수점 아래 버림)
7.0 / 4	// 결과값: 1.75 (결과값 소수)

 

※ 나머지 연산자

나머지 연산자 %는 많이 사용되는 중요한 연산자이다. x % y는 x를 y로 나누어서 남은 나머지를 반환한다. 이를 이용하여 홀수, 3의 배수, 4의 배수, 시간 계산 등등 유용하게 쓰이는 연산자이다.

7 % 4	// 결과값: 3

 

※ 부호 연산자

부호 연산자는 변수나 상수의 부호를 나타내거나 변경하는 연산자이다.

x = -10;
y = -x; // 변수 y의 값 : 10

이러한 부호 연산자는 하나의 피연산자만 있으면 되므로 단항 연산자(unary operator)라고 한다. 혹은 덧셈과 뺄셈을 나타내는 이항 연산자(binary operator)로도 사용된다.

 

※ 증감 연산자

증감 연산자는 ++기호나 --기호를 사용하여 변수의 값을 1만큼 증가시키거나 감소시키는 연산자이다.

증감 연산자는 단항 연산자이다.

++x; // 변수 x의 값을 1만큼 증가시킨다.
--x; // 변수 x의 값을 1만큼 감소시킨다.

증감 연산자는 피연산자의 앞이나 뒤에 올 수 있다.

증감 연산자를 적용한 후에 그 연산의 값을 사용할 목적이라면 앞에 쓰는 것과 뒤에 쓰는 것을 구분해야 한다. 

++x; // 변수 x의 값을 1만큼 먼저 증가시킨 후 증가된 x값을 수식에 사용
x++; // 변수 x의 값을 수식에 사용 후 1만큼 증가시킴
--x; // 변수 x의 값을 1만큼 먼저 감소시킨 후 증가된 x값을 수식에 사용
x--; // 변수 x의 값을 수식에 사용 후 1만큼 감소시킴

 

 

 

대입 연산자

대입 연산자(assignment operator)는 변수에 수식의 값을 계산하여 저장하는 연산자이다. 

등호의 왼쪽은 반드시 변수이고 등호의 오른쪽은 어떠한 수식이라도 가능하다.

 

복합 대입 연산자

대입 연산자와 산술 연산자를 합쳐 놓은 연산자이다.

오른쪽에 있는 식을 먼저 계산하여 그 결과를 왼쪽에 있는 변수의 현재 값에 지정된 산술 연산을 한 후에 대입한다.

// 복합 대입 연산자 	| 		의미
		x += y 				x = x + y
		x -= y 				x = x - y
		x *= y 				x = x * y
		x /= y 				x = x / y
		x %= y 				x = x % y
		x &= y 				x = x & y
		x |= y 				x = x | y
		x ^= y 				x = x ^ y
        x >>= y 			x = x >> y
        x <<= y 			x = x << y

 

 

형변환

형변환(type conversion)은 데이터의 형이 변환되는 것을 의미한다.

자동적인 형변환으로 컴파일러에 의하여 자동으로 수행되는 것과 프로그래머가 강제적으로 형을 변환시키는 것이 있다.

  • 자동 형변환
  1. 대입 연산시 내림 변환이 일어나지 않도록 주의
  2. 정수 연산시 char형이나 short형이 수식에 등장하면 자동으로 int형으로 승격시킴
  3. 수식 연산시 하나의 수식에서 서로 다른 자료형이 사용되면 모든 자료형은 그중에서 가장 높은 등급의 자료형으로 변하는데 이때 데이터 손실이 있을 수 있다.
// 자료형을 낮은 등급에서부터 높은 등급 순으로 나열

int, unsigned int, long, unsigned long, float, double, long double

 

 

  • 강제 형변환 : 원하는 자료형을 괄호 안에 넣고 상수나 변수 앞에 적어주면 된다. 

 

 

관계 연산자

  • x < y : x가 y보다 작으면 참
  • x > y : x가 y보다 크면 참
  • x == y : x가 y보다 같으면 참
  • x != y : x가 y보다 다르면 참
  • x <= y : x가 y보다 작거나 같으면 참
  • x >= y : x가 y보다 크거나 같으면 참

참이면 1, 거짓이면 0으로 표현된다.

 

※주의

  x = y와 x == y는 다른 의미이다.

x = y // x에 y값을 대입

x == y  // x와 y가 같은지?

 

수학처럼 다음과 같은 수식은 오류가 날 수 있다.

3 < x < 7

논리 연산자를 이용하여 다음과 같이 표현해야 한다. 논리 연산자는 바로 다음에서 다룬다.

(x > 3) && (x < 7)

 


정리하다가 길어져서 2편을 준비했다. :-)

https://cwithvisual.tistory.com/entry/%EB%85%BC%EB%A6%AC-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%A1%B0%EA%B1%B4-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%BD%A4%EB%A7%88-%EC%97%B0%EC%82%B0%EC%9E%90-%EB%B9%84%ED%8A%B8-%EB%8B%A8%EC%9C%84-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%97%B0%EC%82%B0%EC%9E%90%EC%9D%98-%EC%9A%B0%EC%84%A0-%EC%88%9C%EC%9C%84%EC%99%80-%EA%B2%B0%ED%95%A9-%EA%B7%9C%EC%B9%99

 

연산자 : 논리 연산자, 조건 연산자 콤마 연산자, 비트 단위 연산자, 연산자의 우선 순위와 결합

오늘은 연산자에 대한 정리 2편!! :-) 연산자는 기능에 다라 다음과 같이 분류할 수 있다. 논리 연산자, 조건 연산자 콤마 연산자, 비트 단위 연산자, 연산자의 우선순위와 결합 규칙 논리

cwithvisual.tistory.com