2022. 7. 8. 11:54ㆍ코딩테스트/C++&자료구조기본
C++의 기본 예제
#include<iostream> // (1)
using namespace std;// (2)
int a;// (3)
int main(){
cin >> a;// (4)
cout << a << endl;// (5)
return 0;// (6)
}
(1) - 헤더파일은 <>안에 선언된 함수들을 호출하여 사용할 수 있게 됩니다. 예를 들어 (4) 와 (5)에 있는 입출력함수인 cin
과 cout
은 iostream
이라는 헤더파일에 선언되어 있는 함수들이기 때문에 따로 정의를 하지 않고 사용할수 있습니다.
(2) - std라는 namespace를 사용한다는 뜻으로 본래에 cin
과 cout
은 std::cin
,std::cout
와 같이 호출 해야하는데 std::
를 생략하는 과정이라고 생각하시면 됩니다. namespace는 이후 클래스에서 자세히 다루겠습니다.
(3) - 정수자료형을 전연변수로 선언하였습니다. ps를 푸실때는 대부분의 자료형은 전역변수로 하시면 좋습니다. 전역변수로 선언할시 기본적인 디폴트 값이 넣어지기 때문에 가비지값이 나오는것을 막을수 있습니다.
(4) - 입력입니다. 추후 자세히 설명드리겠습니다.
(5) - 출력입니다. 추후 자세히 설명드리겠습니다.
(6) - 프로세스가 성공적으로 종료했다는 의미로 0을 return을 해야합니다.
형
(1) char, 문자형
'
를 이용해서 선언을 해야 하고, 1byte의 크기를 가집니다.
#include<iostream>
using namespace std;
int main(){
char a = '1';
cout << a << endl;
return 0;
}
문자 a를 선언하고 a를 출력하는 예입니다. 이때 1
은 정수가 아니라 문자그대로이기 때문에 연산이용시 아스키코드 값으로 연산이 됩니다.
예를 들어 a = a + 20;
을 한다면 1
의 아스키 코드는 49 이기 때문에 69에 대응되는 E
가 출력됩니다.
아스키 코드표는 https://www.ascii-code.com/에서 확인 가능합니다.
(2) string 문자열
문자열은 char[]
를 이용해서 선언할 수 있지만, ps를 하는 입장에서는 string을 선언하는게 좋습니다.
#include<iostream>
#include<string>
using namespace std;
int main(){
string a = "Hello"
cout << a.size() << endl; // 5
a += ", it's No.1 coding story."
cout << a << endl; //Hello, it's No.1 coding story.
return 0;
}
a += k;
은 a = a + k;
와 같은 의미이며 기존값에 더하는 것 입니다.a.size()
은 문자열의 크기를 출력합니다.
(3) bool, 참과 거짓
1 byte이며 참과 거짓을 나타냅니다. 참은 1, 거짓은 0으로 선언합니다.
(4) int, 정수형
int 은 4 byte정수형이며 약 20억 까지 표현가능합니다.
문제를 보고 출력하는 값이나 주어지는 변수가 20억이 넘아간다면 int 보다 더 큰 범위를 나타낼수 있는 long long을 써야 하고, 그것보다 큰 값이라면 string으로 받고 문제 상황에 맞게 int로 변형해서 풀어야 합니다.
(5) double 실수형
float
도 있지만 double
이 실수값이 더 정확하게 나옵니다.
(6) unsigned 자료형
범위에서 -를 제외한것이고 그 범위를 +에 추가한것이기에 기존의 자료형보다 2배더 큰 범위를 나타낼수 있습니다.
구분 | 자료형 | 크기 | 범위 |
---|---|---|---|
문자형 | char | 1byte | -128 ~ 127 |
정수형 | int | 4byte | -2,147,483,648 ~ 2,147,483,647 |
실수형 | double | 8byte | 3.4E-38(-3.410^38) ~ 3.4E+38(3.410^38) |
'코딩테스트 > C++&자료구조기본' 카테고리의 다른 글
4. 연산자 (0) | 2022.07.28 |
---|---|
3. 문자열 (0) | 2022.07.26 |
2. C++ 입출력(ps관점) (0) | 2022.07.14 |