< 제 1장 C언어의 개론적인 이야기 >
● 프로그래밍 언어란 ? - 사람과 컴파일러(컴퓨터)가 이해할 수 있는 약속된형태의 언어
● 컴파일러란 ?
- 프로그램을 컴퓨터가 이해하도록 번역해주는 역할(번역기)
- cpu에 일을 시킬수 있는 명령체계가 회사마다 다 다르다.
=> 이것을 우리는 명령어체계;Instruction code(Set)이라고 함
- cpu가 다르면 명령체계가 다르다.
● 명령어체계 : 인스트럭션 셋(Instruction Set)
- CPU가 달라지면 다르다.(cpu에 명령을 내리는 것)
- 과거의 프로그래머는 IS로 프로그래밍을 했음.
- low - level 프로그래밍(人 : 프로그래머)
=> 문제점
- 1. 프로그래머 교육시간이 길다. : 컴퓨터 시스템 전반적으로 이해를 해야한다.
- 2 : 하드웨어언어이기때문에 H/W적인 코드이므로 코드가 상당히 길어진다,
프로그래밍의 난해성. => : 하드웨어적으로 작성을 하기때문
ex) C는 10줄이면 하드웨어언어는 30줄정도 - 어셈블러, 기계어
※ 이를 보완한것이 Program Language(p/l) 이다. 즉, C언어
- 사람이 이해할수 있게 구현, 단 컴퓨터는 이해할수없다. 컴파일러
=> Instruction Set로 바꿔준다.(컴파일) C언어(c, c++, java, c#)
● 프로그래밍 언어는( C ) - 사람이 이해할수 있는 언어구조이다
ex) 이건 이렇고 저건 저렇게 하고 할수있게 해석가능하다.
하지만 cpu는 이해하지 못한다.(그래서 컴파일이 필요함)
= >>> 이런 작업을 컴파일 한다 라고 한다.
● C언어의 장점
- 익숙해지는데 오랜 시간이 걸리지 않는다.
> 사람이 이해할수 있기때문
- 이식성이 좋다.
> cpu가 다르면 Instruction code(명령체게) 가 다르다.
> A라는 cpu에서 작성한 프로그램을 B라는 cpu에서 이식이 된다.
> 그래서 예전에는 일일이 작업을 했다.
> 하지만 C언어는 이럴필요가 없다.
- 효율성이 높다.
> High Level Language - 사람이 이해하기 가깝다.
ex) Visual Basic, power-build 등등.
> Low Level Language - 기계어에 가깝다.
ex) 기계어, 어셈블러
> C언어 - 중간정도 특징이다.
(그래도 고급언어축에 속함; 암튼 무지 좋은 언어다)
● C언어의 단점
- 프로그래밍하는데 많은 주의를 요한다.
> 포인터, 메모리, 배열 등 부분의 이해가 필요
> 꼼꼼한 코드작성 - 완전한 고급언어에 비해 상대적으로 어렵다.
> ex) visual Basic
● 프로그램 작성 및 실행순서
1. 프로그래 작성
2. 컴파일(하면서 에러발생을 하면, 다시 수정; 정상적이면 링크로 넘어간다)
3. 링크(하면서 에러 발생시, 다시 수정; 정상적이면 실행파일생성)
4. 실행파일 생성(.exe파일 생성)
'프로그래밍 > C' 카테고리의 다른 글
제 6장 scanf함수와 데이타 표현방식의 이해 (0) | 2010.07.08 |
---|---|
제 5장 변수와 연산자 - 2 (0) | 2010.07.08 |
제 4장 변수와 연산자 (0) | 2010.07.08 |
제 3장 C언어의 기초 - printf함수 (0) | 2010.07.08 |
제 2장 C언어의 기초 (0) | 2010.07.08 |