728x90
컴퓨터 언어 : 컴퓨터와 사람과의 커뮤니케이션 수단의 일종
프로그래밍 정의
프로그램 : 하드웨어를 동작시켜 특정 작업을 수행하는 소프트웨어
다양한 종류의 컴퓨터 프로그램, 스마트폰 앱 등
프로그래밍 : 인간이 컴퓨터에 명령하는 작업지시서를 만드는 작업
프로그래밍 언어 : 작업 지시에 사용되는 언어
1. 고급언어와 저급언어
High Level Language (고급언어) | Low Level Language (저급언어) | |
언어 | C , C++ , C#, JAVA, Pascal, Fortran, Cobol, Python 등 | 기계어 , 어셈블리어 |
특징 | 인간이 이해하기 쉬운 언어 (인간중심의 언어) | 컴퓨터가 이해하기 쉬운 언어 (기계중심의 언어) |
해당 하드웨어에 맞게 번역하는 프로그램을 이용 | CPU가 처리하는 명령어와 1:1로 대응 | |
유지보수가 비교적 쉬움 | CPU마다 사용하는 명령어가 다름 | |
CPU 동작을 자세히 알아야 할 필요 없음 | CPU 내부 동작을 이해해야 프로그래밍이 가능 | |
하드웨어마다 별도의 프로그래밍 불필요 | 하드웨어에 따른 별도 프로그래밍이 요구됨 |
2. 프로그래밍 절차
다른 언어를 사용하는 사람간의 대화에 통역사가 필요하듯이 프로그래밍시에도 컴퓨터와 인간의 대화를 통역해
줄 번역기가 필요함.
컴파일러 (Compiler) |
컴퓨터가 이해하는 언어로 번역하는 프로그램 / 작성한 코드를 컴퓨터가 이해하는 언어로 바꾸어줌 |
소스파일 생성 -> 컴파일(기계어로 바꿈) -> 오브젝트파일(기계어로 바뀐파일) -> 링커 -> 링커에 의해 실행가능한 exe 파일로 만들게 됨
3. C언어의 특징
1) 1972년 AT&T의 벨연구소의 데니스리치와 켄톰슨에 의해 개발
2) B언어를 기반으로 하여 개발
3) 고급언어인 C언어로 작성된 최초의 운영체제가 UNIX
4) C언어의 표준 : ANSI(American National Standard Institute) C
간결하고 효율적인 언어 | 우수한 이식성 | 다소 배우기가 어려움 |
포인터와 메모리 관리 기능 | 다양한 CPU와 플랫폼의 컴파일러를 지원 | 비트 포인터 메모리 할당 해제 등의 관리 |
작은 크기의 프로그램 | ||
빠른 실행속도 |
728x90
'프로그래밍 언어 > C언어' 카테고리의 다른 글
[C언어] 데이터 타입 (0) | 2021.12.14 |
---|---|
[C언어] 변수와 상수 (0) | 2021.12.14 |
[C언어] 출력문장 구현 (0) | 2021.12.13 |
[C언어] main( )함수 (0) | 2021.12.13 |
[C언어] 통합개발환경(IDE)구축 (0) | 2021.12.13 |