46
2013 년 1 년년 년년년년년 년 년년 Chap. 1 년년년년년 C 년년년 년년 Bo – Kug Seo ([email protected]) Soongsil Univ. MMS Lab.

프로그래밍 및 실습 Chap1

  • Upload
    dktm

  • View
    469

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 프로그래밍 및 실습 Chap1

2013 년 1 학기 프로그래밍 및 실습Chap. 1 프로그램과 C 언어의 이해

Bo – Kug Seo ([email protected])Soongsil Univ. MMS Lab.

Page 2: 프로그래밍 및 실습 Chap1

Logo

Contents

C 언어란 ?

C 프로그램 작성 방법

C 컴파일러 설치 및 간단한 실습

http://mms.ssu.ac.kr (sbk8941@)

2

Page 3: 프로그래밍 및 실습 Chap1

Logo

프로그램이란 ? 프로그램

– 프로그램은 합리적인 일의 순서다 .– 프로그램은 처리 , 판단 , 반복의 요소가 있다 .– 프로그램에는 데이터의 입력과 출력이 있다 .– C 언어는 프로그램을 작성하는 수단이다 .

프로그래밍 언어– 한글 , 엑셀 , 게임 등의 프로그램을 만들 때 사용하는 언어– ‘ 컴퓨터 프로그래머’ 라는 사람들이 제작– C 언어 (C++ 포함 ) 를 가장 많이 사용함

3

http://mms.ssu.ac.kr (sbk8941@)

Page 4: 프로그래밍 및 실습 Chap1

Logo

C 언어란 ? -1 컴퓨터가 이해할 수 있는 프로그램의 표현 방식이다 .

4

http://mms.ssu.ac.kr (sbk8941@)

Page 5: 프로그래밍 및 실습 Chap1

Logo

C 언어란 ? -2 C 언어의 특징

– 이식성이 좋다 .• 한번 작성한 것을 다른 운영체제에서도 거의 그대로 사용 가능

5

윈도우 계열에서의 코딩과 컴파일 유닉스 계열에서의 코딩과 컴파일

http://mms.ssu.ac.kr (sbk8941@)

Page 6: 프로그래밍 및 실습 Chap1

Logo

C 언어란 ? -3 하드웨어와 관련된 부분까지 접근 가능

6

http://mms.ssu.ac.kr (sbk8941@)

Page 7: 프로그래밍 및 실습 Chap1

Logo

C 언어란 ? -4 구문이 간결하고 명확

– C 언어를 익히면 다른 프로그래밍 언어는 쉽게 익힐 수 있음

7

Visual Basic 6.0 프로그래밍 화면 Visual C++ 6.0 프로그래밍 화면

http://mms.ssu.ac.kr (sbk8941@)

Page 8: 프로그래밍 및 실습 Chap1

Logo

C 언어란 ? -5 C 컴파일러의 종류

– Turbo-C, Turbo-C++, Borland-C++, MS-C++, Visual-C++, GCC, G++ 등

– Microsoft Visual C++ 6.0 을 사용 ( 상용 )– Microsoft Visual C++ 2005/2008 Express Edition( 무료 )

8

http://mms.ssu.ac.kr (sbk8941@)

Page 9: 프로그래밍 및 실습 Chap1

Logo

C 언어로 프로그램 만들기 프로그램 작성 (edit) 프로그램 번역 (compile) 링크 (link) 실행

9

http://mms.ssu.ac.kr (sbk8941@)

Page 10: 프로그래밍 및 실습 Chap1

Logo

프로그램 작성 ( 소스파일 작성 ) -1

편집기를 사용하여 텍스트 형태의 파일로 작성한다 . 파일 이름의 확장자는 .c 로 저장한다 . 파일 이름은 프로그램의 기능에 맞게 정한다 . 10 과 20 을 더하는 프로그램 (add.c)

10

http://mms.ssu.ac.kr (sbk8941@)

Page 11: 프로그래밍 및 실습 Chap1

Logo

프로그램 코딩– 사람이 알아보는 코딩

– 컴퓨터가 알아보는 코딩

11

100 에서 50 을 뺀 결과가 뭐지 ?한번 모니터에 출력해보자 !!

01 # include <stdio.h>0203 int main()04 {05 int result;06 result = 100 - 50 ;07 printf (" %d ", result);08 }

http://mms.ssu.ac.kr (sbk8941@)

프로그램 작성 ( 소스파일 작성 ) -2

Page 12: 프로그래밍 및 실습 Chap1

Logo

프로그램 번역 (compile) -1

