오늘은 쉬워가는 코스로 간단한 대입연산자를 이용한 코딩을 해보겠습니다. 대입연산자는 말 그대로 특정 변수에 어떤 값을 대입하는 연산자를 말합니다. 대입연산자는 +, -, *, /, % 의 산술 연산자가 있는데 이 연산자를 약식으로 표현할 수 있습니다. 그러면 어떻게 표현하는지 알아보도록 하죠.
보시면 a라는 변수에 산술 연산의 결과가 a라는 변수에 대입하게 됩니다. 이때 산술 연산의 표현 코딩이 약식으로도 표현할 수 있습니다.
a+=b; 라는 코딩은
a = a + b; 라는 의미의 코딩입니다. a변수에 이전 a값에 b를 더한 값을 a에 대입하는 이 표현은 a = a+b로 표현해도 되지만 a+=b로 표현해도 같은 의미의 동작을 수행한다는 점만 이해 하시면 됩니다.
위 표를 보시면 뭐랄까 약간 특정 변수에 어떤 계산 식이 계속 누적되는 느낌이지요. 즉, 어떤 계산 처리의 결과를 어떤 변수에 저장하는 것을 대입연산자라고 생각하시면 될 듯 싶네요.
산술연산자만 했지만 다른 연산자도 사용해서 표현 해도 됩니다. a = 3일 때 3이 a에 대입한다 대입연산자이다 끝 하면 재미가 없지요. 오늘의 핵심은 약식표현입니다. a = a+b이때 a+=b라고도 코딩한다는게 핵심입니다.
대표적인 예제가 아래 코딩입니다. 1부터 자연수 N까지의 합을 구하는 코딩을 하면 아래와 같이 표현 할 수 있습니다.
예제) 1~10까지의 합을 구하시오.
#include
int main(int argc, char *argv[]) {
int i;
int s=0;
for(i=1;i<=10;i++){
s+=i; //s=s+i;
}
printf("s = %d \n",s);
return 0;
}
for문은 아직 설명 안했지만 반복문입니다. 아직은 모르셔도 됩니다. 그냥 1~10까지 순서대로 i값이 증가한다고 생각하시면 됩니다. 대충 s+=i식에서 i값이 1~10까지 순차적으로 증가하면서 이전 s값에 더하여 s에 대입하는 식입니다. 그렇게 i가 1~10까지 더하면 55가 나오게 되겠죠.
s = 0
s = s + 1
s = s + 2
...
s = s + 10
[결과]
대표적인 누적 데이터를 대입연산자로 표현할 때 사용했는데 이와 유사한 표현은 뭐가 있을가요. 바로 수학적으로 살펴보면 수열같은 식이 있습니다. 한번 중학교 수학책에 나와 있는 수열 공식을 여러분들이 직접 코딩해 보세요.
무슨 코딩이든 쉽든 어렵든 계속 반복적으로 코딩하고 다양한 각도로 이 원리가 실제 오프라인에서는 어디에 활용 되는지 한번 찾아서 코딩을 해 보셔야 실력이 향상됩니다. 아니면 짝수합 or 홀수 합을 구해 보세요.