C언어

[C언어] 산술연산자, 대입연산자, 증감연산자 란?

by [Dark].Angel posted Jan 14, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

(1)산술연산자

산술연산자에는, +,-,/,*,% 같은게 있다

 

즉 계산하는 연산들이다.

 

+  더하기 , - 빼기

 

/ 나눈몫을 나타내고 *  곱하기를 나타냅니다.

  

%는 나누고 난 나머지를 말한다

 

예를들어 a = 5 % 3 이렇게 한경우 a값에는 5를 3으로 나눈 나머지 즉 2가 들어가진 다는 것입니다.

 

예:  

 

a = 5 + 2; // a=7

a = 5 - 2; // a=3

a = 5 / 2; // a=2

a = 5 * 2; // a=10

a = 5 % 2; // a=1

 

(2)대입연산자

 

대입연산자--------------

= <- 이것은 대입한다.

+= <- 이것은 더한 다음 대입

%= <- 나머지를 대입

-= <- 빼고 대입

*= <- 곱하고 대입

/= < - 나눈값을 대입

 

보통 이렇게 설명하는경우 이해가 안될수도 있다.

 

=는 그냥 대입한다는 뜻으로 예를들어보자면

a = 5;

 

a라는 변수에서 5가 들어간다는 뜻이다. (변수에 관하여는 저번시간에 설명했다)

 

그다음으로 +=, %=, -=, *=,/= 등등 은

 

전에 산술연산자에서 +,-,*,/,%를 배웠을텐데 그연산을 하고 대입한다는 뜻이다

 

즉 a = a + 3; 이렇게 하면 a에 3이 더해진다

 

이걸 간단히하면 a += 3; 이렇게 되는것이다

 

[3] 증감연산자

증감 연산자는 ++, -- , 가있는데

 

이둘은 1을 더하는 연산자이다

 

예를들어 a++; 이라고 했을때, a가 1증가 한다는것이다.

 

그반대로 a--;같은경우 a가 1 감소한다는것이다

 

특히 여기서 ++a, --a;라는것도있다

 

둘의 차이점은 ++a는 선증가,a++ 은 후증가 라고 보면된다

 

이해가 안될테니

 

예를들어

 

int a=1,b=0;

b=a++;// 이렇게 하는경우 b값에는 1 이 들어가고 a가 증가 한다(즉 a값은 2)

 

여기서 b=++a;라고 하는경우 b값에 2가, a또한 증가된다(a,b모두 2)

 

 

질문 하나 내겠습니다.

 

(1~5) 다음에서 변수 a의 값은? 

[1번]

int a;

a = 3;

[2번]

int a;

a = 4 + 2;

[3번]

int a;

a = 4 % 2;

[4번]

int a=0;

a+=45;

a-=32;

[5번]

int a=0;

a=42+79;

[6번] 다음 a++과 ++a의 차이점은?

 

답들은 덧글로 써주세요^^