컴퓨터가 이해하는 것은 C 언어가 아니라 기계어이다 . 기계어는 두 가지 상태를 나타내는 비트들로 표현한 언어이다 . 두 개의 스위치 ( 비트 ) 로 움직이는 자동차의 예

– 코스 진행 프로그램• 직진 -> 좌회전 -> 우회전 -> 직진

– 기계어 프로그램• 켜짐 , 켜짐 -> 켜짐 , 꺼짐 -> 꺼짐 , 켜짐 -> 켜짐 , 켜짐

– 0 과 1 로 기호화 한 기계어 프로그램• 11 10 01 11 ( 켜짐은 1, 꺼짐은 0 으로 기호화 했을 때 )

12

http://mms.ssu.ac.kr (sbk8941@)

Page 13: 프로그래밍 및 실습 Chap1

Logo

프로그램 번역 (compile) -2

결국 소스파일을 컴파일 하여 기계어로 바꿔야 한다 . 실행 가능한 기계어 형태의 파일이 실행파일이다 . 컴파일은 번역 프로그램인 컴파일러 (compiler) 로 한다 .

13

http://mms.ssu.ac.kr (sbk8941@)

Page 14: 프로그래밍 및 실습 Chap1

Logo

컴파일러 사용법 -1

컴파일러는 VC++ 6.0 을 사용한다 . 우선 소스파일 (add.c) 를 컴파일러로 불러 온다 .

– 메뉴에서 [File]-[Open] 을 선택한다 .

14

http://mms.ssu.ac.kr (sbk8941@)

Page 15: 프로그래밍 및 실습 Chap1

Logo

컴파일러 사용법 -2

소스파일을 컴파일 한다 .– 메뉴에서 [Build]-[Compile] 을 선택한다 .

소스파일을 컴파일하면 목적파일 (object file) 이 생성된다 .

15

목적파일이 생성 되었음을

알리는 메시지

http://mms.ssu.ac.kr (sbk8941@)

Page 16: 프로그래밍 및 실습 Chap1

Logo

컴파일러 사용법 실행파일을 만들기 위해서는 링크가 필요하다 .

– 메뉴에서 [Build]-[Build] 을 선택한다 .

실행파일이 생성 되었음을

알리는 메시지

http://mms.ssu.ac.kr (sbk8941@)

Page 17: 프로그래밍 및 실습 Chap1

Logo

링크의 목적 분할 컴파일 된 목적파일 들을 연결시킨다 .

– 하나의 프로그램을 여러 개의 소스 파일로 작성하고 개별적으로 컴파일 한 후에 하나의 실행파일로 만들 수 있다 .

17

http://mms.ssu.ac.kr (sbk8941@)

Page 18: 프로그래밍 및 실습 Chap1

Logo

프로그램의 실행 실행파일은 더블 클릭하면 실행시킬 수 있다 .

– add.c 소스파일을 저장한 곳이 Debug 폴더가 생성되며 그 안에 실행파일(add.exe) 이 저장된다 .

– add.exe 실행파일을 실행시키면 화면에 어떤 결과도 출력되지 않는다 .– add.c 프로그램은 단지 10 과 20 을 더하는 프로그램이기 때문이다 .

18

int main() { 10 + 20; return 0; }

10 과 20 을 더하는 코드

http://mms.ssu.ac.kr (sbk8941@)

Page 19: 프로그래밍 및 실습 Chap1

Logo

통합개발환경 (IDE) 통합개발환경 (Integrated Development Environment) 은

프로그램의 작성과 컴파일 , 디버깅 , 실행을 모두 수행할 수 있는 프로그램이다 .– VC++ 6.0 컴파일러도 통합개발환경이다 .

19

소스파일을 편집창에서 직접 작성 하고 에러 발생시 수정한다 .

컴파일이 모두 끝난 후에는 느낌표 모양의 메뉴 아이콘을 눌러서 직접 실행결과를 확인해 볼 수 있다 .

새문서 아이콘을 누르면 소스코드를 작성할 수 있는 편집창이 열린다 .

http://mms.ssu.ac.kr (sbk8941@)

Page 20: 프로그래밍 및 실습 Chap1

Logo

C 컴파일러 설치 및 간단한 실습 -1

Visual ++ 6.0 설치

1. Visua Studio 6.0 CD 넣기 → 설치마법사 자동 실행 → < 다음 (N)> 클릭

2. [ 최종 사용자 사용권 계약 ] ‘동의함 (A)’ 체크 → < 다음 (N)> 클릭

