[C] CH01 - 프로그래밍의 개념

z00m__in·2022년 2월 7일
0

C - Study

목록 보기
1/3

공부를 하는 현 시점은 22년도 2월.
.
사용하는 교재는 <쉽게 풀어쓴 C언어 Express>

1. 프로그래밍 언어

1) 기계어

: 컴퓨터가 바로 알아들을 수 있는 언어

  • 0과 1로 만들어진 언어
  • 특정 CPU에 의존적

2) 어셈블리어

: 기계어의 명령을 상징적 단어인 니모닉 기호로 1:1 대응시킨 언어

3) 고급 언어

: CPU에 독립적으로 프로그램을 작성할 수 있는 언어

  • 프로그래밍을 함에 있어서 프로그래머가 다루게 되는 언어
  • C, C++, JAVA, PYTHON 등이 고급언어의 예
  • 컴파일러: 고급 언어 문장을 기계어로 변환하는 프로그램

4) 자연어

: 인간의 언어

2. 알고리즘

: 문제를 해결하는 절차, 방법과 같은 것

1) 요리와의 비유

  • 재료 : 데이터
  • 재료 보관 : 자료구조
  • 요리하는 과정 : 알고리즘
  • 자료구조 + 알고리즘 = 프로그램

2) 알고리즘의 기술 방법

i) 자연어

: 인간이 사용하는 언어로, 명확한 정의가 필요

ii) 순서도

: 논리 순서 또는 작업 순서를 그림으로 표현하는 방법

  • 수행의 시작/종료
    ex) '시작', '전구가 동작하지 않는다.', '끝'
  • 처리
    ex) '전구를 꽂는다', '전구를 바꾼다', '전구를 수리한다'
  • 판단
    ex) '전구가 꽂혀있는가?', '전구가 탔는가?'
  • 입출력
    ex) '온도를 입력받는다', '온도를 출력한다'
  • 연결자
    : 흐름도가 너무 커서 한 페이지에 나타낼 수 없을 때 다른 곳으로 이동하라는 표시로 사용

iii) 의사코드

: 자연어보다 체계적이나 프로그래밍 언어보다 덜 엄격한 표현법
이산수학에 프로그래밍 과정을 기술할 때 사용

3. 프로그램 개발 과정

1) 요구사항 분석

: 어떤 목적의 프로그램을 만들 것인지 결정

2) 설계

: 알고리즘을 설계

  • 순서도와 의사 코드를 도구로 사용
  • 프로그래밍 언어와는 무관하게, 결과를 위한 단계에 집중

3) 구현

: 개발도구를 사용해 소스코드를 작성

  • 알고리즘을 프로그래밍 언어의 문법에 맞게 기술하는 것
  • 에디터 > 소스파일 > 컴파일러 > 오브젝트 파일 > 링커 > 실행파일 > 실행
    • 에디터: 텍스트 에디터 및 통합개발환경(IDE) 이용
    • 소스파일: 프로그래밍 언어에 맞춰 작성된 파일
    • 컴파일러: 문법 확인하는 과정 (컴파일 오류=문법오류)
    • 오브젝트 파일: 이진수로 구성
    • 링커: 라이브러리(이미 작성된 자주 사용되는 기능들)와 연결된 프로그램
    • 실행 및 디버깅: 실행시간 에러, 논리 에러, 컴파일 시간 에러의 오류들을 잡는 과정

4) 테스팅

: 여러 경우에 대해 프로그램을 실행

5) 유지보수

: 필요한 수정사항을 반영

profile
우당탕탕 기록지

0개의 댓글