학습
C++ 변수와 상수
C++ 변수와 상수 — 초급
변수와 상수
1. 도입 (왜 배워야 하는가)
변수와 상수는 프로그래밍의 기본적인 요소로, 데이터를 저장하고 조작하는 데 필수적입니다. 실무에서 프로그램을 개발할 때, 다양한 데이터를 간편하게 처리하고 유지하기 위해 변수와 상수를 사용합니다. 예를 들어, 쇼핑몰 시스템에서 고객의 장바구니에 담긴 상품의 개수를 저장할 때 변수로 활용할 수 있습니다. 만약 이 개념을 모른다면, 프로그램의 데이터를 효과적으로 관리하지 못해 오류가 발생하거나, 코드의 가독성이 떨어질 수 있습니다.
2. 핵심 개념 설명
- 변수: 데이터를 저장할 수 있는 공간으로, 필요에 따라 그 값을 변경할 수 있습니다.
- 상수: 한 번 값을 정하면 변경할 수 없는 데이터입니다.
- 비유: 변수는 마치 사람의 이름표와 같습니다. 이름표는 여러 번 바꿀 수 있지만, 그 이름표에 적힌 정보는 언제든지 바꿀 수 있습니다.
- 비유: 상수는 기념일과 같습니다. 기념일은 바꿀 수 없는 정해진 날로, 한 번 정해지면 변하지 않습니다.
| 용어 | 설명 |
|---|---|
| 변수 | 값을 변경할 수 있는 데이터 저장소 |
| 상수 | 한 번 정해지면 변경할 수 없는 데이터 |
3. 기본 코드 예제
#include <iostream>
using namespace std;
int main() {
int age = 25; // 변수 age에 25를 저장
const float PI = 3.14; // 상수 PI에 3.14를 저장
// 변수 값 변경
age = 26; // age의 값을 25에서 26으로 변경
cout << "나이: " << age << endl; // age 출력
cout << "원주율: " << PI << endl; // PI 출력
return 0;
}
나이: 26
원주율: 3.14
- #include <iostream>: C++ 표준 입출력 라이브러리를 포함합니다.
- using namespace std;: std 네임스페이스를 사용하여 코드의 가독성을 높입니다.
- int age = 25;: 정수형 변수 age를 선언하고 25로 초기화합니다.
- const float PI = 3.14;: 실수형 상수 PI를 선언하고 3.14로 초기화합니다.
- age = 26;: 변수 age의 값을 25에서 26으로 변경합니다.
- cout << "나이: " << age << endl;: age 값을 출력합니다.
- cout << "원주율: " << PI << endl;: PI 값을 출력합니다.
4. 실전 활용 예제
- 쇼핑몰에서 장바구니를 구현할 때
- 온도 변환 프로그램
- 변수 선언 전 사용하기
- 상수를 변경하려고 시도하기
- 변수는 값을 변경할 수 있는 데이터 저장소입니다.
- 상수는 한 번 정해진 값을 변경할 수 없습니다.
- 변수와 상수를 적절히 사용하여 코드의 가독성을 높이고 오류를 줄일 수 있습니다.
- 다음에 학습하면 좋은 주제: 데이터 타입, 조건문과 반복문, 함수.
int cartItemCount = 0; // 장바구니에 담긴 상품 수
cartItemCount += 1; // 상품 하나 추가
- 장바구니에 담긴 상품의 개수를 변수로 저장하여, 사용자가 상품을 추가할 때마다 값을 변경합니다.
const float FAHRENHEIT_TO_CELSIUS = 5.0 / 9.0; // 화씨를 섭씨로 변환하는 상수
float fahrenheit = 98.6;
float celsius = (fahrenheit - 32) * FAHRENHEIT_TO_CELSIUS; // 화씨를 섭씨로 변환
- 상수를 사용해 화씨를 섭씨로 변환할 때 변환 비율을 고정하여 코드의 가독성을 높입니다.
5. 흔한 실수와 주의사항
- 잘못된 코드:
cout << age; // age가 선언되지 않았습니다.
- 올바른 코드:
int age = 25;
cout << age; // age가 선언된 후 사용합니다.
- 잘못된 코드:
const int MAX_VALUE = 100;
MAX_VALUE = 200; // 상수는 변경할 수 없습니다.
- 올바른 코드:
const int MAX_VALUE = 100; // MAX_VALUE는 변경하지 않습니다.