C/Chapter01. 프로그래밍 기본 개념 정리

lullaby ·2025년 10월 1일

C언어

목록 보기
1/10
post-thumbnail

1.1 컴퓨터와 프로그램의 이해

  • 컴퓨터의 정의: 데이터를 가공하여 정보를 얻기 위해 계산(compute)하는 기계
  • 현대적 의미의 컴퓨터: 명령어들의 리스트에 따라 데이터를 처리하는 기계
  • 컴퓨터의 장점: 범용적인 기계로, 프로그램만 바꿔주면 다양한 작업 가능
  • 컴퓨터의 구성 요소: 하드웨어(물리적 장치)와 소프트웨어(프로그램)

1.2 프로그램과 프로그래밍

  • 프로그램: 컴퓨터 하드웨어가 수행할 일련의 작업을 기술하고 있는 명령어의 모임
  • 명령어(instruction): CPU가 처리할 수 있는 2진 코드
  • 프로그래밍: 프로그램을 작성하는 일 또는 그 과정
  • 소프트웨어 종류:
    • 시스템 소프트웨어: 하드웨어를 지시하고 통제하기 위한 프로그램
    • 응용 소프트웨어: 사용자가 원하는 일을 수행하기 위한 프로그램

1.3 프로그래밍 언어

  • 프로그래밍 언어의 역할: 사람과 컴퓨터 사이의 커뮤니케이션 수단
  • 기계어: 컴퓨터 시스템이 사용하는 언어로 0과 1의 집합(이진수)
  • 어셈블리어: CPU 명령들을 기호(Symbolic name)로 표시, CPU에 종속적
  • 고급 언어: 사람이 인식할 수 있는 문자로 작성, CPU에 독립적
  • 컴파일러의 역할: 고급 언어를 기계어로 변환
  • 고급 언어의 장점:
    • 특정 CPU의 동작에 대해 자세히 알 필요가 없음
    • CPU에 독립적인 프로그램 작성 가능
    • 개발 및 유지보수 용이

2. C 언어 개요

2.1 C 언어의 역사 및 특징

  • 탄생: 1970년대 초 벨 연구소의 데니스 리치(Dennis Ritchie)에 의해 UNIX 운영체제를 설계하는 과정에서 개발
  • 표준 C: 모든 C 컴파일러에서 호환되는 표준 규격
  • 현재 표준: C99, C11 개정 표준
  • C/C++ 컴파일러:
    • C 컴파일러와 C++ 컴파일러의 역할을 동시에 제공
    • C 프로그램은 유효한 C++ 프로그램이지만, 그 반대는 아님
    • 파일 확장자 .c일 때는 C 컴파일, .cpp일 때는 C++ 컴파일

2.2 C 언어의 주요 특징

  • 간결성: 구문이 간결하고 구조적인 언어
  • 이식성: 다양한 운영체제와 플랫폼에서 실행 가능
  • 효율성: 프로그램 크기가 작고 실행 속도가 빠름
  • 단점: 배우기 어렵고 사용 시 주의사항이 많음

2.3 C 언어의 활용 분야

  • 여러 컴퓨터 시스템에서 사용할 라이브러리나 응용 프로그램 개발
  • 시스템 프로그램, 서버 애플리케이션, 게임 등 성능 위주의 프로그램
  • 임베디드 프로그램 개발

3. C 프로그램 개발 과정

3.1 통합 개발 환경(IDE)

  • IDE의 정의: 에디터 + 컴파일러 + 디버거
  • 우리가 사용하는 IDE: Visual Studio 2022

3.2 프로그램 개발 단계

  1. 프로그램 설계:
    • 알고리즘(algorithm): 문제 해결을 위한 논리적 절차나 방법
    • 알고리즘은 자연어, 순서도, 의사코드로 기술 가능
  2. 소스 코드 작성:
    • 프로그램이 처리할 작업을 특정 프로그래밍 언어로 기술
    • 텍스트 편집기나 소스 코드 편집기를 이용해 작성
  3. 컴파일 과정:
    • 전처리기: 소스 파일을 컴파일하기 위해 준비
    • 구문 분석: 소스 코드가 C 문법에 맞게 작성되었는지 검사
    • 코드 생성: 오브젝트 파일 생성
    • 링크: 오브젝트 파일과 라이브러리를 링크하여 실행 파일 생성
  4. 실행 및 디버깅:
    • 실행: 생성된 실행 파일을 실행하여 결과 확인
    • 디버깅: 프로그램의 실행 흐름과 값을 확인하여 오류 수정

3.3 프로젝트와 솔루션

  • 프로젝트(*.vcxproj): 소스 파일, 헤더 파일, 컴파일 옵션, 링크 옵션 등 관리
  • 솔루션(*.sln): 여러 프로젝트를 함께 관리하는 파일

3.4 Visual Studio에서의 개발 과정

  1. 프로젝트 생성
  2. 새 항목 추가(소스 파일 생성)
  3. 소스 파일 작성
  4. 빌드(F7)
  5. 실행(Ctrl+F5)
  6. 디버깅

4. C 프로그램 기본 구조 (예제 코드)

#include <stdio.h>  // 헤더 파일 포함

// 주석: 한 줄 주석
/* 여러 줄
   주석 */

// main 함수 - 프로그램의 시작점
int main(void) {
    printf("Hello, World!\n");  // 화면에 출력하는 함수

    return 0;  // 프로그램 종료
}

5. 예상 문제 및 풀이

0개의 댓글