Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정.

Similar presentations


Presentation on theme: "© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정."— Presentation transcript:

1 © 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정

2 © 2012 생능출판사 All rights reserved 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거

3 © 2012 생능출판사 All rights reserved 통합 개발 환경의 예  Visual Studio: 마이크로소프트  이클립스 (eclipse): 오픈 소스 프로젝트  Dev-C++: 오픈 소스 프로젝트

4 © 2012 생능출판사 All rights reserved 통합 개발 환경의 종류  비주얼 스튜디오 (Visual Studio )  마이크로소프트사의 제품  윈도우 기반의 거의 모든 형태의 응용 프로그램 제작 가능  최신 버전 : 비주얼 스튜디오 2015  우리가 사용할 버전 : 비주얼 스튜디오 2015

5 © 2012 생능출판사 All rights reserved 통합 개발 환경의 종류  Dev-C++  오픈 소스 프로젝트의 산물  C/C++ 통합 개발 환경  GCC 컴파일러 이용  무료

6 © 2012 생능출판사 All rights reserved 비주얼 C++ 설치  https://www.visualstudio.com/ (1) 다운로드의 모든다운로드 클릭 (2) 하단의 Visual Studio 2015 를 클릭한다. (4) 다운로드 버튼을 클릭한다. (3) 한국어 확인한다.

7 © 2012 생능출판사 All rights reserved 워크스페이스와 프로젝트  솔루션 (solution); 문제 해결에 필요한 프로젝트가 들어 있는 컨테이 너  프로젝트 (project): 하나의 실행 파일을 만드는데 필요한 여러 가지 항목들이 들어 있는 컨테이너

8 © 2012 생능출판사 All rights reserved 프로젝트 생성하기 클릭

9 © 2012 생능출판사 All rights reserved 프로젝트 생성하기 선택 Hello 라고 입력 선택

10 © 2012 생능출판사 All rights reserved 프로젝트 생성하기 (1) 버튼을 클릭한다 (2) 콘솔 응용 프로그램을 선택한다. (3) 빈 프로젝트를 선택한다. (4) 버튼을 클릭한다.

11 © 2012 생능출판사 All rights reserved 소스 파일 생성하기 (1) 소스파일 마우스 우클릭 (2) 새 항목 클릭

12 © 2012 생능출판사 All rights reserved 소스 파일 생성하기 선택 hello.c 입력

13 © 2012 생능출판사 All rights reserved 프로그램 입력 솔루션 프로젝트 철자에 주의하여 입력한다.

14 © 2012 생능출판사 All rights reserved 프로그램 입력

15 © 2012 생능출판사 All rights reserved 컴파일하기 컴파일, 링크하여서 실행 파일을 생성한다. 오류가 없다면 이러한 메시지가 나온다.

16 © 2012 생능출판사 All rights reserved 프로그램 실행 하기 프로그램을 실행한다. 프로그램 의 출력 프로그램의 실행이 끝나면 나오는 메시지

17 © 2012 생능출판사 All rights reserved 중간 점검  에디터, 컴파일러, 링커, 실행, 디버깅 등의 기능이 하나의 프로그램 안에 들어 있는 것을 무엇라고 하는가 ?  Visual C++ 에서 새로운 프로젝트를 생성하는 메뉴는 무엇인가 ?  Visual C++ 에서 프로젝트에 속하는 소스 파일을 컴파일하여 실행 파 일을 생성하는 메뉴는 ?  C 언어에서는 대문자와 소문자를 구별하는가 ?  Visual C++ 를 이용하여서 sample.c 라는 소스 파일을 컴파일하였을 때 생성되는 파일들은 무엇인가 ?  Visual C++ 를 사용하여 소스 프로그램을 편집하는 경우, 메모장같은 다른 텍스트 에디터를 사용하여도 되는가 ?

18 © 2012 생능출판사 All rights reserved 첫번째 프로그램의 설명 #include int main(void) { printf("Hello World!"); return 0; } #include int main(void) { printf("Hello World!"); return 0; }

19 © 2012 생능출판사 All rights reserved 프로그램 == 작업 지시서

20 © 2012 생능출판사 All rights reserved 작업을 적어주는 위치

