[명품 C++ Programming] chapter 1 : C++시작(1) - 컴퓨터와 프로그래밍

eunee22·2023년 8월 5일

명품 C++ Programming

목록 보기
1/34
post-thumbnail

제가 대학교 1학년 때 [명품 C++ Programming] 교재로 진행되는 C++ 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다.
(2022.9 ~ 2022.12)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.

🍑컴퓨터와 프로그래밍

세상을 먹어 치우는 소프트웨어

  • 소프트웨어 : 컴퓨터 하드웨어를 작동시켜 원하는 동작(ex. 쇼핑, 음악 감상, 게임)을 할 수 있게 하는 것(ex. 스마트폰에서 작동하는 APP)
  • 소프트웨어가 세상을 지배하고 있다
    • 4차 산업의 핵심에 소프트웨어 존재 → AI, IOT, 무인 자동차 등 많은 것들이 소프트웨어와 관련이 있음
  • 소프트웨어의 구성 → CPU가 이해 가능한 일련의 명령들과 데이터들.
    CPU는 이 명령들을 순차적으로 해석하여 실행함으로써 요구된 기능 수행.

프로그래밍과 프로그래밍 언어

  • 프로그래밍 : 컴퓨터가 처리할 일련을 작업을 묘사하는 것.

  • 프로그래밍 언어 : 프로그래밍을 할 때 사용하는 컴퓨터 언어.

  • 프로그래밍 언어의 종류
    1. 기계어 : 이진수(0,1)를 사용하는 가장 원시적인 언어
    ▶ CPU는 이진수밖에 이해하지 못하기에 기계어는 컴퓨터가 바로 이해,
    처리 가능한 언어
    ▶ 사람이 작성하기엔 불편한 저수준 플로그래밍 언어 → 프로그래밍 제작과 수정이 어려움

    2. 어셈블리어 : 기계어의 각 명령어를 니모닉 기호로 일대일 대응 시킨 언어
    ▶ 니모닉 기호(mnemonic symbol) : 사람이 표현하기 쉬운 상징적인 것
    (ex. ADD, MOVE, SUB)
    ▶ 시스템 프로그램인 어셈블러를 통해 기계어 프로그램으로 변환되어 컴퓨터에서 실행됨.
    ▶ 어셈블리어 역시 사람이 다루기 힘든 저수준 언어로서 복잡한 구조의 프로그램 작성이나 다양한 형태의 자료를 표현하기에는 한계가 존재

    3. 고급언어 : 사람이 이해하기 쉽도록 복잡한 작업, 자료, 구조, 알고리즘을 표현하기 위해 고안된 언어
    (ex. C/C++, Java, Basic, Pascal, Fortran)
    ▶ 사람이 이해, 표현하기 쉬움.
    ▶ 시스템 프로그램인 컴파일러에 의해 기계어로 변환되어 컴퓨터에서 실행.
    ▶ 사람이 프로그래밍 언어를 통해서 작성한 고급 프로그램은 컴파일을 거쳐 어셈블리어로 변환되고(obj 파일 생성), 어셈블리어는 어셈블을 통해 기계어로 변환하여 CPU로 전달.
    ▶ obj 파일 : 기계어나 이에 준하는 이진 코드

profile
보안 공부하는 대학교 4학년 / 시리즈에서 더욱 편하게 글을 찾아보실 수 있습니다:)

0개의 댓글