공부 방법
- 올바른 타이핑 방법을 연습한다.
- 간단한 개념을 이해한다.
- 예제를 따라 해본다.
- 문제가 생기면 해결한다. (문제 해결하는 과정이 핵심이다)
- 예제를 내 맘대로 바꿔본다.
프로그래밍을 배우는 이유는 무언가를 만들고 싶어서이다.
프로그래밍 언어란?
프로그램이란 컴퓨터가 원하는 기능을 수행해 주는 것. 이를 위해서는 계산적 사고(컴퓨팅 사고) 가 필요하다.
기계어 (Machine Language)
- 0, 1 이진수를 사용한다.
- 직접 사용하는 경우는 거의 없다.
어셈블리 언어
고수준 언어 (High-Level Languages)
- C, C++, Pascal, Java, Javascript, Perl, Python 등
- 사람이 이해하기 쉬운 문법을 사용한다.
컴파일러와 인터프리터
컴파일러 (Compiler)
- 전체 코드를 번역해 실행 파일(exe) 생성
- 실행 파일은 하드웨어에 보관되어 실행됨
인터프리터 (Interpreter)
- 실행 파일을 생성하지 않음
- 한 줄씩 읽고 바로 실행 → 실행 속도 느림
- 대표적 언어: Python
이식성 (Portability)
- OS마다 실행 파일 호환이 안 될 수 있다. (예: Windows ↔ Linux)
- 장기적으로는 가능해지고 있음.
C/C++ 언어 소개
- C++은 객체 지향 언어
- 중요한 것은 언어 기능을 다 아는 것이 아니라 쓸모있는 기능을 제대로 쓰는 것
프로그래밍 과정
- 문제 정의 – 무엇을 만들고 싶은지, 세부 기능을 잘게 쪼갠다.
- 해법 설계 – 어떻게 만들지 구상한다.
- 구현 – 생각한 대로 프로그램을 작성한다.
- 컴파일 – 코드를 기계어로 번역한다.
- 링킹 – 여러 오브젝트 파일을 하나로 합친다.

→ 요즘은 직접 작성하는 코드보다 오픈소스를 잘 가져다 쓰는 능력이 중요하다.
- 테스트 & 디버깅 – 실행해보고 문제를 고친다.
컴퓨터 메모리 기본 구조
- 메모리에 데이터를 저장 → CPU가 연산 → 다시 메모리에 저장
- 자주 쓰는 데이터는 캐시(Cache)에 저장해 속도를 높인다.
메모리 접근 방식
- RAM (Random Access Memory) → 주소만 알면 바로 접근 가능
- 순차 접근(테이프 방식)은 현대 컴퓨터에서 사용하지 않음
메모리 단위
- 비트(bit): 0 또는 1 (Binary Digit)
- 여러 비트가 모여 바이트, 워드 등을 구성
CPU와 메모리 통신
- 주소 버스(address bus): 데이터가 어디 있는지
- 데이터 버스(data bus): 실제 데이터
- 제어 버스(control bus): 읽기/쓰기 신호
- 이 구조 때문에 포인터(pointer) 가 존재한다.
통합개발환경(IDE) - Visual Studio
프로젝트 관리
- Location(저장 위치)을 잘 관리해야 한다.
프로젝트 생성
- Windows, Console 크게 차이 없음 (Console은 텍스트 출력용)
- Precompiled Header → 멀티플랫폼 코드에서는 사용 X (리눅스에서 컴파일 불가)
컴파일 & 링킹 과정

프로젝트 폴더 구조
- 상위 폴더 열면…
Debug → obj 폴더 확인 가능
명령어 실행
- 원래는 이런 커맨드(Command) 로 실행했음
디버그 빌드 vs 릴리즈 빌드
- 디버그 빌드: 디버깅 정보 포함, 최적화 OFF → 실행 크기 큼, 속도 느림
- 릴리즈 빌드: 불필요한 정보 제거, 최적화 ON → 용량 작음, 실행 속도 빠름
통합 개발환경의 기본적인 사용법 - 윈도우즈/리눅스 Code::Blocks
Code::Blocks 다운로드
- Code::Blocks는 GCC 컴파일러를 사용하므로 별도 다운로드 필요
Code::Blocks 첫 실행
- 처음 실행 시 어떤 컴파일러를 쓸지 설정해야 함
- 프로젝트 단위로 시작하는 것이 편리

- 빌드 모드에서 Debug/Release 설정 가능
Code::Blocks 디버깅

- 코드 실행 중 문제를 추적하고 고치는 과정 → 디버깅(Debugging)
비주얼 스튜디오 - 솔루션, 프로젝트 관리
솔루션과 프로젝트 구조
- 솔루션
- 다양한 언어 혼합 가능
- 계층 구조: 솔루션(.sln) > 프로젝트 > 소스파일(.cpp, .h 등)
빌드와 실행
- 솔루션 밑에 여러 프로젝트가 있을 경우, 빌드 후 생성된 exe 및 필요한 파일들이 솔루션 디렉토리 밑으로 이동
- 해당 위치는 속성에서 변경 가능
실행 프로젝트 선택
- 프로젝트가 여러 개일 경우, 볼드체로 표시된 프로젝트가 실행 대상
하위 시스템 설정
- 프로젝트 우클릭 → 속성 → 링커 → 시스템 → 하위 시스템(콘솔) 설정
관리 팁
- 솔루션 파일은 직접 수정하지 말 것
- IDE에서 프로젝트 제거 → Source 폴더 삭제 → 리빌드
비주얼 스튜디오 2022 기본적인 사용법

- 메뉴: 툴 → 옵션
- F7: 컴파일 오류 확인용 "빌드만" 실행 (프로그램 실행은 안 됨)