본문 바로가기
프로그래밍 언어/C++

C++) C++ 기초 (1)

by nomfang 2021. 9. 11.
728x90
반응형

키워드와 식별자

키워드

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

댓글