Developer

2.(C++) 입출력 및 자료형 본문

Programming Language/C++

2.(C++) 입출력 및 자료형

DPhater 2020. 8. 1. 22:31

변수

C++에서의 변수 선언도 C언어와 똑같다. 만약 C언어를 안배웠다면 아래 글을 참고하자!

https://dphater.tistory.com/entry/2c%EC%96%B8%EC%96%B4-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B6%9C%EB%A0%A5

 

또한 C++11부터는 변수를 초기화할 때 { }를 사용해 초기화 할 수 있다.

int i=100;
int i {100};

위의 두 가지 초기화 방법은 완전하게 똑같은 코드이다.

자료형

변수를 선언할 때는 변수의 이름 앞에 자료형을 작성해주어야 한다. 자료형은 크게 정수형, 실수형, 문자형, 부울형이 있다.

정수형

short

2Byte

int

4Byte

long

4Byte

long long

8Byte

실수형

float

4Byte

double

8Byte

long double

8Byte

문자형

char

1Byte

부울형

bool

1Byte

정수형은 말 그대로 정수를 저장하고, 실수형은 소수점으로 표현 된 실수, 문자형은 하나의 문자, 부울형은 true(참),false(거짓)값만 저장하는 자료형이다.

몇몇 자료형의 크기는 운영체제,플랫폼에 따라 다르다. 각 자료형이 저장할 수 있는 범위가 궁금하다면 C언어 카테고리의 각 자료형별 글을 살펴보자.

문자열 자료형

C에서는 문자열위한 자료형이 따로 존재하지 않고 char형 배열을 이용해야했다. C++의 경우 문자열을 저장하기위한 자료형이 따로 존재한다. 문자열 자료형을 사용하기 위해서는 string이라는 헤더를 포함 시켜주어야하고, 문자형 자료형의 이름 또한 string이다.

#include<iostream>
#include<string>    //string자료형을 사용하기위한 헤더 포함

int main(){
  string s1="Hello";    //문자열 자료형 s1에 "Hello" 저장
  string s2="world";    //문자열 자료형 s2에 "world" 저장
}

그리고 C++에서는 문자열끼리의 연산기능을 제공한다.

#include<iostream>
#include<string>

using namespace std;

int main(){
	string s1="Hello";
	string s2="World";
	string s3;
	int num1=10;
	
	cout<<s1+s2<<endl;
	
	s3=s1+to_string(num1);
	cout<<s3<<endl;
	return 0;
}

코드1 실행 결과

위의 코드를 보면 문자열 변수들을 +를 사용해 이어붙여 출력할 수 있으며, 정수형 변수는 to_string() 함수로 문자열로 바꾸어 다른 문자열과 이어 붙일 수 있다. 비교연산자도 사용 가능하니 궁금하다면 한번 확인해보길 바란다.

입출력

C++에서는 표준 입력은 cin객체, 표준 출력은 cout객체를 사용해 할 수 있다. 이전 글에서 말했지만 두 가지 객체를 사용하려면 iostream 헤더를 포함시켜줘야 하며, std라는 namespace에 정의되어 있다.

#include<iostream>
#include<string>

using namespace std;

int main(){
	int num1;     //정수형 변수 num1선언
	double num2;  //실수형 변수 num2선언
	char c1;      //문자형 변수 c1선언
	string s1;    //문자열 변수 s1선언 
	cin>>num1;    //키보드로 정수형식으로 읽어 num1에 저장
	cin>>num2>>c1>>s1;  //연속으로 입력받아 각 변수에 저장
	
	cout<<num1<<" "<<num2<<" "<<c1<<endl;
	cout<<s1<<'\n';
	return 0;
}

코드2 실행 결과

C에서는 scanf()와 printf()를 사용해 입력과 출력을 수행을 할 수 있고, 이 함수를 사용할 때 자료형에 맞는 서식지정자를 작성해 주어야했다. 하지만 C++의 cin과 cout은 변수에 타입에 따라 자동적으로 입력, 출력 형식이 결정되어 간단하게 사용할 수 있다.

cout객체는 <<연산자를 사용해 출력대상을 받아 출력해주고,

cin객체는 >>연산자를 사용해 입력대상을 변수에 저장해준다.

또한 >>, <<연산자를 연속으로 사용해서 한번에 출력하거나, 입력받을 수 있다.

	cout<<num1<<" "<<num2<<" "<<c1<<endl;
	cout<<s1<<'\n';

첫 번째 줄은 num1을 출력, 공백 출력, num2를 출력, 공백 출력, c1을 출력 줄바꿈을 출력해 주는 코드이다. 두 번째 줄은 s1을 출력하고 '\n'을 사용해 줄바꿈을 출력해 주는 코드이고 ,endl과 '\n'를 사용했을 때의 결과가 같음을 보여주기 위해 작성했다.

'Programming Language > C++' 카테고리의 다른 글

6.(C++) 구조체  (0) 2020.08.01
5.(C++) 함수  (0) 2020.08.01
4.(C++) 레퍼런스 (Reference)  (0) 2020.08.01
3.(C++) 제어문  (0) 2020.08.01
1.(C++) Hello World!  (0) 2020.08.01
Comments