1.1 C언어의 정의
1) C언어 : 프로그래밍 언어
* 프로그래밍 언어
- 사람과 컴파일러(compiler)가 이해할 수 있도록약속된 형태의 언어
-기계어, 어셈블리어, C, C++, C#, JAVA, PHP 등
* 컴파일러
- 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해줌.
- 컴파일러는 기계어와 C언어 사용가능.
* 어셈블러 : 기호로 표현된 어셈블러 코드를 기계어로 번역함.
* 인터프리터 : 소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와 달리, 프로그램을 한 단계씩 해석하여 실행하는 언어처리 프로그램
1.2 C언어의 역사 및 특징
1) C언어의 역서
* Denis Ritchie가 개발 (1972)
* UNIX 운영체제 구현에 사용할 목적으로 개발.
- 컴퓨터 기종간 호환성을 가진 고급언어로, 하드웨어를 제어할 언어
* 어셈블리어로 되어있던 UNIX가 지금은 모두 C로 바뀜
2) 특징
* 프로그램 이식성이 높음
* 간단한 문법표현 및 함축적 프로그램 작성 용이
* 저급언어 특성을 가진 고급언어.(컴퓨터가 언어에 대한 이해도 높음)
1.3 프로그램 작성 및 준비
1) 일반적인 프로그램 개발단계
가. 프로그램 목적 정의
나. 프로그램 설계
다. 소스코드 작성
라. 컴파일/링크
마. 프로그램 실행
바. 테스트와 디버깅
사. 유지 보수
2)C프로그램 완성 과정
* 에디터와 컴파일러 필요
- 에디터 : 소스코드를 작성하여 저장할 수 있도록 해주는 도구
- C 컴파일러 : Visual C++, GCC, Dev-C++ 등등
가. 코딩 : 주어진 문제에 대한 설계를 방탕으로 소스코드를 작성하여 소스파일을 생성 (코드소스->파일)
([.c]확장자로 저장됨. sample.c)
나. 컴파일 : 소스파일이 목적파일(object file, 기계어,실행X)로 변환
(sample.c라는 파일을 컴파일러를 거쳐 sample.obj라는 확장자로 변환)
(에러체크 ----- 에러발생시 프로그램수정 후 컴파일로 돌아감 - 기계어로 번역됨)
다. 링킹 : 목적파일을 실행파일(execution file)로 변환
(여러개의 다른 sample.obj이 묶여서 라이브러리를 구성하여 링커로 실행파일 sample.exe 생성)
(에러체크 ----- 에러발생시 프로그램수정 후 컴파일로 돌아감)
라. 실행파일 생성 완료
*링커 : 여러개의 목적파일과 라이브러리 파일을 연결해주는 도구
* 목적파일 : .obj의 확자아를 갖는 파일, 기계어의 집합으로 이루어짐.
*소스코드 : 프로그램 안의 명령어
1.4 C프로그램 구성
1)C프로그램 기본구조
C프로그램 기본구조
- C 프로그램은 반드시 하나 이상의 함수를 포함해야 함.
- main()함수가 반드시 존재해야 함.
- 함수의 시작과 끝은 중괄호'{}' 사용.
- 중괄호 안에는 변수선언문, 치환문, 연산문, 함수 등의 명령 기입.
- 선행처리기를 제외하고는 문장의 끝에는 세미콜론(;)삽입.
2) C프로그램의 구성요소
가. 예약어 (reserved word)
- 자료형 관련 예약어 : cha, int, float, short, long, double, unsigned, union, eum, void...
- 기억 관련 예약어 : auto, static, extern, register...
- 제어 관련 예약어 : if~else, for, while, do~while, switch~case, break, continue, return...
- 기타 예약어 : main, sizeof, include.....
나. 명칭 (identifier)
* 명칭을 만들때의 규칙
- 영문자와 숫자의 조합으로 만들고 명칭의 첫 문자나 영문자는 밑줄(_)이여야 한다.
- 특수문자를 사용해서는 안된다 (언더바는 사용가능(_))
- 문자사이 공백 있으면 안되며 예약어 사용불가.
- 영어 대소문자 서로 구별하여 사용
- 명칭의 길이는 컴파일러에 따라 차이 있지만 일반적으로 32자까지 인식.
다. 상수 (constant)
- 수치상수, 문자상수, 문자열상수
라. 연산자 (operator)
- 다른 언어이 비해 연산자가 많다.
- 각종 연산 수행.
마. 설명문(주석문)
- 여러 줄에 걸친 설명문을 넣기 위해서는 /*와 */을 사용(시작과 끝에)
- 한줄짜리 설명문에는 보통 //을 사용
- 프로그램 어느 부분에도 위치가능.
- 2개 이상의 라인으로 계속될 수 있음.
1.5 에러와 경고
1) 에러
- 문법상 문제 발생시에 에러메세지 출력
- 반드시 수정해야 실행 가능.
2) 경고
- 경미한 실수 했을 때 메세지 발생
- 무시해도 실행파일 생성 가능한 경우가 많음
- 이식성 및 소스프로그램 호환문제시 발생
'공부정리 및 기록 > [C언어] 프로그래밍' 카테고리의 다른 글
6. 함수와 기억 클래스(1) (0) | 2020.05.28 |
---|---|
5. 선택 제어문과 반복 제어문 (0) | 2020.05.28 |
3. 입·출력 함수와 연산자(2) (0) | 2020.05.28 |
3. 입·출력 함수와 연산자(1) (0) | 2020.05.28 |
2. 자료형과 선행처리기 (0) | 2020.05.28 |
댓글