21 © 2012 생능출판사 All rights reserved 간략한 소스 설명

22 © 2012 생능출판사 All rights reserved 헤더 파일 포함

23 © 2012 생능출판사 All rights reserved 함수  함수 (function): 특정한 작업을 수행하기 위하여 작성된 독립적인 코 드  ( 참고 ) 수학적인 함수  프로그램 = 함수의 집합 함수 입력 출력

24 © 2012 생능출판사 All rights reserved main() 함수

25 © 2012 생능출판사 All rights reserved 함수의 간략한 설명

26 © 2012 생능출판사 All rights reserved 문장  함수는 여러 개의 문장으로 이루어진다.  문장들은 순차적으로 실행된다.  문장의 끝에는 반드시 ; 이 있어야 한다.

27 © 2012 생능출판사 All rights reserved printf() 호출

28 © 2012 생능출판사 All rights reserved 함수의 반환값

29 © 2012 생능출판사 All rights reserved 중간 점검  문장의 끝에 추가하여야 하는 기호는 ?  printf() 가 하는 기능은 무엇인가 ?

30 © 2012 생능출판사 All rights reserved 응용 프로그램 #1  다음과 같은 출력을 가지는 프로그램을 제작하여 보자.

31 © 2012 생능출판사 All rights reserved 첫번째 버전  문장들은 순차적으로 실행된다는 사실 이용 #include int main(void) { printf("Hello World!"); printf("Kim ChulSoo"); return 0; } #include int main(void) { printf("Hello World!"); printf("Kim ChulSoo"); return 0; }. 2 개의 문장은 순차적으로 실행된다

32 © 2012 생능출판사 All rights reserved 줄바꿈 문자 \n  줄바꿈 문자인 \n 은 화면에서 커서는 다음줄로 이동하게 한다.

33 © 2012 생능출판사 All rights reserved 줄바꿈 문자 2 개를 사용하면 ?

34 © 2012 생능출판사 All rights reserved 변경된 프로그램  줄바꿈 문자를 포함하면 우리가 원하던 결과가 된다. #include int main(void) { printf("Hello World!\n"); printf("Kim ChulSoo \n"); return 0; } #include int main(void) { printf("Hello World!\n"); printf("Kim ChulSoo \n"); return 0; }

35 © 2012 생능출판사 All rights reserved 응용 프로그램 #2  다음과 같은 출력을 가지는 프로그램을 제작하여 보자.

36 © 2012 생능출판사 All rights reserved 응용 프로그램  역시 문장들은 순차적으로 수행된다는 점을 이용한다. #include int main(void) { printf("3 X 1 = 3\n"); printf("3 X 2 = 6\n"); printf("3 X 3 = 9\n"); return 0; } #include int main(void) { printf("3 X 1 = 3\n"); printf("3 X 2 = 6\n"); printf("3 X 3 = 9\n"); return 0; } 3 개의 문장은 순차적으로 실행된다.

37 © 2012 생능출판사 All rights reserved 중간 점검  화면에 새로운 줄을 만드는데 사용되는 특수한 기호는 ?  “ 사과 ”, “ 오렌지 ”, “ 포도 ” 를 한 줄에 하나씩 출력하는 프로그램을 작 성하여 보자.  구구단 3 단 전체를 출력하는 프로그램을 작성하여 보자.

38 © 2012 생능출판사 All rights reserved 오류 수정 및 디버깅  컴파일이나 실행 시에 오류가 발생할 수 있다.  에러와 경고  에러 (error): 심각한 오류  경고 (warning): 경미한 오류

39 © 2012 생능출판사 All rights reserved 오류의 종류  오류의 종류  컴파일 시간 오류 : 대부분 문법적인 오류  실행 시간 오류 : 실행 중에 0 으로 나누는 연산 같은 오류  논리 오류 : 논리적으로 잘못되어서 결과가 의도했던 대로 나오지 않는 오류

40 © 2012 생능출판사 All rights reserved 오류 수정 과정 ERROR!! 소스파일 test.c 소스파일 test.c 오브젝트 파일 test.obj 오브젝트 파일 test.obj 실행파일 test.exe 실행파일 test.exe 컴파일러 (compiler) 컴파일러 (compiler) 링커 (linker) 링커 (linker) 실행 (execution) 실행 (execution) 실행 시간 오류 논리 오류 컴파일 시간 오류