http://mms.ssu.ac.kr (sbk8941@)

Page 21: 프로그래밍 및 실습 Chap1

Logo

3. 정확한 제품 ID 번호 입력→ < 다음 (N)> 클릭

4. 사용자 정의 옵션 선택→ < 다음 (N)> 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -2

Page 22: 프로그래밍 및 실습 Chap1

Logo

5. 공통 파일을 위한 폴더 선택→ < 찾아보기 (R)> 클릭→ 폴더 선택→ < 다음 (N)> 클릭

6. 설치 프로그램 시작→ < 계속 > 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -3

Page 23: 프로그래밍 및 실습 Chap1

Logo

7. 제품 ID 확인→ < 확인 > 클릭

8. 설치 프로그램 선택→ Microsoft Visual C++ 6.0

선택 확인→ < 계속 (C)> 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -4

Page 24: 프로그래밍 및 실습 Chap1

Logo

9. ‘ 환경 변수 등록’ 체크→ < 확인 > 클릭

10.[ 새로운 Visual SourceSafe 6.0 데이터베이스 유형 ]→ < 예 (Y)> 클릭

11.설치 계속 진행

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -5

Page 25: 프로그래밍 및 실습 Chap1

Logo

13. 설치 완료→ <Windows 다시 시작 (R)> 클릭

14. 컴퓨터 재부팅 후 → [MSDN 설치 ] 화면에서 < 끝내기 > 버튼 클릭→ 취소를 확인하는 창에서 < 예 (Y)> 를 눌러 설치 취소

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -6

Page 26: 프로그래밍 및 실습 Chap1

Logo

최초의 간단한 프로그램 작성

빌드 ( 컴파일 및 링크 )빌드 ( 컴파일 및 링크 )

C 프로그램 코딩C 프로그램 코딩

프로젝트 생성프로젝트 생성

실행 파일 실행실행 파일 실행

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -7

Page 27: 프로그래밍 및 실습 Chap1

Logo

프로젝트 생성

1. 프로젝트 저장용 폴더 생성 → C:\C_ 소스

2. [ 시작 ] → [ 프로그램 ] → [Microsoft Visual Studio 6.0]→ [Microsoft Visual C++ 6.0] 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -8

Page 28: 프로그래밍 및 실습 Chap1

Logo

3. [File]→[New] 메뉴 선택

4. [File]→[New] 메뉴 선택

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -9

Page 29: 프로그래밍 및 실습 Chap1

Logo

5. [New]→[Projects] 탭 선택→‘ Win32 Console Application’ 선택→ Project Name 입력→ <…> 버튼 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -10

Page 30: 프로그래밍 및 실습 Chap1

Logo

6. ‘An empty project’ 선택→ <Finish> 클릭

7. [New Project Information] 창에서 <OK> 버튼 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -11

Page 31: 프로그래밍 및 실습 Chap1

Logo

8. 빈 프로젝트 완성 화면

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -12

Page 32: 프로그래밍 및 실습 Chap1

Logo

C 프로그램 코딩

1. [File]→[New] 선택2. [New]→[Files] 탭 선택 →‘ C++ Source File’ 선택

→ ‘ First.c’ 입력→ <OK> 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -13

Page 33: 프로그래밍 및 실습 Chap1

Logo

C 프로그램 코딩

1. [File]→[New] 선택2. [New]→[Files] 탭 선택 →‘ C++ Source File’ 선택

→ ‘ First.c’ 입력→ <OK> 클릭

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -14

Page 34: 프로그래밍 및 실습 Chap1

Logo

3. 소스 입력 후 [File]→[Save] 메뉴 선택

소스를 입력하는 공간

01 # include <stdio.h>0203 int main()04 {05 printf(“%d”, 100-50);06 }

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -15

Page 35: 프로그래밍 및 실습 Chap1

Logo

빌드 ( 컴파일 및 링크 )

1. [Build]→[Build First.exe] 선택

2. 소스에 이상이 없는 상태

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -16

Page 36: 프로그래밍 및 실습 Chap1

Logo

3. 실행창 확인 : 소스에 오류 발생 (5 행의 세미콜론 (;) 을 지운 경우 )

4. 틀린 소스 내용을 찾아 수정

에러 부분을 마우스로 더블클릭하면 해당 위치로 이동함

세미콜론 (;) 이 빠져있어 오류 발생

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -17

Page 37: 프로그래밍 및 실습 Chap1

Logo

파일 실행1. [Build]→[Execute First.exe] 메뉴 선택

