1. C 언어 개요
프로그램이 필요한 이유는? 컴퓨터를 통해 문제를 해결하려면 프로그램이 필요하다. 컴퓨터를 사용하는 이유는 주어진 문제를 보다 쉽고, 빠르게 해결하기 위해서 사용하는 것 컴퓨터를 사용한다는 것은 컴퓨터 안에 설치된 혹은 저장된 프로그램을 사용하는 것이며, 컴퓨터를 이용하여 문제를 해결하기 위해서는 그 문제를 해결할 수 있는 프로그램이 있어야 함. 문제를 해결하기 위한 프로그램이 존재하지 않는다고 한다면 프로그래머에게 의뢰를 하거나 프로그램을 직접 만들어야 함.
프로그램은 무엇으로 만드는가? 프로그램은 프로그램 언어를 이용하여 작성한다. 프로그래밍 언어 : 프로그램을 만들 수 있는 도구 사람과 컴퓨터 사이에 존재하는 일종의 커뮤니케이션 수단 프로그래밍 언어의 종류 : BASIC, FORTRAN, C, C++, JAVA
컴퓨터시스템의 CPU가 처리하는 명령어와 1:1 대응⇒ CPU 동작을 잘 이해해야 함 프로그램은 무엇으로 만드는가? 프로그램은 프로그램 언어를 이용하여 작성한다. 이러한 프로그램 언어를 이용하여 문제 해결을 위한 프로그램을 작성하고, 컴퓨터에서 실행 가능하도록 만드는 것 프로그래밍 언어는 컴퓨터 프로그램을 만들기 위해 고안된 특별한 언어 컴퓨터시스템의 CPU가 처리하는 명령어와 1:1 대응⇒ CPU 동작을 잘 이해해야 함
1부터 100까지 더한 합을 출력
프로그램은 어떻게 시작되었나? 프로그램(program) : 미리 쓰다. 1946년『Nature』에 게재된 ENIAC 관련기사에서 처음으로 사용 컴퓨터 프로그램 : 컴퓨터를 이용하여 문제를 해결하기 위해 작성한 명령들의 집합 최초의 컴퓨터인 ENIAC 새로운 계산을 할 때마다 기술자들이 진공관 회로의 스위치를 조정하여 처리 폰 노이만(John von Neumann)의 EDVAC – Stored Program 처리해야 할 내용들을 차례대로 작성한 명령들의 모음으로 만들어 컴퓨터에 기억시킨 다음, 순서대로 처리하는 방식
컴퓨터는 프로그램을 이해하는가? 프로그램 언어로 작성된 원시프로그램은 번역과정을 거쳐 실행 가능한 프로그램으로 만들어진다. 사람들이 작성한 작업 지시서(program)를 컴퓨터가 처리 할 수 있도록 만들어 주는 것은 마치 사람과 컴퓨터 사이에 통역자를 두는 것과 같으며 이러한 기능을 하는 프로그램을 번역기 즉, 컴파일러(compiler)라 함. 프로그램은 컴파일과정을 거쳐야만 컴퓨터가 처리할 수 있는 형태로 번역되며, 번역된 프로그램은 실행이 가능함.
실행 가능한 프로그램이 만들어지기까지의 과정 시 작 원시프로그램 편집과 수정 오류발생? 연결(LINK) 컴파일(COMPILE) 실행 가능한 프로그램 생성 실행(EXECUTE) 끝 yes no debugging 원시 프로그램은 컴파일 과정을 거쳐야만 실행 가능한 프로그램으로 만들어진다. 디버깅(debugging): 컴파일 과정에서 발생한 문법오류(syntax error)를 문법에 맞게 수정하는 작업 오류(error) 문법 오류(syntax error) 실행 오류(runtime error) 논리 오류(logical error)
프로그램 언어는 어디에서 어떻게 작성하는가? 프로그램 언어는 각각의 컴파일러가 포함된 통합 환경에서 문법에 맞게 작성한다.
C 언어 탄생 과정 C 언어는 Unix를 개발한 Ken Thompson의 B 언어를 모태로 1972년도에 Dennis Ritchie에 의하여 개발되었고, C 언어로 Unix를 다시 제작. C 언어의 성능이 점차 알려지게 되자 많은 프로그래머들이 C 언어를 가지고 프로그래밍을 하였고, 자신에게 맞는 C 언어로 변형하면서 여러 변종들이 생겨나게 됨. 표준화된 C 언어의 필요성이 요구되었고, 1983년 미국표준협회(ANSI : American National Standards Institute)에 의해 정의된 표준 C 언어를 ANSI C라 함. 이후 여러 회사에서 ANSI C를 표준으로 하여 C 언어 번역기(compiler)를 만들게 됨.
C 언어 장단점 C 언어의 장점 구문이 간결하고, 프로그램 개발에 꼭 필요한 핵심적인 기능들을 제공 ⇒ 간결성 어셈블리어 수준의 low-level 지원 기능을 제공하면서도 기계-독립적인 프로그램을 개발할 수 있음 ⇒ 이식성 C로 만든 프로그램은 프로그램 크기도 작고, 프로그램의 실행 속도도 빠름 ⇒ 효율성 C 언어의 단점 배우기도 어렵고, 사용하기도 어렵다. 다른 언어에 비해 사용 시 주의 사항이 많다.
단원정리 프로그램이 필요한 이유는? 프로그램은 무엇으로 만드는가? 컴퓨터 프로그램이란? 컴퓨터를 통해 사용자의 문제를 해결하고자 함이다. 프로그램은 무엇으로 만드는가? 프로그램은 프로그램 언어를 이용하여 작성한다. 컴퓨터 프로그램이란? 컴퓨터를 이용하여 문제를 해결하기 위해 작성한 명령들의 집합 프로그램 내장(stored program)방식이란? 폰 노이만(John von Neumann)에 의해 최초로 제안된 방법으로 컴퓨터로 하여금 문제를 해결하기 위해 처리해야 할 내용들을 차례대로 작성한 명령들의 모음 즉, 프로그램으로 만들어 컴퓨터에 기억시킨 다음, 순서대로 처리하는 방식
단원정리(계속) 프로그램 언어란? 작성된 프로그램은 어떻게 컴퓨터에서 실행되는가? 실행 가능한 프로그램이란? 컴퓨터 프로그램을 만들기 위해 고안된 특별한 언어 작성된 프로그램은 어떻게 컴퓨터에서 실행되는가? 프로그램 언어로 작성된 프로그램은 번역과정을 거쳐 실행 가능한 프로그램으로 만들어진다. 실행 가능한 프로그램이란? 원시 프로그램은 반드시 컴파일 과정을 거쳐야만 실행 가능한 프로그램으로 만들어지며 이때 문법 오류가 없어야 한다. 단계를 요약하면 원시 프로그램 → 컴파일→ 링크 → 실행 프로그램
단원정리(계속) 문법 오류(syntax error)란? 디버깅(debugging)이란? 프로그래머가 작성한 프로그램의 어떤 부분이 약속된 문법을 지키지 않거나 약속된 명령을 사용하지 않아 컴파일러가 제대 로 번역할 수 없는 오류 디버깅(debugging)이란? 프로그램에서 나타나는 오류를 버그(bug)라 부르며 프로그램의 오류를 해결한다(벌레를 없앤다)는 뜻으로 사용함. 실행 오류(runtime error)란? 컴파일 과정을 마친 후 실행 중에 프로그램이 진행되지 않거나 중단되는 경우의 오류