뇌를 자극하는 C 프로그래밍
chapter 01. 프로그램과 C언어의 이해
프로그램은 합리적인 일의 순서다. 프로그램은 처리, 판단, 반복의 요소가 있다. 프로그램에는 데이터의 입력과 출력이 있다. 프로그램이란? 프로그램은 합리적인 일의 순서다. 프로그램은 처리, 판단, 반복의 요소가 있다. 프로그램에는 데이터의 입력과 출력이 있다. C언어는 프로그램을 작성하는 수단이다.
생각해 볼 문제 계산에 의한 순서 : (55-13)*7 = 294 < 300 ▶ 달팽이 우물탈출 프로그램 3m 깊이의 우물에 빠진 달팽이가 낮 동안에 55cm를 올라가고 밤에는 13cm를 미끄러지게 된다. 이 달팽이는 일주일 안에 우물을 탈출할 수 있을까? 계산에 의한 순서 : (55-13)*7 = 294 < 300
밤에 미끄러지기 전에 다 올라왔는지 판단해야 한다! ▶ 합리적인 일의 순서 밤에 미끄러지기 전에 다 올라왔는지 판단해야 한다!
▶ 프로그램의 구성요소 처리과정 - 달팽이의 움직임 : X=X+55, X=X-13 판단 - 우물을 벗어났는가? : X>=300 반복 - 우물을 벗어나지 못했으면 계속 올라간다. 입출력 - 우물의 높이나 달팽이의 속도에 따라 결과가 다르다.
컴퓨터가 이해할 수 있는 프로그램의 표현 방식이다. ▶ C언어란? 컴퓨터가 이해할 수 있는 프로그램의 표현 방식이다.
C언어로 프로그램 만들기 프로그램 작성(edit) 프로그램 번역(compile) 링크(link) 실행
편집기를 사용하여 텍스트형태의 파일로 작성한다. 파일이름의 확장자는 .c로 저장한다. ▶ 프로그램 작성(소스파일 작성) 편집기를 사용하여 텍스트형태의 파일로 작성한다. 파일이름의 확장자는 .c로 저장한다. 파일이름은 프로그램의 기능에 맞게 정한다. 10과 20을 더하는 프로그램(add.c)
컴퓨터가 이해하는 것은 C언어가 아니라 기계어이다. 기계어는 두 가지 상태를 나타내는 비트들로 표현한 언어이다. ▶ 프로그램 번역(compile) 컴퓨터가 이해하는 것은 C언어가 아니라 기계어이다. 기계어는 두 가지 상태를 나타내는 비트들로 표현한 언어이다. 두 개의 스위치(비트)로 움직이는 자동차의 예 데이트코스 프로그램 직진 -> 좌회전 -> 우회전 -> 직진 기계어 프로그램 켜짐, 켜짐 -> 켜짐, 꺼짐 -> 꺼짐, 켜짐 -> 켜짐, 켜짐 0과 1로 기호화 한 기계어 프로그램 11 10 01 11 (켜짐은 1, 꺼짐은 0으로 기호화했을 때)
결국 소스파일을 컴파일하여 기계어로 바꿔야 한다. 실행 가능한 기계어 형태의 파일이 실행파일이다. ▶ 프로그램 번역(compile) 결국 소스파일을 컴파일하여 기계어로 바꿔야 한다. 실행 가능한 기계어 형태의 파일이 실행파일이다. 컴파일은 번역 프로그램인 컴파일러(compiler)로 한다.
우선 소스파일(add.c)을 컴파일러로 불러 온다. ▶ 컴파일러 사용법 컴파일러는 VC++6.0을 사용한다. 우선 소스파일(add.c)을 컴파일러로 불러 온다. (메뉴에서 [File]-[Open]을 선택한다.)
(메뉴에서 [Build]-[Compile]을 선택한다.) 소스파일을 컴파일하면 목적파일(object file)이 생성된다. ▶ 컴파일러 사용법 소스파일을 컴파일한다. (메뉴에서 [Build]-[Compile]을 선택한다.) 소스파일을 컴파일하면 목적파일(object file)이 생성된다. 목적파일이 생성 되었음을 알리는 메시지
(메뉴에서 [Build]-[Build]을 선택한다.) ▶ 컴파일러 사용법 실행파일을 만들기 위해서는 링크가 필요하다. (메뉴에서 [Build]-[Build]을 선택한다.) 실행파일이 생성 되었음을 알리는 메시지
▶ 링크의 목적 분할 컴파일 된 목적파일 들을 연결시킨다. 실행파일이 될 수 있는 자격을 갖추는 과정이다. - 하나의 프로그램을 여러 개의 소스파일로 작성하고 개별적으로 컴파일 한 후에 하나의 실행파일로 만들 수 있다. 실행파일이 될 수 있는 자격을 갖추는 과정이다. - 목적파일에 start-up code를 붙여서 운영체제가 실행시킬 수 있는 실행파일을 만든다.
실행파일은 더블클릭하면 실행시킬 수 있다. int main() { 10 + 20; return 0; } ▶ 프로그램의 실행 - add.c 소스파일을 저장한 곳에 Debug폴더가 생성되며 그 안에 실행파일(add.exe)이 저장된다. - add.exe 실행파일을 실행시키면 화면에 어떤 결과도 출력되지 않는다. add.c 프로그램은 단지 10과 20을 더하는 프로그램이기 때문이다. int main() { 10 + 20; return 0; } 10과 20을 더하는 코드
• 통합개발환경(Integrated Development Environment)은 프로그램의 ▶ 통합개발환경(IDE) • 통합개발환경(Integrated Development Environment)은 프로그램의 작성과 컴파일, 디버깅, 실행을 모두 수행할 수 있는 프로그램이다. (VC++6.0 컴파일러도 통합개발환경이다.) 소스파일을 편집창에서 직접 작성 하고 에러 발생시 수정한다. 컴파일이 모두 끝난 후에는 느낌표 모양의 메뉴 아이콘을 눌러서 직접 실행결과를 확인해 볼 수 있다. 새문서 아이콘을 누르면 소스코드를 작성할 수 있는 편집창이 열린다.
▶ 컴파일 실습(달팽이 우물탈출 프로그램) #include <stdio.h> int main() { int height; int days; height=0; days=0; height = height + 55; while(height < 300) { height = height – 13; days = days + 1; } printf(“며칠 걸렸습니까? n”); printf(“%d일입니다. n”, days); return 0;