C언어 초급 - 5장: 연산자와 표현식 (5.2 대입 연산자 (=))
2025. 2. 23. 16:48ㆍ프로그래밍 언어/C
5.2 대입 연산자 (=)
C 언어에서 대입 연산자(Assignment Operator)는 변수에 값을 저장하는 데 사용됩니다.
또한 복합 대입 연산자(Compound Assignment Operators)를 사용하면 연산과 대입을 한 번에 수행할 수 있어 코드가 더 간결해집니다.
1. 대입 연산자 (=)
1.1 = 연산자의 개념
대입 연산자는 오른쪽 값(값, 표현식)을 왼쪽 변수에 저장하는 역할을 합니다.
변수 = 값;
📌 특징
- = 연산자는 "같다(equal)"가 아니라 "대입(assign)"을 의미함.
- 오른쪽의 값을 왼쪽 변수에 저장하는 연산.
- 기존 변수의 값이 새로운 값으로 덮어쓰기됨.
1.2 = 연산자 예제
#include <stdio.h>
int main() {
int a;
a = 10; // 변수 a에 10을 저장
printf("a의 값: %d\n", a);
a = 20; // 변수 a의 값을 20으로 변경
printf("변경된 a의 값: %d\n", a);
return 0;
}
출력 결과
a의 값: 10
변경된 a의 값: 20
📌 변수 a의 값이 10에서 20으로 덮어쓰기됨.
2. 복합 대입 연산자 (+=, -=, *=, /=, %=)
2.1 복합 대입 연산자의 개념
복합 대입 연산자는 연산과 대입을 한 번에 수행하는 연산자입니다.
연산자 | 설명 | **예제 (a = 10) | 동일한 표현 |
+= | 덧셈 후 대입 | a += 5; | a = a + 5; |
-= | 뺄셈 후 대입 | a -= 3; | a = a - 3; |
*= | 곱셈 후 대입 | a *= 2; | a = a * 2; |
/= | 나눗셈 후 대입 | a /= 2; | a = a / 2; |
%= | 나머지 후 대입 | a %= 3; | a = a % 3; |
📌 장점
- 코드가 더 간결해짐.
- 연산 속도가 약간 더 최적화될 가능성 있음.
- a = a + 5;보다 a += 5;가 더 직관적임.
2.2 복합 대입 연산자 예제
#include <stdio.h>
int main() {
int a = 10;
a += 5; // a = a + 5
printf("a += 5 : %d\n", a); // 15
a -= 3; // a = a - 3
printf("a -= 3 : %d\n", a); // 12
a *= 2; // a = a * 2
printf("a *= 2 : %d\n", a); // 24
a /= 4; // a = a / 4
printf("a /= 4 : %d\n", a); // 6
a %= 5; // a = a % 5
printf("a %%= 5 : %d\n", a); // 1
return 0;
}
출력 결과
a += 5 : 15
a -= 3 : 12
a *= 2 : 24
a /= 4 : 6
a %= 5 : 1
📌 설명
- a += 5; → a = a + 5;
- a -= 3; → a = a - 3;
- a *= 2; → a = a * 2;
- a /= 4; → a = a / 4;
- a %= 5; → a = a % 5;
3. 복합 대입 연산자의 활용 예제
3.1 반복문과 함께 사용하기
복합 대입 연산자는 반복문과 함께 사용할 때 유용합니다.
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += i; // sum = sum + i
}
printf("1부터 5까지의 합: %d\n", sum);
return 0;
}
출력 결과
1부터 5까지의 합: 15
📌 설명
- sum += i;는 sum = sum + i;와 같음.
- sum에 i 값을 반복해서 더하여 누적.
3.2 사용자 입력값 누적 계산
사용자가 입력한 숫자를 계속 더하는 프로그램을 작성할 수 있습니다.
#include <stdio.h>
int main() {
int total = 0, num;
printf("세 개의 숫자를 입력하세요: ");
for (int i = 0; i < 3; i++) {
scanf("%d", &num);
total += num; // total = total + num
}
printf("총합: %d\n", total);
return 0;
}
실행 예시
세 개의 숫자를 입력하세요: 5 10 20
총합: 35
📌 설명
- total += num;은 입력된 숫자를 total 변수에 누적.
- for 반복문을 사용하여 사용자로부터 여러 개의 숫자를 입력받아 합산.
4. 정리
연산자 | 설명 | 사용 예제 | 동일한 표현 |
= | 대입 | a = 10; | 값 저장 |
+= | 덧셈 후 대입 | a += 5; | a = a + 5; |
-= | 뺄셈 후 대입 | a -= 3; | a = a - 3; |
*= | 곱셈 후 대입 | a *= 2; | a = a * 2; |
/= | 나눗셈 후 대입 | a /= 4; | a = a / 4; |
%= | 나머지 후 대입 | a %= 5; | a = a % 5; |
📌 복합 대입 연산자의 특징
- 연산과 대입을 한 번에 수행 → 코드가 간결해짐.
- 반복문과 함께 사용하면 가독성이 향상됨.
- a = a + 5; 대신 a += 5; 사용.
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 초급 - 5장: 연산자와 표현식 (5.4 논리 연산자 (&&, ||, !)) (0) | 2025.02.23 |
---|---|
C언어 초급 - 5장: 연산자와 표현식 (5.3 관계 연산자 (==, !=, >, <, >=, <=)) (0) | 2025.02.23 |
C언어 초급 - 5장: 연산자와 표현식 (5.1 산술 연산자 (+, -, *, /, %)) (0) | 2025.02.23 |
C언어 초급 - 4장: 입출력 함수 (4.3 putchar()와 puts()) (0) | 2025.02.23 |
C언어 초급 - 4장: 입출력 함수 (4.2 gets()와 fgets() 비교) (0) | 2025.02.23 |