1. C++의 기본 예제와 자료형

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)에 있는 입출력함수인 cincoutiostream이라는 헤더파일에 선언되어 있는 함수들이기 때문에 따로 정의를 하지 않고 사용할수 있습니다.
(2) - std라는 namespace를 사용한다는 뜻으로 본래에 cincoutstd::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