프로그래밍 언어 활용 part 1 - 컴퓨터 프로그래밍 이해
컴퓨터 프로그래밍 이해
[학습내용] | [학습목표] |
· 프로그래밍 개요 · 통합개발환경(IDE) 구축 |
· 컴퓨터 언어의 필요성과 사용 목적에 대해 설명할 수 있다. · C언어의 특징을 설명할 수 있다. · 프로그램 개발을 위한 환경을 구축할 수 있다. |
프로그래밍 개요
1. 프로그래밍의 정의
프로그램(Program) : 하드웨어를 동작시켜 특정 작업을 수행하는 소프트웨어
→ 다양한 종류의 컴퓨터 프로그램, 스마트폰 앱 등
프로그래밍(Programming) : 인간이 컴퓨터에 명령하는 작업지시서를 만드는 작업
프로그래밍 언어 : 작업 지시에 사용되는 언어
저급언어(Low Level Language) : 기계어,어셈블리어 |
고급언어(High Level Language) : C, C++, C#, JAVA, Pascal, Fortran, Cobol, Python |
CPU가 처리하는 명령어와 1:1로 대응 - CPU마다 사용하는 명령어가 다름 - CPU 내부 동작을 이해해야 프로그래밍이 가능 - 하드웨어에 따른 별도 프로그래밍이 요구됨 |
해당 하드웨어에 맞게 번역하는 프로그램을 이용 - 유지보수가 비교적 쉬움 - CPU 동작을 자세히 알아야 할 필요 없음 - 하드웨어마다 별도의 프로그래밍 불필요 |
2. 프로그래밍 절차
- 다른 언어를 사용하는 사람 간의 대화에 통역사가 필요
- 컴퓨터는 인간의 언어를 이해할 수 없기 때문에 컴퓨터 언어로 번역 필요
컴파일러(Compiler) : 컴퓨터가 이해하는 언어로 번역하는 프로그램
C언어 프로그래밍 절차 :
소스파일.c | Compiler ➡ |
오브젝트파일.obj | Linker ➡ |
실행파일.exe |
#include <stdio.h> in main() { printf("print result"); ……… ……… } |
0100100101 1010000101 0101111010 ……… ……… ……… ……… |
0100100101 1010000101 0101111010 ……… ……… ……… ……… |
3. C언어의 특징
- 1972년 AT&T의 벨연구소의 데니스리치와 켄톰슨에 의해 개발
- B언어를 기반으로 하여 개발
- 고급언어인 C언어로 작성된 최초의 운영체제가 UNIX
- C언어의 표준 : ANSI(American National Standard Institute)C
[간결하고 효율적인 언어]
• 포인터와 메모리 관리 기능
• 작은 크기의 프로그램
• 빠른 실행 속도
[우수한 이식성]
• 다양한 CPU와 플랫폼의 컴파일러를 지원
[다소 배우기가 어려움]
• 비트 포인터 메모리 할당 해제 등의 관리
통합개발환경(IDE) 구축
1. 통합개발환경 소개
프로그램 개발에 필요한 S/W
텍스트 에디터 | 컴파일러 |
• 메모장 • editplus • notepadd++ |
• GNU C/C++ compile • Boland Turbo C • 온라인 컴파일러 • 비쥬얼 스튜디오 C 컴파일러 |
평가하기
Q1. 다음 중 고급언어가 아닌 것은 무엇인가?
① C
② JAVA
③ Assembler
④ FORTRAN
어셈블리어는 기계어에 심볼릭 기호 등을 사용한 것으로 저급언어로 분류됩니다.
Q2. C 언어와 관련한 설명으로 옳지 않은 것은 무엇인가?
① C언어는 저급언어이다.
② C언어는 메모리 할당과 해제와 같은 프로그램이 가능하다.
③ C언어는 B언어 기반으로 개발된 언어이다.
④ C언어는 이식성이 우수하다.
C 언어는 인간 중심의 고급언어입니다.
Q3. 다음 중 C언어의 특징에 대한 설명으로 옳지 않은 것은 무엇인가?
① 이식성이 높은 언어이다.
② 포인터와 같은 주소 액세스 문장 기술이 가능하다.
③ 메모리 할당과 해제를 할 수 있다.
④ 프로그램이 크고 무거운 편이다.
C 언어는 비교적 간결하고 작은 프로그램이며 속도가 빠른 장점이 있습니다.
학습정리
1. 프로그래밍 개요
• 컴퓨터 언어는 인간과 컴퓨터 간의 커뮤니케이션 수단
• 컴퓨터 언어는 고급 언어와 저급언어로 구분됨
• 소스코드를 기계어로 번역하는 것을 컴파일이라고 함
• C언어의 개발 절차는 코드 작성 → 컴파일 → 링크 → 실행 순서임
• C언어는 1972년 개발된 고급 언어로, 작고 빠르면서 하드웨어 제어도 가능한 특징이 있음
2. 통합개발환경(IDE) 구축
• 통합개발환경이란 프로그램 개발에 필요한 코드 작성, 컴파일, 링크, 실행, 디버깅과 같은 작업을 하나의 환경에서 수행 가능하도록 구성된 프로그램을 말함