일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nginx
- 42Seoul
- libft
- C언어
- 자료형
- Double
- 포인터
- else if
- Class
- 42
- ft_server
- C++
- While
- docker
- 2차원배열
- jupyter 단축키
- python
- cout
- 42cursus
- for
- 함수
- iF
- phpmyadmin
- 패킹
- vs코드 단축키
- 구조체
- list
- float
- 42서울
- 동적할당
- Today
- Total
Developer
2.(C++) 입출력 및 자료형 본문
변수
C++에서의 변수 선언도 C언어와 똑같다. 만약 C언어를 안배웠다면 아래 글을 참고하자!
또한 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;
}
위의 코드를 보면 문자열 변수들을 +를 사용해 이어붙여 출력할 수 있으며, 정수형 변수는 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;
}
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 |