본문 바로가기

교육 노트/C++ 기초강의

[C++ 때려 잡기] C++ 기초강의 1-2 기본문법-변수

2018/08/23 - [교육 노트/C++] - C++ 기초 강의 OT

2018/08/23 - [교육 노트/C++] - C++ 기초강의 1-1 기본문법-Hello World




1. 변수

수학에서 변수 x,y 할때 그 변수와 동일한 개념이다.


이를 컴퓨터 공학(c++)에서는 컴퓨터 메모리 공간에 값을 저장, 변경, 사용 할 수 있는 공간을 의미한다.

값은 있으나 변경 불가능하면 이를 상수라고 부른다.



위는 X라는 변수에 5를 더한 값을 Z라는 변수에 대입한것이다.


2. 변수 타입

C++은 정적 타입 언어로 변수를 만들기 위하여 해당 변수의 타입이 정해져 있어야한다.


변수타입은 해당 변수가 어떤 종류고, 어떤 용도로 사용되는지를 의미하는데


쉽게 설명하자면 X라는 변수를 사용하려면  X가 숫자인지, 문자인지 이러한 정보를 알려주어야 한다는것이다.


C++의변수 타입은 다음과 같다.


 더 많은데.. 일단 int/float, double/char/bool 정도는 기본적으로 알아야한다.


int는 integer의 약어로 정수를 의미한다.  (1,2,3,4,...) 기본적으로 4바이트 (32비트 cpu 32비트 OS)라고 일단 알고 있으면 되고 대충 -21억부터 21억 까지의 값을 저장할수있다.


float 는 그 떠다니는 float 라는 뜻이 맞고 정수가 아닌 소수 (3.55, 3.141592) 이런 수를 저장하기 위함이다.

왜 뜬금없이 float냐 함은.. 부동소수계산법 같은건데 이는 여기서 설명하기는 조금 그러하므로 생략


double 은 그 2배의 더블이고 float보다 바이트가 2배 많아서  더블이다;;


char는 character의 약어로 문자 하나를 표현하는 변수 타입이다 ('A', '4')

char는 ' (일반 따옴표) 사이에 넣어서 표현하는데  딱 문자 하나만 넣을수있다

즉 'AA'는 안된다, 한글도 안된다! 그이유는 나중에 나온다!


또한 숫자 4와 문자 '4'는 다른것이다.


또한 bool은 여기에는 없는데

참/거짓을 표현하는 변수이다, 저장할수 있는것이 true 와 false뿐이다.


변수 타입

1. 정수 표현 : int

2. 실수 표현 : float, double

3. 문자 표현 : char

4. /거짓 표현 : bool





3. 변수 선언


변수 선언이란 내가 해당 변수를 쓰고 싶으니까 해당 변수를 쓰는걸 알려줘 변수를 생성하는것을 의미한다.

변수 선언 법은 다음과 같다.

1. <type> <name>; 

//변수 선언(메모리에 할당)

2. <type> <name> = <value>;

//변수 선언과 함께 값을 지정(기화)


예를 들면

1. int number; 

//변수 선언(메모리에 할당)

2. float  floatNumber = 3.5;

//변수 선언과 함께 값을 지정, 초기화



변수 선언만 하면 해당 변수를 활용할 변수가 생성되고이를 사용할수가 있다.

선언과 함께 초기화 하는것은 해당 변수를 만들고(선언) 해당 변수에 값을 지정(초기화) 하는것을 의미한다.



4. 변수 이름

위의 예시에서 number , floatNumber등이 해당 변수의 이름이다.

c++ 에서는 변수이름을 정할때 다음과 같은 규칙을 가지고있다.


변수 이름 규칙

1.예약어를 사용할 수 없다.
2.변수이름의 시작은 알파벳 또는 _ (언더바)
3.변수이름은 알파벳, 숫자, _(언더바) 를 조합하여 사용
4.대소문자를 구분한다. (aA는 다른 변수)










참고

컴퓨터는 이진법을 사용하는것정도는 알고있을것이다.

따라서 컴퓨터는 0,1로만 정보를 저장하는데

여기서 0 또는 1이  하나 들어갈 메모리 를 1bit 라고 한다

1비트가 8개 모이면 이를 1byte 라고한다.


따라서 4바이트인 int는 32bits 를 의미하고


0000 0000  0000 0000  0000 0000  0000 0000

부터

1111 1111  1111 1111  1111 1111  1111 1111

까지 저장할수있으며 1bit당 2의 표현 (0 또는 1)이 가능하므로

2^32 개의 숫자를 표현할수있다. 따라서  4,294,967,296 개의 표현이 가능하고

이를 -와 + 나눠서 대충 -21억 부터 21억까지 표현 할 수 있는것이다.






728x90