-
[프로그래밍기초] 02.프로그래밍 언어IT정보/프로그래밍 기초 2020. 3. 26. 10:28
02. 프로그래밍 언어
1 기계어
Q) 컴퓨터가 이해할 수 있는 언어는 어떤 것인가?
A) 컴퓨터가 알아듣는 언어는 한가지이다. 즉 0과 1로 구성되어 있는 "001101110001010..."과 같은 기계어이다.
A) 컴퓨터는 모든 것을 0과 1로 표현하고 0과 1에의하여 내부 스위치 회로들이 ON/OFF 상태로 변경되면서 작업을 한다.
컴퓨터는 기계어를 바로 이해할 수 있다.
2 이진수
Q) 이진수는 십진수와 무엇이 다른가?
A) 이진수는 0과 1로만 구성되어 있다.
Q) 십진수를 이진수로 바꾸려면?
A) 십진수를 이진수로 바꾸려면 십진수를 2로 나누고 나머지를 기록하는 작업을 몫이 0이 될 때까지 되풀이하면 된다.
3 프로그래밍 언어의 필요성
Q) 그렇다면 인간이 기계어를 사용하면 어떤가?
기계어를 사용할 수는 있으나 이진수로 프로그램을 작성하여야 하기 때문에 아주 불편하다.
프로그래밍 언어는 자연어와 기계어 중간쯤에 위치
컴파일러가 프로그래밍 언어를 기계어로 통역
4 컴파일러
- 컴파일러(complier)는 인간과 컴퓨터 사이의 통역이라 할 수 있다.
5 프로그램의 역할
Q) 컴퓨터에서 프로그램이 하는 일은 무엇인가?
A) 프로그램이란 우리가 하고자 하는 작업을 컴퓨터에게 전달하여 주는 역할을 한다.
6 작업을 지시하는 방법
Q) 컴퓨터에게 어떻게 작업을 시킬 수 있을까?
A) 상식이나 지능이 없기 때문에 아주 자세하고 구체적으로 일을 지시하여야 한다.
7 프로그래밍 언어의 분류
- 기계어(machine language)
- 어셈블리어(assembly language)
- 고급 언어(high-level language)
8 기계어
- 특정 컴퓨터의 명령여(insttruction)를 이진수로 표시한 것
- 0과 1로 구성
- 하드웨어에 종속
9 어셈블리어
- CPU의 명령어들을 이진수가 아닌 영어의 약자인 기호로 표기
- 기계어보다는 더 높은 수준에서 프로그램을 작성하는 것이 가능
- 기호와 CPU의 명령어가 일대일 대응
- 어셈블러(assembler) 기호를 이진수로 변환하는 프로그램
10 고급언어
- 특정한 컴퓨터의 구조나 프로세서와 무고나하게, 독립적으로 프로그램을 작성할 수 있는 언어
- C, C++, JAVA, FORTRAN, PASSCAL
- 컴파일러
- 고급 언어 문장을 기계어로 변환하는 프로그램
11 C
- 1970년대 초 AT&T의 Dennis Ritchine에 의하여 개발
- B언어 -> C언어
- UNIX 운영 체제 개발이 필요해서 만들어짐
- 처음부터 전문가용 언어로 출발
12 C언어의 버전
- K & RC
1) 1978년 "C Programming Language" 책 출간
2) 비공식적인 명세서 역할
- ANSI C
1) 1983년 ANSI(American National Standards Institute) X3J11이라는 위워회에 의해 표준
- C99
1)1999년에 ISO에 의해 표준
2) C++에서 사용되는 특징 추가
3)점차 많은 컴파일러에서 지원
13 C언어의 특징
- 간결하다
- 효율적이다.
- C언어는 하드웨어를 직업 제어하는 저수준의 프로그래밍도 가능하고 고수준의 프로그래밍도 가능하다.
- C언어는 이식성이 뛰어나다.
- 초보자가 배우기가 어렵다.
14 C언어의 미래
Q) 앞으로도 C언어는 사용될 것인가?
- C언어는 C++와 JAVA의 공통적인 부분이다.
- 임베디드 시스템에서는 C언어가 많이 사용된다.
'IT정보 > 프로그래밍 기초' 카테고리의 다른 글
[프로그래밍기초] 05.프로그래밍 통합 개발 환경 (0) 2020.03.29 [프로그래밍기초] 04.프로그래밍 개발과정 (0) 2020.03.28 [프로그래밍기초] 03.프로그래밍 알고리즘 (0) 2020.03.27 [프로그래밍기초] 01.프로그래밍 개념 (0) 2020.03.25