본문 바로가기

Study_C, C++/홍정모의 따라하며 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 1.1 C언어의 탄생 ~ 1.4 소프트웨어 개발의 7가지 단계

728x90

1.1 C언어의 탄생

- 트랜지스터를 개발한 벨 연구소에서 C언어가 개발됨 (C++도 벨 연구소에서 개발)

- 1969년부터 Unix를 만들다가 어셈블리어로의 개발에 한계를 느끼고 1972년에 C언어가 개발됨 (데니스 리치, 캠 톤슨)

 

1.2 C언어의 특징

- C언어는 운영체제(Unix)를 만들던 언어이므로, 효율성이 높고, 운영체제의 중요한 역할이 하드웨어 제어이므로 C언어는 하드웨어 제어에 강력하다

* 우리가 작성하는 모든 프로그램은 하드웨어를 사용하려고 작성하는 것 이다

 

1.3 C언어의 표준(Standard) 

  • 1978년 The C Programming Language 라는 책의 초판을 출간. 커니핸과 리치의 앞 글자만 따서 C 프로그래머들에게는 "K&R"로 불리는 이 책은, 비공식적이지만 오랫동안 C의 규격과 같은 역할을 함(K&R C or Classic C). Unix와 함께 배포되며 제공된 라이브러리가 사실상의 표준
  • 이후 C언어가 발전하고 널리 쓰이며 다양한 종류의 컴파일러가 등장하고 서로 다른 문법을 지원하게 되자, C언어 국제 표준의 필요성이 대두됨

- ANSI C 89 

  • American National Standards Institute에서 설립한 최초의 C언어 표준. 이때 C언어의 정신이 정해짐

- ISO C 90 : International Organization for Standardization(국제 표준화 기구)가 ANSI C 내용을 채택. ANSI C와 내용은 같음. 

- C 99 : 국제화 추가. 현재 가장 많이 쓰이는 표준안.

C는 단순하게 유지하여 최소화하고 강력하게 유지. 대신 C++에 여러가지 기능을 추가함 (C는 가볍고, C++은 무겁다)

- C 11 Standard : C언어는 여러 시스템 (Windows, Linux등)에서 사용하는데, 이 때 표준을 더 줄이면 각각의 시스템에서 최적화가 가능하므로 C99의 일부를 선택적 기능으로 변경

- C 18 Standard : C11의 결함 수정. 현재 기본 컴파일러 사용시 C 18 사용

 

* C언어는 꾸준히 관리가 되고 있다

 

1.4 소프트웨어 개발의 7가지 단계

  1. 목적을 정의 : 왜 필요한가? 목적 달성을 위해 필요한 기능 정리 필요
  2. 프로그램을 설계한다 : 목적 달성을 어떻게 할 것인지 계획 수립
  3. 코드를 작성한다 : 설계한 내용들을 실제 프로그래밍 언어로 옮김
  4. 컴파일 한다 : 컴파일 = 컴파일러가 내 코드를 기계어로 변환시켜줌
  5. 실행시켜본다 (Run)
  6. 시험해보고 오류가 있다면 수정한다 (Debugging)
  7. 프로그램을 유지하고 개선해 나간다

* 버그라는 용어의 유래

펀치 카드에 벌레가 껴 오류 발생 (Bug) -> 그 벌레를 제거함으로써 오류 해결 (Debugging)

 

 


강의 출처 : https://www.inflearn.com/course/following-c/dashboard

 

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com