1. 프로그램, 프로그래밍 언어와 C언어

    반응형

    1. 프로그램과 프로그래밍의 개념

    1) 프로그램의 개념

    프로그램 : 컴퓨터가 특정 작업을 수행하도록 지시하는 명령어의 집합

    프로그래머 : 컴퓨터를 구성하는 기계인 하드웨어를 동작시키는 프로그램을 만드는 사람

    2) 프로그래밍의 개념

    프로그래밍 : 컴퓨터에 작업을 지시하는 명령 문서인 프로그램을 만드는 작업

    3) 프로그래밍 언어의 개념

    프로그래밍 언어 : 프로그램을 만들기 위해서 컴퓨터에 명령할 때 사용하는 언어, 다양한 수준과 목적에 맞게 설계

    가. 기계어

    컴퓨터와 소통하는 일차적인 방법으로 2진수인 0과 1로 구성

    나. 어셈블리어

    기계어와 고급 언어의 중간 단계로 기계어를 사람이 이해하기 쉬운 기호나 단어로 표현

    다. 고급언어

    인간이 이해하기 쉽게 설계된 프로그래밍 언어로 예시로는 파이썬, 자바, C++ 등이 존재함.

    라. 컴파일러

    프로그래밍 언어로 작성된 코드 전체를 컴퓨터가 이해할 수 있는 기계어로 변환하는 프로그램

    마. 인터프리터

    프로그래밍 언어로 작성된 코드를 한 줄씩 읽어 해당 명력 실행 프로그램

    4) 프로그래밍 언어의 종류

    가. 절차적 프로그래밍 언어

    프로그램을 연속적인 계산 단계로 나누고 각 단계에서 특정 작업 수행

    나. 객체지향 프로그래밍 언어

    데이터와 해당 데이터를 처리하는 메서드를 객체라는 단위로 묶는 방식

    다. 함수형 프로그래밍 언어

    자료 처리를 수학적 함수의 계산으로 취급, 상태와 가변 데이터를 멀리하는 언어

    2. C언어의 개요

    1) C언어의 탄생

    1972년 미국 AT&T 벨 연구소에서 개발

    Dennis Ritchie와 Ken Thompson이 유닉스 재작성을 위하여 개발

    2) C언어 특징

    가. 범용적인 프로그래밍 언어

    다양한 프로그래밍 분야에 사용 가능

    나. 저급 언어와 고급 언어의 장점이 반영된 언어

    저급언어의 하드웨어 제어 능력, 고급 언어의 개발 편의성

    다. 간결한 표현이 가능한 언어

    복잡한 로직도 적은 줄의 코드로 표현 가능

    라. 이식성이 좋은 언어

    다양한 플랫폼과 프로그램이 C언어 컴파일러 제공

    반응형

    3. 프로그램 개발 과정과 C언어

    1) 프로그램 개발 과정

    가. 요구사항 분석

    개발할 프로그램 목적, 사용자와 시스템에 필요한 요구 사함 파악

    나. 설계

    얻은 정보를 토대로 시스템의 아키텍처를 설계

    다. 구현

    정의된 아키텍처에 따라 실제 코드 작성

    라. 테스트

    설계대로 정확히 작동하는지 검증

    마. 유지보수

    소프트웨어 배포 이후에도 지속적인 관리 필요

    2) C언어 프로그램 작성과 실행

    가. 순서

    소스 코드 작성(소스 파일 생성) - 컴파일(오브젝트 파일 생성) - 링크(실행 파일 생성) - 프로그램 실행(동작 여부 확인) - 오류발생 시 디버깅(프로그램 단계별 실행 테스트) - 소스 코드 작성(오류 확인 후 코드 수정)

    나. 소스 코드 작성

    .c의 확장자를 가진 파일로 저장

    다. 컴파일

    소스 코드를 컴퓨터가 이해할 수 있도록 변환(2진수)

    라. 링크 단계

    컴파일로 생성된 오브젝트 파일을 모아 하나의 실행파일로 결합

    마. 프로그램 실행

    생성된 실행 파일로 프로그램 실행하여 동작 확인

    바. 디버깅

    프로그램 단계별로 실행하여 문제를 수정

    3) 솔루션과 프로젝트

    가. 솔루션

    하나 이상의 프로젝트를 묶어 관리하는 컨테이너로써 프로젝트들의 관계, 빌드, 순서, 공통 설정 등을 정의

    나. 프로젝트

    관련 파일, 소스 코드, 설정 등이 포함된 개발 작업의 기본 단위

    반응형

    댓글