728x90
반응형
C언어
프로그래밍 언어
- 사람과 컴파일러(컴퓨터 언어로의 번역기)가 이해할 수 있도록 약속된 형태의 언어
-> 기계어, 어셈블리어, C, Java, PHP 등
사람 (C언어) - 컴파일러 (C, 기계어) - 컴퓨터 (기계어)
컴파일러
-> 어셈블러
: 기호로 포현된 어셈블리 코드를 기계어로 번역, 소스 프로그램을 한번에 기계어로 변환
-> 인터프리터
: 어셈블러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 '언어처리 프로그램'
C언어의 역사
1972년 Denis Ritchie
UNIX 운영체제 구현에 사용할 목적으로 개발
컴퓨터 기종간 호환성을 가진 고급 언어, 하드웨어를 제어할 수 있는 언어가 필요했다어셈블리 언어로 된 UNIX언어가 대부분 C 언어로 대체됨
C언어의 특징
- 프로그램 이식성이 높다
- 간단한 문법 표현으로 함축적인 프로그램 작성 가능
- 저급언어의 특성을 가진 고급 언어이다
저급언어 (low level)
- 컴퓨터가 쉽게 이해할 수 있는 언어
프로그램 개발 단계
프로그램 목적 정의 | 프로그램이 가져야할 기능 정의 |
프로그램 설계 | 프로그램 구조 설계 |
소스코드 작성 | 설계를 기반으로 작성 |
컴파일/링크 | 실행 가능한 코드로 변환, 문법 검사 |
프로그램 실행 | 프로그램 실행 |
테스트와 디버깅 | 에러 검사 |
유지 보수 | 사용 중 발생 에러나 추가 변경사항 처리 |
C 프로그램 개발 단계
에디터와 컴파일러 필요
에디터
: 소스코드를 작성하여 저장할 수 있도록 도와주는 도구컴파일러
: Dev-C++, Visual C++ 등이 있다
C프로그램의 완성 과정
코딩 -> 컴파일 -> 링킹
코딩 단계
- 주어진 문제에 대한 설계 를 바탕으로 소스코드를 작성, 컴파일 하여 소스파일을 생성하는 과정
컴파일 단계
- 소스파일이 목적파일로 컴파일하는 과정
링킹 단계
- 목적파일이 링커를 통해 실행파일로 변환되는 과정 (컴파일을 하면 링킹은 자동으로 진행됨)
소스파일
: .c 확장자를 가진 파일, C와 C++를 통합하여 사용 가능
목적파일
: .obj 확장자를 가진 파일로 0과 1로 이루어져 있음
실행파일
: .exe 확장자를 가진 파일로 목적파일 하나로는 실행될 수 없고 다른 목적파일과 라이브러리 등을 조합하여 생성 가능
여러 실행파일 -> 프로젝트
여러 프로젝트 -> 솔루션
Visual Studio의 솔루션 빌드는 컴파일과 같은 의미이다
C프로그램의 기본 구조
도입부, main함수 영역(반드시 존재해야함, 선언문, 치환문, 제어문, 함수호출 등), 함수영역
- 반드시 하나 이상의 함수를 포함해야 한다(main)
- 함수의 시작과 끝을 알리는 중괄호 사용 {}
- 중괄호 안에 변수선언문, 치환문, 연산문, 함수 등의 명령 기입
- 선행처리기를 제외하고 문장 끝에는 세미콜론( ; )을 붙인다
C프로그램의 구성 요소
- 예약어 : int, char, if, for. static, main 등
- 명칭 : 변수, 배열, 함수 등의 이름 ( 대소문자 구분, 숫자, 밑줄 사용 가능, 영어나 밑줄로 시작해야함 )
- 상수 : 값이 불변인 자료 (수치, 문자, 문자열 등)
- 연산자 : =, -, *. ++ 등
- 설명문 : 주석 ( /* */ , // )
에러와 경고
- 에러 : 문법상 잘못된 경우 발생, 반드시 수정해야한다.
- 경고 : 경미한 경우, 수정하지 않아도 실행파일 생성 가능
반응형
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 - 6. 함수와 기억클래스(1) (0) | 2021.03.14 |
---|---|
C언어 - 5. 제어문과 반복문 (0) | 2021.03.10 |
C언어 - 4.입출력 함수와 연산자(2) (0) | 2021.03.10 |
C언어 - 3. 입출력 함수와 연산자(1) (0) | 2021.03.09 |
C언어 - 2. 자료형과 선행처리기 (0) | 2021.03.09 |
댓글