티스토리 뷰

C

[C] C언어의 개요

tonirr 2021. 3. 9. 00:34
  • C언어의 정의
    • 프로그래밍 언어
      • 사람과 컴파일러가 이해할 수 있도록 약속된 형태의 언어
        • 기계어, 어셈블리어, C, C++, C#, java, php등
        • 사람 - 인간의 언어, C언어 -> 컴파일러 - C언어, 기계어 -> 컴퓨터 - 기계어
    • 컴파일러
      • 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 번역기
        • 어셈블러
          • 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기
        • 인터프리터
          • 소스프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석해서 실행하는 언어처리 프로그램
    • C언어의 특징
      • 프로그램 이식성이 높음
      • 간단한 문법표현으로 함축적인 프로그램 작성이 용이함
      • 저급언어 특성을 가진 고급언어
        • 저급언어: 컴퓨터가 잘 알아들을 수 있는 언어
        • 고급언어: 컴퓨터가 잘 알아들을 수 없는 언어 
    • C 프로그램 완성 과정
      • 코딩 -> 컴파일 -> 링킹
        • 코딩단계: 주어진 문제에 대한 설계를 바탕으로 소스코드를 작성해서 소스파일을 생성하는 과정
          • 소스파일 생성(sample.c)
        • 컴파일단계: 소스파일이 목적파일로 변환되는 과정
          • 목적파일 생성(sample.obj)
        • 링킹단계: 목적파일을 실행파일로 변환되는 과정
          • 실행파일 생성(sample.exe)
    • C 프로그램의 작성과 실행 예
      • Dev-C++ 컴파일러
      • Visual Studio 컴파일러
    • C 프로그램의 구성
      • 예약어
        • 자료형 관련 예약어
          • char, int, float, short, long, ...
        • 기억 관련 예약어
          • auto, static, extern, register, ...
        • 제어 관련 예약어
          • if~else, for, while, do~while, writch~case, break, continue, return, ...
        • 기타 예약어
          • main, sizeof, include, ...
      • 명칭(idetifier)
        • 명칭의 규칙
          • 올바른 명칭: sun10(영문자와 숫자 조합가능), SUN10(sun10과는 다른명칭), For(예약어 for와는 다름), _sum(밑줄(_)사용가능)
          • 잘못된 명칭: 2m(숫자로 시작불가), KBS@TV(특수문자 사용불가), for(예약어 사용불가), SUN 10(문자사이 공백사용불가)
      • 상수(constant)
        • 수치상수, 문자상수, 문자열 상수
      • 연산자(operator)
      • 설명문(주석문)
    • 에러와 경고
      • 에러 
        • C언어의 문법상 잘못된 경우 에러메세지를 출력
        • 즉, C언의 문법에 맞지 않는 형식의 사용이나 반드시 필요한 지정이 빠진 경우 등에서 발생
        • 에러 메시지를 확인하여 반드시 수정하여야 함
      • 경고
        • 경고는 일단 컴파일은 가능한 경미한 실수를 했을 때 발생
        • 경고메시지의 내용을 파악해서 타당한 지적이라면 수정, 그렇지 않다면 무시해도 상관없음
        • 경고를 무시해도 실행파일을 생성해서 실행할 수 있는 경우가 많음

'C' 카테고리의 다른 글

[C] 포인터와 배열  (0) 2021.04.27
[c] 포인터  (0) 2021.04.21
[C] 배열  (0) 2021.04.14
[C] 입.출력 함수와 연산자  (0) 2021.03.25
[C] 자료형과 선행처리기  (0) 2021.03.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함