키워드와 식별자
키워드
C++ 언어에서 미리 용도를 정해놓은 단어 (예약어)
반드시 정해진 용도로만 사용
using, namespace, int, return 등
식별자
여러가지 대상을 구분하기 위해 만든 이름
- 변수나 함수, 클래스 등의 이름
식별자 규칙
- 첫 자는 비숫자 문자를 사용
- 이후의 문자는 비숫자 문자, 숫자를 사용, 언더바 가능
- 길이 제한 없음
- 특수문자, 공백 X
- 키워드는 식별자로 사용할 수 없음
- 대소문자 구분
- 한글도 가능하지만 영어 사용 권장
카멜 케이스, 파스칼 케이스, 스네이크 케이스 등 사용
기본 자료형 및 상수와 변수
기본 자료형
- 정수 자료형(고정 소수점): char, int, short, long, bool
- 실수 자료형(부동 소수점): float, double, long double
복합 자료형
- 배열, 구조체(struct), 클래스, 열거형(enum), 공용체(union)
- 포인터, 참조
정수 자료형 (integral types)
고정 소수점(fixed-point) 방식의 숫자 표현
- 오버플로가 발생하지 않도록 주의해야함
문자를 표현하는 자료형
char
정수를 표현하는 자료형
int(8 bit), short(16 bit), long(32 bit), long long(64 bit)
- signed: 음수와 양수 모두 표현
- unsigned: 양수만 표현 (같은 자료형의 경우 2배의 양수 범위 표현 가능)참/거짓을 표현하는 자료형
- bool: true, false (0 이면 참, 아니면 거짓)실수 자료형부동 소수점(floating-point) 방식의 숫자 표현
- float(4 byte)
- 부호 1비트, 지수부 8비트, 가수부 23비트로 구성
- double(8 byte)
- 부호 1비트, 지수부 11비트, 가수부 52비트로 구성
상수의 표현 - 리터럴(literal)
- 정수형 리터럴의 표현
- 숫자를 표현하는 문자와 부호만으로 표현됨
- 숫자를 표현하는 문자
0 ~ 9 까지의 숫자와 - 10 ~ 15에 해당되는 문자(16진수) aF 포함
f, A
접두사를 이용한 진법의 표현
접미사를 이용한 정수 리터럴의 자료형 지정
문자 리터럴의 표현
- 작은 따옴표 안에 문자를 표기하는 방법
- 8진수나 16진수 문자 코드로 표기하는 방법
실수 리터럴의 표현
- 소수점이 있거나 10의 거듭제곱을 표현하기 위한 지수 기호인 'e'가 있는 경우 실수형 리터럴
변수
프로그램이 실행되는 동안 기억하고 있어야 하는 값들을 저장하는 메모리 영역
- 변수에는 이름이 지정되어야 함
- 모든 변수는 사용하기 전에 미리 선언해야 함
- 함수 내부 선언: 지역 변수
- 함수 외부 선언: 전역 변수
변수 선언 형식
int size; // 자료형 변수명
int size, price, stock; // 같은 자료형의 경우 여러개의 변수를 한 번에 선언 가능
변수의 초기화
int total = 0;
int total(0);
int x = 1.5; // 소수점 이하의 값을 버리고 1로 초기화 됨
float y(x); // 1로 초기화 됨
int total = {0}; // eqal 은 생략 가능
// 형변환에 대해 엄격한 방식으로 축소 변환은 불가능
자료형 추론
초기화 하는 값의 자료형으로 변수의 자료형 추론
auto i(10); // int i(10);과 동일한 결과
const와 constexpr
*const 한정어
- 변수의 값을 수정할 수 없게
- 초기화를 통해서만 값을 정할 수 있다
const double PR {3.14159}; // 원주율 정의;
#define PI 3.14159 // 매크로 상수 정의
최근에는 const로 사용하는 것이 일반적
*constexpr
- const와 같지만 값을 컴파일 시 평가
- 실행 중 값을 평가하는 것에 비해 효율적으로 동작
컴파일 시 값을 평가하기 때문에 실행 중 발생하는 값에 대해서는 오류 발생
*constexpr 함수
- 모든 인수가 constexpr인 경우 값을 컴파일 시 구할 수 있음
- 실행 결과를 담는 변수에 constexpr을 지정해주어야 함
변수의 유효기간
변수가 언제 생성되고 언제 사라지는지 (생명주기)
- 자동 변수
생성 시점: 함수가 시작될 때
소멸 시점: 함수가 종료될 때 - 정적 변수 (static)
생성 시점: 프로그램이 시작될 때
소멸 시점: 프로그램이 종료될 때
비트 단위 연산자
논리 합(|): 둘 중 하나라도 1이면 1, 아니면 0 // 특정 비트가 1이 되도록 만들 수 있다
논리 곱(&): 둘 중 하나라도 0이면 0, 아니면 1 // 특정 비트를 0으로 만들 수 있다
베타적 논리 합 (^): 두 값이 같으면 0 다르면 1 // 원하는 비트를 반적 시킬 때
부정 (~): 전체 값의 반전
비트 이동 연산자
좌측이동(<<): 우측 피연산자에 지정된 비트 수 만큼 좌측 피연산자를 좌측으로 이동, 우측에 0으로 채워짐
자료형의 변환
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++) 1. C++ 언어 (0) | 2021.08.30 |
---|
댓글