본문 바로가기

강의자료/C/C++

003. 변수와 상수를 이해하자.

◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!


변수란, 말그대로 변하는 수이다.
수가 변한다는 건 무엇을 의미하는 걸까? 수가 변한다는 건 어딘가에 기억(저장)이 된다는 소리와 같은 말이다.
왜냐고?? 기억되지 않은 수에 변화란 존재할 수 없기 때문이다. 이전 상태가 없는데 어떻게 변했다고 얘기할 수 있겠는가?
결국, 프로그래밍에서 변수라는 것은 컴퓨터의 기억공간(메모리), 또는 그 공간에 저장된 수를 의미한다.

그렇다면, 우선 변수는 어떻게 생겼는지 구경부터 해보자. 
#include 
#include 

using namespace std;

int main()
{
	int year = 2010;				// 정수.
	char cc = 'A';					// 문자.(-> 사실은 숫자)
	char * hi = "안녕하세요.";		// 문자열 1.
	char hello[] = "반갑습니다.";	// 문자열 2.
	float pi = 3.14f;				// 실수.

	// 1byte = 8bit. = 2진수 8자리. -> 11111111(=255)
	// 2byte = 16bit. = 2진수 16자리. -> 1111111111111111(=65535)

	// short -> 2byte, long -> 4byte

	//__int8 -> 1byte
	//__int16 -> 2byte
	//__int32 -> 4byte
	//__int64 -> 8byte

	// float(실수) -> 4byte
	// dobule(실수) -> 8byte

	// % 출력 -> %% (printf에서만)
	// \ 출력 -> \\ (printf와 cout모두)

	printf("%s / %c : %d, %f\n", hi, cc, year, pi);	// %g : 소수점까지만 표시.

	cout << hello << " / " << cc << " : " << year << ", " << pi << endl;

	return 0;
}
#include 
#include 

using namespace std;

int main()
{
	// 변수의 선언 및 초기화.
	int a;
	int b;
	int c;

	a = 10;
	b = 20;
	c = 30;

	int q = 10;
	int w = 20;
	int e = 30;

	int u, i, o;
	u = 10, i = 20, o = 30;

	int j = 10, k = 20, l = 30;

	// 초기화 상수.
	a = 13;			// 10진수.
	b = 013;		// 8진수. 13->11, 앞부분에 영을 붙인다.
	c = 0x13;		// 16진수. 13->19, 앞부분에 영엑스를 붙인다.

	// 변수 이름 규칙.
	// 1. 대소문자 구별.
	//int a;	//-> 에러.
	int A;		//-> 통과.
	// 2. 변수 이름에는 알파벳, 숫자, 언더바(_)의 조합만 가능.
	// 3. 변수 이름의 첫글자는 숫자로 불가능.

	// 연산자.
	int res;

	res = a + b;
	res = a - b;
	res = a * b;
	res = a / b;

	res = a + b * c;
	res = (a + b) * c;

	res = 10 % 3;	// 나머지연산.

	res = res + a;
	res += a;
	res = res - a;
	res -= a;
	res = res * a;
	res *= a;
	res = res / a;
	res /= a;

	// 문자란?
	char ch = 'A';		// ch에는 숫자 65가 저장이 된다.
	cout << ch << endl;

	int ch2 = 'A';
	cout << ch2 << endl;

	return 0;
}
다음은 상수에 대해서 알아보자. 상수란, 항상 같은 수, 즉 어딘가에 기억(저장)되지 않는 수를 뜻한다.
#include 
using namespace std;

// 상수 선언.
#define PI 3.14
const double GOLD = 0.618;

void main()
{
	double rad = 10.0;			// 원의 반지름.
	double sqr = PI*rad*rad;	// 원의 넓이.
	double len = 2*PI*rad;		// 원의 둘레.
	double other = 1.0/GOLD;	// 황금률 역수.

	cout << "반지름이 " << rad << "인 원의 넓이 :  " << sqr << endl;          
	cout << "반지름이 " << rad << "인 원의 둘레 :  " << len << endl; 
	cout << "황금률 : " << GOLD << ",  황금률 역수 :  " << other << endl;
}