C에서의 대입 연산자
안녕하세요, 미래의 프로그래머 여러분! 오늘은 C에서의 대입 연산자에 대해 탐험해볼 거예요. 아직 코드를 한 줄도 작성해보지 않았다고 해도 걱정 마세요 – 저는 여러분을 이 여정을 단계별로 안내할 거예요. 이 튜토리얼을 끝내면, 여러분도 전문가처럼 값을 대입할 수 있게 될 거예요!
대입 연산자란 무엇인가요?
공중에서 뛰어들기 전에, 대입 연산자가 무엇인지 이해해보죠. 그들은 우리가 수학 수업에서 사용한 등호 기호(=)와 비슷하지만, 슈퍼파워를 가진 것이에요! 그들은 여러분의 프로그램에서 변수에 값을 대입하는 데 사용됩니다. 하지만 C에서는 단순한 대입 이상의 것을 할 수 있어요.
단순 대입 연산자 (=)
기본적인 것부터 시작해볼게요 – 단순 대입 연산자. 그것은 C에서의 모든 대입 연산의 기초예요.
어떻게 동작하는지
단순 대입 연산자는 등호 기호(=)로 표현됩니다. 오른쪽의 값을 가져와 왼쪽의 변수에 대입합니다.
다음은 간단한 예시입니다:
int age;
age = 25;
이 코드에서는 age
라는 정수 변수를 선언한 후, 그 변수에 25를 대입하는 것이에요. 그렇게 간단해요!
다중 대입
또한 대입을 함께 연결할 수 있어요. 예를 들어보죠:
int x, y, z;
x = y = z = 10;
이 코드는 값을 10으로 모두 세 변수에 대입합니다: x, y, 그리고 z. 오른쪽에서 왼쪽으로 작동하기 때문에, 먼저 z에 10이 대입되고, 그 다음 y에 z의 값(즉, 10)이 대입되고, 마지막으로 x에 y의 값(도 10)이 대입됩니다.
변수 초기화
변수를 선언할 때에도 대입 연산자를 사용할 수 있어요:
int height = 180; // 선언과 초기화를 한 줄에
float pi = 3.14159;
char grade = 'A';
이것은 변수를 생성할 때 초기 값을 설정하는 데 훌륭한 방법이에요.
강화 대입 연산자
이제 한 단계 더 올려볼게요! 강화 대입 연산자는 단축코드 같아요. 그들은 한 단계에 수행 연산과 대입을 함께 합니다. 하나씩 살펴보죠:
더하기 대입 (+=)
+=
연산자는 오른쪽 피연산자를 왼쪽 피연산자에 더하고, 결과를 왼쪽 피연산자에 대입합니다.
int score = 10;
score += 5; // score = score + 5;와 동일
printf("Score: %d\n", score); // 출력: Score: 15
빼기 대입 (-=)
-=
연산자는 오른쪽 피연산자를 왼쪽 피연산자에서 뺀 후, 결과를 왼쪽 피연산자에 대입합니다.
int lives = 3;
lives -= 1; // lives = lives - 1;와 동일
printf("Lives remaining: %d\n", lives); // 출력: Lives remaining: 2
곱하기 대입 (*=)
*=
연산자는 왼쪽 피연산자를 오른쪽 피연산자로 곱하고, 결과를 왼쪽 피연산자에 대입합니다.
int power = 2;
power *= 3; // power = power * 3;와 동일
printf("Power level: %d\n", power); // 출력: Power level: 6
나누기 대입 (/=)
/=
연산자는 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 결과를 왼쪽 피연산자에 대입합니다.
float money = 100.0;
money /= 2; // money = money / 2;와 동일
printf("Money left: %.2f\n", money); // 출력: Money left: 50.00
나머지 대입 (%=)
%=
연산자는 왼쪽 피연산자가 오른쪽 피연산자로 나눌 때의 나머지를 계산하고, 결과를 왼쪽 피연산자에 대입합니다.
int cookies = 10;
cookies %= 3; // cookies = cookies % 3;와 동일
printf("Leftover cookies: %d\n", cookies); // 출력: Leftover cookies: 1
비트 AND 대입 (&=)
&=
연산자는 비트 AND 연산을 수행하고, 결과를 왼쪽 피연산자에 대입합니다.
int a = 5; // 2진수: 0101
a &= 3; // 2진수: 0011
printf("Result: %d\n", a); // 출력: Result: 1
비트 OR 대입 (|=)
|=
연산자는 비트 OR 연산을 수행하고, 결과를 왼쪽 피연산자에 대입합니다.
int b = 5; // 2진수: 0101
b |= 3; // 2진수: 0011
printf("Result: %d\n", b); // 출력: Result: 7
비트 XOR 대입 (^=)
^=
연산자는 비트 XOR 연산을 수행하고, 결과를 왼쪽 피연산자에 대입합니다.
int c = 5; // 2진수: 0101
c ^= 3; // 2진수: 0011
printf("Result: %d\n", c); // 출력: Result: 6
왼쪽 시프트 대입 (<<=)
<<=
연산자는 왼쪽 시프트 연산을 수행하고, 결과를 왼쪽 피연산자에 대입합니다.
int d = 5; // 2진수: 0101
d <<= 1; // 왼쪽으로 1 시프트
printf("Result: %d\n", d); // 출력: Result: 10
오른쪽 시프트 대입 (>>=)
>>=
연산자는 오른쪽 시프트 연산을 수행하고, 결과를 왼쪽 피연산자에 대입합니다.
int e = 8; // 2진수: 1000
e >>= 1; // 오른쪽으로 1 시프트
printf("Result: %d\n", e); // 출력: Result: 4
대입 연산자 요약 표
다음은 우리가 다룬 모든 대입 연산자를 요약한 편리한 표입니다:
연산자 | 설명 | 예시 | 동일한 것 |
---|---|---|---|
= |
단순 대입 | x = 5; |
x = 5; |
+= |
더하기 대입 | x += 3; |
x = x + 3; |
-= |
빼기 대입 | x -= 3; |
x = x - 3; |
*= |
곱하기 대입 | x *= 3; |
x = x * 3; |
/= |
나누기 대입 | x /= 3; |
x = x / 3; |
%= |
나머지 대입 | x %= 3; |
x = x % 3; |
&= |
비트 AND 대입 | x &= 3; |
x = x & 3; |
|= |
비트 OR 대입 | x |= 3; |
x = x | 3; |
^= |
비트 XOR 대입 | x ^= 3; |
x = x ^ 3; |
<<= |
왼쪽 시프트 대입 | x <<= 2; |
x = x << 2; |
>>= |
오른쪽 시프트 대입 | x >>= 2; |
x = x >> 2; |
그리고 이것이 모두에요! 여러분은 C에서의 대입 연산자에 대한 환상적인 여행을 마쳤어요. 기억해요, 연습이 열쇠예요. 이 연산자들을 사용하여 코드를 써보고, 곧 무의미하게 사용할 수 있을 거예요.
코딩을 즐겁게, 미래의 C 프로그래머 여러분!
Credits: Image by storyset