본문 바로가기

코딩/객체지향프로그래밍

[C++] C++ basic

출처: https://isocpp.org/

 


 

1. Identifier(식별자) : 변수, 상수, 함수의 이름

  • 첫번째 문자는 반드시 알파벳 or 언더바 (숫자나 특수문자는 x)
  • 나머지 문자는 특수문자를 제외하고 모두 가능
  • C++은 대,소문자를 구분함 (→ case-sensitive한 언어)
  • 예약어(C++에서 이미 문법적인 용도로 등록되어 의미가 약속된 단어들)는 identifier로 쓰일 수 x

 

2. Variables(변수)

1. Integer(정수)

#include <iostream>

int main() {
    int x; //int형 변수 x 선언
    x = 10; //변수 x에 10이라는 값 할당
    
    return 0;
}
  • int: 4byte → 2^32가지 상태 저장 가능 (약 -20억~+20억 범위까지 포함)
  • short int: 2byte → 2^16가지 상태 저장 가능
  • long int: (windows에서는 4byte)
  • long long int: 8byte → 2^64가지 상태 저장 가능
  • unsigned: 부호가 없음을 의미 (즉, 양수만 취급)

2. Floating-Point(실수)

#include <iostream>

int main() {
    float pi1 = 3.141592 //float형 변수 pi1 선언 및 할당 (선언+할당=초기화)
    double pi2 = 3.141592; //double형 변수 pi2 선언 및 할당
    
    return 0;
}
  •  float: 4byte
  • double: 8byte
  • long double: 8byte

3. Character(문자)

#include <iostream>

int main() {
    char ch1, ch2; //char형 변수 ch1, ch2 선언
    
    /* ASCII code number */
    ch1 = 65;
    
    /* ASCII code */
    ch2 = 'A'; //ASCII code 표에서 알파벳 A는 숫자 65에 대응됨
    
    return 0;
}
  • char: 1byte. 알파벳 1개, 숫자, 문장 부호, 줄 바꿈, 탭  문자 etc..., " "가 아닌 ' '로 사용해야 함
/* ASKII code: 숫자와 문자를 mapping시켜주는 방식 */

char ch1 = 65; //A
char ch2 = ch1 + 32; //a

 

3. Constants(상수)

  • const + (data type) → 상수, 고정됨(추후 변경 불가)
const double PI = 3.14159;
//PI = 2.4; 변경 시 comile error

 

4. Operators(연산자)

  • 산술 연산자 ( + - * / % )
int x = 10, y = 5, temp;

temp = x + y; //덧셈
temp = x - y; //뺄셈
temp = x * y; //곱셈
temp = x / y; //나눗셈
temp = x % y; //나머지

 

  • 복합 연산자 ( += -= /= *= )
int x = 10, y = 5, price = 1000, units = 1;

y += x; //y = y + x
x -= 5; //x = x - 5
x /= y; //x = x / y
price *= units + 1; //price = price * (units + 1)

 

  • 증가/감소 연산자 ( ++ -- )
int x = 10, y;

/* x = x + 1 or x += 1 */
++x; //전위 증가 연산자
x++; //후위 증가 연산자

/* x = x - 1 or x -= 1 */
--x; //전위 감소 연산자
x--; //후위 감소 연산자

/* 전위, 후위 차이 (왼쪽에서 오른쪽으로 실행)
    -> ++가 먼저 나오면 1 증가하고 line실행 
    -> x가 먼저 나오면 line실행 후 1 증가
*/
x = 3;
y = ++x; //x는 4, y는 4

x = 3;
y = x++; //x는 4, y는 3

 

  • 관계 연산자 ( == != > < >= <= )
7 == 5 //false 반환
7 != 5 //true 반환
7 > 5 //true 반환
7 < 5 //false 반환
7 >= 7 //true 반환
4 <= 5 //true 반환

 

  • 조건 삼항 연산자 : 참일 때 출력과 거짓일 때 출력을 조절할 수 있음
include <iostream>

int main() {
    int a, b, c;
    
    a = 2;
    b = 7;
    //조건식 ? 참일 때 값 : 거짓일 때 값
    c = (a > b) ? a : b;
    cout << c << endl; //조건식이 거짓이므로 (b)7 반환
    
    return 0;
}

 

5. Comments(주석)

  • 컴파일러가 무시하는 부분
  • 내가 짠 코드를 다른 사람들이 읽고 이해할 때 유용
  • 메모, 설명
//한 줄 주석

/* 
    여러 줄
    주석
*/

 


*)sample codes: https://github.com/halterman/CppBook-SourceCode

반응형

'코딩 > 객체지향프로그래밍' 카테고리의 다른 글

[C++] String, File - 문자열과 파일 (1)  (0) 2020.07.23
[C++] 조건문과 반복문 (2)  (0) 2020.07.21
[C++] 조건문과 반복문 (1)  (0) 2020.07.18
[C++] 함수(2)  (0) 2020.07.15
[C++] 함수(1)  (0) 2020.07.14