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언의 문법에 맞지 않는 형식의 사용이나 반드시 필요한 지정이 빠진 경우 등에서 발생
- 에러 메시지를 확인하여 반드시 수정하여야 함
- 경고
- 경고는 일단 컴파일은 가능한 경미한 실수를 했을 때 발생
- 경고메시지의 내용을 파악해서 타당한 지적이라면 수정, 그렇지 않다면 무시해도 상관없음
- 경고를 무시해도 실행파일을 생성해서 실행할 수 있는 경우가 많음
- 에러
- 프로그래밍 언어