[따배씨] 1. C언어 입문하기

devheyrin·2022년 2월 9일
0

clang

목록 보기
2/2

C언어의 특징

장점

  • C언어는 운영체제를 만드는 데 사용된 언어!
  • 프로그램의 효율성을 높일 수 있다
  • 강력하면서도 유연하다 = 어디에든 사용할 수 있다. 그러나 프로그래머의 생산성 면에서 가장 우수한 것은 아니다
  • 프로그래머 중심이다 (C++ 의 장점이기도 하다) = 프로그래머에게 많은 권한과 책임을 부여
  • 다른 프로그램으로 이식하기 좋다 = 윈도우, 리눅스에서 동일하게 작동
  • 작은 하드웨어에서 프로그래밍할 때 좋다

단점

  • 좀더 주의가 필요하다

C언어가 쓰이는 곳

  • Unix 운영체제
  • 컴퓨터게임
  • 루카스 필름
  • 임베디드 시스템
  • 자동화 공장
  • 등등 매우 많이 쓰인다

C언어(&C++)는 어디로 가는가?

  • 전체적인 순위에서 C, C++가 높은 순위를 차지하지는 않는다
  • 그러나 핵심적인 부분에서는 여전히 많이 쓰이고 있다는점!

C언어의 표준

1. K&R C (고전 C언어- 원전 저자들의 이름을 따옴)

  • 유닉스와 함께 제공된 라이브러리가 사실상의 표준이 되었다.

2. The Spirit of C

  • ANSI C89 (미국표준, 89년)
  • ISO C90 (세계표준, 90년)
  • 정신
    • 프로그래머를 믿어라
    • 프로그래머가 필요한 일을 하는 것을 방해하지 마라
    • 언어를 작고 단순하게 유지해라
    • 한 연산을 할 때 단 한 가지 방법한 제공해라
    • 호환(윈도우와 리눅스에서 전부 잘돌아가는지)을 보장할 수 없다 하더라도 속도를 빠르게 해라

3. ANSI/ISO C9X(99~) Committee

  • 국제적인 문자집합 추가
  • 64비트 프로세서에 대응
  • 과학,공학 수치 계산 적합도 개선(Fortran을 대체)
  • 언어를 단순하게 유지
  • C가 아니라 C++ 를 키우자!
    • C언어는 변화에 보수적이지만, C++는 C언어의 특징을 가짐과 동시에 편리한 기능도 커지고 있음

4. The C11 Standard

  • C99의 일부를 선택적인 기능으로 변경
  • 멀티 프로세서 대응
    • 예전에는 코어가 하나밖에 없었지만, 최근에는 코어를 여러 개 집어넣어서 빠르게 하고 있음

5. The C18 Standard

  • 새로운 기능 추가 없이 C11의 결함 수정

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

  1. 목적을 정의한다
  2. 프로그램을 설계한다
    1. 목적, 기능을 구현하기 위한 계획 작성하기
  3. 코드를 작성한다 = 오늘날에는 워드프로세서 쓰는것만큼 편리해짐!
    1. 계획을 프로그래밍 언어로 옮긴다
  4. 컴파일한다
    1. '컴파일러'라는 소프트웨어가 작동해, 코드를 컴퓨터가 이해할수있는 언어로 바꿔준다
  5. 실행시켜본다
  6. 시험해보고 오류가 있다면 수정한다
    1. 앞에서의 목적과 부합하는지 확인해보는 과정
    2. 이 과정을 '디버깅'이라고 한다
  7. 프로그램을 유지하고 개선해 나간다

C언어와 함수

프로그래밍에서 함수는 '기능'과 비슷한 의미이다.

입력 → 함수 → 출력

밀가루 → 함수 → 빵

프로그램 설계 능력 = 함수를 만들고 입출력을 잘 정의할 수 있다는 것!

profile
개발자 헤이린 🔜 프로덕트 매니저로 나아가는 중!

0개의 댓글