-
컴퓨터 프로그래밍 이해
[학습내용] [학습목표] · 프로그래밍 개요
· 통합개발환경(IDE) 구축· 컴퓨터 언어의 필요성과 사용 목적에 대해 설명할 수 있다.
· C언어의 특징을 설명할 수 있다.
· 프로그램 개발을 위한 환경을 구축할 수 있다.프로그래밍 개요
1. 프로그래밍의 정의
프로그램(Program) : 하드웨어를 동작시켜 특정 작업을 수행하는 소프트웨어
→ 다양한 종류의 컴퓨터 프로그램, 스마트폰 앱 등
프로그래밍(Programming) : 인간이 컴퓨터에 명령하는 작업지시서를 만드는 작업
프로그래밍 언어 : 작업 지시에 사용되는 언어
저급언어(Low Level Language) :
기계어,어셈블리어고급언어(High Level Language) :
C, C++, C#, JAVA, Pascal, Fortran, Cobol, PythonCPU가 처리하는 명령어와 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) 구축
• 통합개발환경이란 프로그램 개발에 필요한 코드 작성, 컴파일, 링크, 실행, 디버깅과 같은 작업을 하나의 환경에서 수행 가능하도록 구성된 프로그램을 말함
'Blog > JAVA기반 스마트웹 개발2021' 카테고리의 다른 글
프로그래밍 언어 활용 part 1 - 변수와 데이터형 (0) 2021.07.25 프로그래밍 언어 활용 part 1 - 프로그램 기본 구조 (0) 2021.07.25 콘텐츠 기획하기 (0) 2021.07.21 기능(Feature) 리스트 도출하기 (0) 2021.07.21 UI/UX 콘셉트 도출하기 (0) 2021.07.19 댓글