[c++] c++ 입문③ - 변수를 정복하자!

C++ 헤쳐나가기 시리즈

[c++] c++ 입문① - 친밀도 높이기(사람 관점에서 컴퓨터 언어 바라보기)

[c++] c++ 입문② - 첫 프로그래밍, 희열을 느껴보자

[c++] c++ 입문③ - 변수를 정복하자!


 

 

변수

지정된 데이터 유형의 정보를 보관하는 기억 장소 

 

특징 

- 데이터나 계산 결과를 저장하는데 사용

- 변수의 유형을 지정

- 사용되기 전에 선언되어야함 

 

변수이름 규약

- 변수 이름 길이는 제한 없으며, 대소문자를 구별 

- 변수 이름은 _,영문자(A~Z, a~z), 숫자(0~9)를 사용하여 작성되고 이름의 시작은 문자나 _를 사용함 

- 단순히 x, y 같은 이름을 사용하기보다 의미 있는 단어를 이름으로 사용할 것 

  예) radius, area, commission, interestRate, interest_rate

- 키워드는 이름으로 사용 불가

  * 키워드(=예약어): c++에서 미리 정의하여 사용하는 단어 ex) bool, char, const, enum 

 


변수 선언 

- 선언을 통해, 컴파일러에게 사용하려는 데이터 유형의 크기만큼의 메모리 공간을 할당하는 행위

 

// 변수선언 방식

데이터타입 변수이름;

double number;	// double형 크기만큼 메모리를 number라는 변수에게 할당


- 변수는 사용하기 전에 초기화하는 것이 좋음(초기값이 없는 경우 결과 예측이 어려움) 

  * 전역변수 초기값 : 0, 지역변수 초기값 : 쓰레기값

  * 변수 유형에 따라 초기화 상태가 달라지지만 초기화하는 습관을 들이는 것이 좋음! 

 

// 변수 유형은 double이고, 변수 이름은 number이며, 변수 초기값은 10이다.  
// 변수를 선언하면 메모리에서는 number라는 double 크기의 임시 공간을 만들고 number에 10을 기억시킴  

double number;  
number = 10;  

→ 변수의 데이터 유형은 double 형이고 변수 이름은 number이며 변수 초기값은 10이다.  
→ 변수를 선언하면 메모리에서는 number라는 double 크기의 임시 공간을 만들고 number에 10을 기억시킴

 

// 1)변수 선언 및 2)초기화 동시 수행 가능
double number = 10; 

→ 변수 선언과 초기화를 한번에

 

// 변수의 데이터 유형이 같다면 한꺼번에 선언 가능 
int a, b, ..., z;  

→ 변수의 데이터 유형이 같다면 여러 개의 변수를 한번에 선언 가능

 

 

 

 

 

키보드로부터 읽기(런타임시 변수값 지정)

std::cin 객체를 사용해서 키보드로부터 값을 읽어들여 사용이 가능하다 

double number;  
std::cout << "숫자 값을 입력해주세요: " << endl; // 사용자에게 입력하도록 유도  
std::cin >> number;	 			// 화면 입력받아 변수에 저장  

→ 사용자에게 숫자를 입력받아 입력값을 변수에 저장하여 최종적으로 사용자가 입력한 값은 number 변수에 기억된다  


- cout : 화면 출력(console out)으로 프롬프트를 이용하여 사용자에게 입력을 유도

- cin :  화면입력(console in)

- >> : 스트림 추출 연산자, 입력 내용을 변수에 저장



* 여러 변수값 한번에 읽기

 

std::cin >> x >> y >> z;  

- 위와 같이 >>를 연결하여 하나의 문장에서 여러 변수값을 읽어들일 수 있음

- 사용자는 차례대로 공백을 띄워 입력하고 엔터키를 누르면 입력이 완성  

 


Namespace 이름공간 

영희야! 하고 함수를 호출하는데 이 영희가 딸기초등학교 소속인지 개미초등학교 소속인지 알 수가 없다. 

 C++에서는 이와같은 잠재적인 명명 문제를 해결하기 위해 모든 이름에 네임스페이스를 부여한다. std::cout이라는 것은 cout이라는 함수의 소속이 std라는 네임스페이스에 속한다는 것을 의미한다. 즉, 객체들이 어느 소속인지를 알려주는 것이다. 

 

 

★그러나 std::를 계속 해서 쓰는 것은 번거로운 일이다. 따라서 초반에 using namespace 키워드를 사용하여 소속공간을 명시할 수 있다.  

using namespace std;  

→  명시적인 네임스페이스 지시자를 사용하지 않아도 std 네임스페이스로 간주하라는 의미이다. 
→ using namespace std; 를 이용하여 명시적 네임스페이스 지시자를 사용하지 않아도 cout과 cin이 std:: 네임스페이스로 간주된다.  

using namespace std;
...

double number; // double 유형의 number 변수를 선언  
cout << "enter a number: "; // number 값을 입력하라고 알려주는 프롬프트  
cin >> number; // 사용자가 입력한 값이 저장된다.  

 

 

프로그래밍

파운드를 킬로그램으로 변환하는 프로그램을 만들어보자 

 

 

#include <iostream>
using namespace std;

int main()
{
	double pound = 0, kilogram = 0;
	
	cout << "Enter a pound : " ;
	cin >> pound;

	kilogram = 0.454 * pound;

	cout << pound << "pound is " << kilogram << "kilogram." << endl;

	return 0;
}

 

반응형
그리드형

댓글

❤️김세인트가 사랑으로 키웁니다❤️