사자자리
[C++] 변수(정수, 실수, char, bool) / 상수(const) / auto 본문
변수
- 바뀔 수 있는 수
변수의 이름
- 숫자로 시작할 수 없다.
- C++에서 사용하고 있는 키워드를 사용할 수 없다.
- white space를 사용할 수 없다.
//잘못된 예
int 7books; //숫자로 시작할 수 없다.
int return; //C++에서 사용하고 있는 키워드를 사용할 수 없다.
int get sum; //white space를 사용할 수 없다.
변수의 선언, 대입, 초기화
#include <iostream>
using namespace std;
int main() {
int a; //변수의 선언
a = 10; //대입
int b = 20; //변수의 선언과 초기화
cout << a << endl << b << endl;
return 0;
}
<실행 결과>
10
20
정수 자료형
2 바이트 | (signed) short (int) | -32,768 ~ 32,767 |
4 바이트 | (signed) int | -2,147,483,648 ~ 2,147,483,647 |
(signed) long (int) | -2,147,483,648 ~ 2,147,483,647 | |
8 바이트 | (signed) long long (int) | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
2 바이트 | unsigned short (int) | 0 ~ 65,535 |
4 바이트 | unsigned (int) | 0 ~ 4,294,967,295 |
unsigned long (int) | 0 ~ 4,294,967,295 | |
8 바이트 | unsigned long long (int) | 0 ~ 18,446,744,073,709,551,615 |
#include <iostream>
#include <climits>
using namespace std;
int main() {
int test_int = INT_MAX;
short test_short = SHRT_MAX;
long test_long = LONG_MAX;
long long test_llong = LLONG_MAX;
cout << "short는 " << sizeof test_short << "바이트이다. 최대값은 " << test_short << " 이다." << endl;
cout << "int는 " << sizeof test_int << "바이트이다. 최대값은 " << test_int << " 이다." << endl;
cout << "long은 " << sizeof test_long << "바이트이다. 최대값은 " << test_long << " 이다." << endl;
cout << "long long은 " << sizeof test_llong << "바이트이다. 최대값은 " << test_llong << " 이다." << endl;
return 0;
}
<실행 결과>
short는 2바이트이다. 최대값은 32767 이다.
int는 4바이트이다. 최대값은 2147483647 이다.
long은 4바이트이다. 최대값은 2147483647 이다.
long long은 8바이트이다. 최대값은 9223372036854775807 이다.
실수 자료형
4 바이트 | float | 1.175494e-38 ~ 3.402823e+38 |
8 바이트 | double | 2.225074e-308 ~ 1.797693e+308 |
#include <iostream>
using namespace std;
int main() {
float a = 3.14;
int b = 3.14;
cout << "float a = " << a << endl;
cout << "int b = " << b << endl;
return 0;
}
<실행 결과>
float a = 3.14
int b = 3
문자 자료형 char
- 작은 따옴표(' ')를 사용한다.
- 한 문자만 받을 수 있다. 1 바이트.
- 기본값이 정수로 저장된다. ASCII 코드.
Letter | ASCII Code | Binary | Letter | ASCII Code | Binary |
a | 097 | 01100001 | A | 065 | 01000001 |
b | 098 | 01100010 | B | 066 | 01000010 |
c | 099 | 01100011 | C | 067 | 01000011 |
d | 100 | 01100100 | D | 068 | 01000100 |
e | 101 | 01100101 | E | 069 | 01000101 |
f | 102 | 01100110 | F | 070 | 01000110 |
g | 103 | 01100111 | G | 071 | 01000111 |
h | 104 | 01101000 | H | 072 | 01001000 |
i | 105 | 01101001 | I | 073 | 01001001 |
j | 106 | 01101010 | J | 074 | 01001010 |
k | 107 | 01101011 | K | 075 | 01001011 |
l | 108 | 01101100 | L | 076 | 01001100 |
m | 109 | 01101101 | M | 077 | 01001101 |
n | 110 | 01101110 | N | 078 | 01001110 |
o | 111 | 01101111 | O | 079 | 01001111 |
p | 112 | 01110000 | P | 080 | 01010000 |
q | 113 | 01110001 | Q | 081 | 01010001 |
r | 114 | 01110010 | R | 082 | 01010010 |
s | 115 | 01110011 | S | 083 | 01010011 |
t | 116 | 01110100 | T | 084 | 01010100 |
u | 117 | 01110101 | U | 085 | 01010101 |
v | 118 | 01110110 | V | 086 | 01010110 |
w | 119 | 01110111 | W | 087 | 01010111 |
x | 120 | 01111000 | X | 088 | 01011000 |
y | 121 | 01111001 | Y | 089 | 01011001 |
z | 122 | 01111010 | Z | 090 | 01011010 |
#include <iostream>
using namespace std;
int main() {
char a = 77;
char b = 'M';
cout << "a = " << a << endl; //M 출력. ASCII 코드 상에서 77이 M과 대응되기 때문이다.
cout << "b = " << b << endl; //M 출력.
return 0;
}
bool 자료형
- 0: False
- 1 (0 이외의 모든 수): True
#include <iostream>
using namespace std;
int main() {
bool a = 0;
bool b = 1;
bool c = 100;
cout << "a = " << a << endl; //a = 0 출력
cout << "b = " << b << endl; //b = 1 출력
cout << "c = " << c << endl; //c = 1 출력
return 0;
}
상수 const
- 바뀌지 않는 수
- 바뀔 필요가 없는 수
#include <iostream>
using namespace std;
int main() {
const float pi = 3.14; //상수 선언 및 초기화
int r = 3;
float area = r * r * pi;
cout << area; //28.26 출력
return 0;
}
auto
- 초기화할 때, 자동으로 변수형을 정해준다.
- 일반적인 코딩 상황에서는 자제한다.
- 복잡한 변수형을 다룰 때 유용하다.
#include <iostream>
using namespace std;
int main() {
auto a = 100; //int
auto b = 1.1; //float
auto c = 1.3e12L; //long long
return 0;
}
'C++ > C++ 이론' 카테고리의 다른 글
[C++] 구조체(struct) / 공용체(union) / 열거체(enum) (0) | 2022.07.16 |
---|---|
[C++] 배열 / 문자열(char, string) (0) | 2022.07.16 |
[C++] 데이터형 변환 (0) | 2022.07.13 |
[C++] #include <iostream> (0) | 2022.07.13 |
[C++] Visual Studio 설치 및 실행 (0) | 2022.07.13 |
Comments