2. 실행 결과 확인

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -18

Page 38: 프로그래밍 및 실습 Chap1

Logo

3. 실행 결과 값이 잘 보이도록 소스 수정

4. 파일을 저장한 후 Ctrl + F5 키를 눌러 다시 실행5. 빌드 경고창이 뜨면 < 예 (Y)> 클릭

01# include <stdio.h>0203int main()04{05 printf(“%d \n ”, 100-99);06}

100-99 의 값을 출력하고 한줄 넘김

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -19

Page 39: 프로그래밍 및 실습 Chap1

Logo

6. [File]→[Close Workspace] 메뉴를 선택하여 프로젝트 종료

7. [File]→[Exit] 메뉴를 선택한 후 VC++ 6.0 종료

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -20

Page 40: 프로그래밍 및 실습 Chap1

Logo

기존의 C 소스 다시 열기

1. VC++ 6.0 실행2. [File]→[Open Workspace] 메뉴 선택3. ‘C:\C_ 소스 \First\’ 폴더의 ‘ First.dsw’ 선택

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -21

Page 41: 프로그래밍 및 실습 Chap1

Logo

기존의 C 소스 다시 열기

4. ‘First.c’ 파일 더블 클릭• 소스가 보이지 않으면 [FileView] 탭 클릭→ [First files] 클릭→ [Source Files] 확장

http://mms.ssu.ac.kr (sbk8941@)

C 컴파일러 설치 및 간단한 실습 -22

Page 42: 프로그래밍 및 실습 Chap1

Logo

Ex) 달팽이 우물탈출 프로그램 생각해 볼 문제

– 3m 깊이의 우물에 빠진 달팽이가 낮 동안에 55cm 를 올라가고 밤에는 13cm 를 미끄러지게 된다 . 이 달팽이는 일주일 안에 우물을 탈출할 수 있을까 ?

계산에 의한 순서– (55-13)*7 = 294 < 300

42

http://mms.ssu.ac.kr (sbk8941@)

Page 43: 프로그래밍 및 실습 Chap1

Logo

합리적인 일의 순서 밤에 미끄러지기 전에 다 올라왔는지 판단해야 한다 !

43

http://mms.ssu.ac.kr (sbk8941@)

Page 44: 프로그래밍 및 실습 Chap1

Logo

프로그램의 구성요소 처리과정 – 달팽이의 움직임 : X=X+55, X=X-13 판단 – 우물을 벗어났는가 ? : X>=300 반복 – 우물을 벗어나지 못했으면 계속 올라간다 . 입출력 – 우물의 높이나 달팽이의 속도에 따라 결과가 다르다 .

44

http://mms.ssu.ac.kr (sbk8941@)

Page 45: 프로그래밍 및 실습 Chap1

Logo컴파일 실습 [ 달팽이 우물탈출 프로그램 ]#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; height = height + 55;}

printf(“며칠 걸렸습니까 ? /n”);printf(“%d 일입니다 . /n”, days);

return 0;}

45

http://mms.ssu.ac.kr (sbk8941@)

Page 46: 프로그래밍 및 실습 Chap1

Logo

요약C C 언어언어 • 이식성이 좋다 . • 다른 프로그래밍의 기본이 된다

• 구문이 간결하고 명확하다 . • 하드웨어의 제어까지 가능하다 .

VC++ 6.0VC++ 6.0 의 의 프로그래밍프로그래밍

• VC++ 6.0 에서는 소스 파일보다 프로젝트를 먼저 생성해야 함• 프로젝트는 C 소스를 한 개 이상 묶은 모음• 입력 시 틀린 글자를 찾아주며 , 클릭 한번으로 컴파일과 링크를 해결하는 통합 개발 환경 제공• 소스에서 한 글자라도 변경했다면 반드시 다시 ‘빌드’해야 함

실행 파일 확인 방법실행 파일 확인 방법 ① 명령 프롬프트를 띄운 후 실행 파일이 있는 곳으로 이동② VC++ 6.0 환경에서 Ctrl+F5 를 누름

프로그램 동작 순서프로그램 동작 순서

• 코딩 : C 컴파일러가 알아들을 수 있는 형식으로 문서 작성• 컴파일 : 소스를 컴퓨터가 이해하는 오브젝트 파일로 변환• 링크 : 여러 개의 오브젝트 파일을 하나의 실행파일로 묶음• 빌드 : 컴파일과 링크를 합친 개념• 실행 : 빌드한 결과인 .exe 파일을 작동

http://mms.ssu.ac.kr (sbk8941@)