41 © 2012 생능출판사 All rights reserved 오류 #1 #include int main(void) { printf("Hello World!\n") return 0; } #include int main(void) { printf("Hello World!\n") return 0; } 문장의 끝에 ; 이 없음 !!

42 © 2012 생능출판사 All rights reserved 오류 #2 /* 에러가발생하는프로그램 * / #include int main(void) { printf("Hello World!\n") return 0; } /* 에러가발생하는프로그램 * / #include int main(void) { printf("Hello World!\n") return 0; } 1>------ 빌드 시작 : 프로젝트 : hello, 구성 : Debug Win32 ------ 1> hello.c 1>c:\users\chun\documents\visual studio 2010\projects\hello\hello\hello.c(9): fatal error C1071: 주석에서 예기치 않은 파일의 끝이 나타났습니다. ========== 빌드 : 성공 0, 실패 1, 최신 0, 생략 0 ========== * 과 / 이 떨어져 있음 -> 전체가 주석처리됨 주석은 프로그램에 대한 설명글로서 /* */ 안에 표시한다.

43 © 2012 생능출판사 All rights reserved 오류 #3 #include int main(void) { print("Hello World!"); return 0; } #include int main(void) { print("Hello World!"); return 0; } 1>------ 빌드 시작 : 프로젝트 : hello, 구성 : Debug Win32 ------ 1> hello.c 1>c:\users\chun\documents\visual studio 2010\projects\hello\hello\hello.c(6): warning C4013: 'print' 이 ( 가 ) 정의되지 않았습니다. extern 은 int 형을 반환하는 것으 로 간주합니다. 1>hello.obj : error LNK2019: _print 외부 기호 ( 참조 위치 : _main 함수 ) 에서 확인하지 못했습니다. 1>c:\Users\chun\Documents\Visual Studio 2010\Projects\hello\Debug\hello.exe : fatal error LNK1120: 1 개의 확인할 수 없는 외부 참조입니다. ========== 빌드 : 성공 0, 실패 1, 최신 0, 생략 0 ========== print 가 아니라 printf 임

44 © 2012 생능출판사 All rights reserved 논리 오류  다음과 같은 출력을 가지는 프로그램을 작성하여 보자.

45 © 2012 생능출판사 All rights reserved 논리 오류가 존재하는 프로그램 #include int main(void) { printf("Hey!"); printf("Good Morning"); return 0; } #include int main(void) { printf("Hey!"); printf("Good Morning"); return 0; } 줄이 바뀌지 않았음 !

46 © 2012 생능출판사 All rights reserved 논리 오류가 수정된 프로그램 #include int main(void) { printf("Hey! \n"); printf("Good Morning \n"); return 0; } #include int main(void) { printf("Hey! \n"); printf("Good Morning \n"); return 0; } 논리 오류 수정 !!

47 © 2012 생능출판사 All rights reserved 디버깅  디버깅 : 논리 오류를 찾는 과정

48 © 2012 생능출판사 All rights reserved 디버거 (debugger) 한 문장 단위로 실행한다. 현재 실행되고 있는 위치

49 © 2012 생능출판사 All rights reserved 디버거의 실행 과정

50 © 2012 생능출판사 All rights reserved 디버거의 명령어 정의  F5 (Go): 실행  F10 (Step Over): 한 문장씩 실행 ( 함수도 하나의 문장 취급 )  F11 (Step Into): 한 문장씩 실행 ( 함수 안으로 진입 )  F9 (Breakpoint): 현재 문장에 중단점을 설정

51 © 2012 생능출판사 All rights reserved 중간 점검  프로그램을 편집하여 컴파일, 링크를 한 다음, 실행시켰는데 자신이 기대한 대로 결과가 나오지 않았다. 이때는 어떻게 하여야 하는가 ?  비교적 경미한 오류를 무엇이라고 하는가 ?

52 © 2012 생능출판사 All rights reserved Q & A


Download ppt "© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정."

Similar presentations


Ads by Google