Microsoft PowerPoint - chap-02.pptx

Similar documents
untitled

Microsoft PowerPoint - chap-02.pptx

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

OCW_C언어 기초

Microsoft PowerPoint - Lesson2.pptx

PowerPoint Presentation

C 프로그램의 기본


Microsoft PowerPoint - gnu-w09-c-chap

쉽게 풀어쓴 C 프로그래밊

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - 1C언어소개0.PPT

초보자를 위한 C++

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

슬라이드 1

슬라이드 1

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

슬라이드 1

Microsoft PowerPoint - ch 전처리기, 다중 소스파일 pm1015

C 언어와 프로그래밍 개요

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

01장

금오공대 컴퓨터공학전공 강의자료

SaaS 플랫폼을 위한 Web 2.0기반 서비스 제공 미들웨어 기술 연구

PowerPoint 프레젠테이션

쉽게

C 언어와 프로그래밍 개요

슬라이드 1

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

금오공대 컴퓨터공학전공 강의자료

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

BMP 파일 처리

C언어 및 실습 C Language and Practice

vi 사용법

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

Microsoft PowerPoint - gnu-w10-c-chap11

슬라이드 1

gdb 사용법 Debugging Debug라는말은 bug를없앤다는말이다. Bug란, 컴퓨터프로그램상의논리적오류를말하며, 이것을찾아해결하는과정이바로, debugging이다. 초기컴퓨터들은실제벌레가컴퓨터에들어가서오작동을일으키는경우가있었다고하며, 여기서 debug 이라는말이

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

강의10

Microsoft PowerPoint - chap-06.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

윤성우의 열혈 TCP/IP 소켓 프로그래밍

ABC 2장

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - 1주차-2차시 (강의자료) ch01 - C Programming 기초 (part 1)

untitled

C++-¿Ïº®Çؼ³10Àå

컴파일러

11장 포인터

Microsoft PowerPoint - chap12-고급기능.pptx

MPLAB C18 C

Microsoft PowerPoint - KNK_C01_intro_kor

Microsoft PowerPoint - [2009] 02.pptx

KNK_C01_intro_kor

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

4S 1차년도 평가 발표자료

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

C 프로그래밊 개요

C언어 및 실습 C Language and Practice

PowerPoint Presentation

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint - chap08-1 [호환 모드]

슬라이드 1

PowerPoint Presentation

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint 프레젠테이션

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

중간고사

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

1. 도구개요 Implementation Eclipse CDT 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environmen

Microsoft Word - Armjtag_문서1.doc

1 부. OJ 시스템사용법 1. 회원가입및로그인 1) 접속후메인화면의우측상단 Sign up 선택 - 학번 (Student ID), 비밀번호, 비밀번호확인, 이름, 입력후 Register 버튼클릭 2) 메인화면에

Transcription:

쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초

프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2

프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성 소스파일 (source file): 소스코드가들어있는텍스트파일 ( 예 ) test.c 컴파일 (compile) 소스파일-> 기계어로변환 오브젝트파일 (object file) : 기계어로변환된파일 ( 예 ) test.obj 링크 (link) 오브젝트파일들을라이브러리파일들과연결하여하나의실행파일생성 실행파일 (executable file): 실행이가능한파일 ( 예 ) test.exe 컴퓨터프로그래밍기초 3

컴퓨터프로그래밍기초 4

Q & A (Q) 소스파일과오브젝트파일, 실행파일중에서반드시보관하여야하는파일은무엇일까? (A) 정답은소스파일이다. 소스파일만있으면컴파일러를수행시켜서오브젝트파일, 실행파일은만들수있다. 하지만소스파일을삭제하면컴파일이불가능하다. 따라서반드시소스파일은잘보관하여야한다. Visual C++ 에서는프로젝트와워크스페이스파일도같이보관하는것이좋다. 이러한파일들은다시만들수도있지만번거로운작업이된다. 컴퓨터프로그래밍기초 5

통합개발환경 통합개발환경 (IDE: integrated development environment): 에디터 + 컴파일러 + 디버거 컴퓨터프로그래밍기초 6

통합개발환경의종류 비주얼 C++(Visual C++) 마이크로소프트사의제품 윈도우기반의거의모든형태의응용프로그램제작가능 최신버전 : 비주얼스튜디오 2005 우리가사용할버전 : 비주얼스튜디오 6.0 컴퓨터프로그래밍기초 7

통합개발환경의종류 Dev-C++ 오픈소스프로젝트의산물 C/C++ 통합개발환경 GCC 컴파일러이용 무료 컴퓨터프로그래밍기초 8

비주얼 C++ 실행 개발도구를사용할때의유용한정보를말해준다. 체크되어있으면다음번시작때도팁을보여준다. 다음팁을계속보려면우른다. 컴퓨터프로그래밍기초 9

워크스페이스와프로젝트 워크스페이스 (workspace); 작업공간, 여러개의프로젝트가있을수있다. 프로젝트 (project): 하나의실행파일을만들기위하여필요한파일들의그룹 프로젝트 : 실행파일을만들기위하여필요한파일들 워크스페이스 : 여러개의프로젝트들을가지고있는작업공간 컴퓨터프로그래밍기초 10

비주얼 C++ 시작하기 컴퓨터프로그래밍기초 11

프로젝트생성하기 컴퓨터프로그래밍기초 12

프로젝트생성하기 1 3 프로젝트이름을적어준다. 4 2 5 6 Win32 콘솔애플리케이션을선택한다. 프로젝트가저장되는폴더를지정한다. 컴퓨터프로그래밍기초 13

프로젝트생성하기 1 비어있는프로젝트를만든다. simple application 을선택하면간단한 c++ 프로그램이작성되니주의! 2 컴퓨터프로그래밍기초 14

소스파일생성하기 1 2 소스파일을만든다는의미이다. 3 반드시확장자를.c 로하여야한다. 만약파일이름만쓰게되면.cpp 라는 C++ 확장자가붙는다. 4 컴퓨터프로그래밍기초 15

소스파일에프로그램작성 2 3 test.c 를더블클릭한다. test.c t 의내용이여기에표시된다. 1 파일들을보는탭이다. 컴퓨터프로그래밍기초 16

비주얼 C++ 의전체구조 워크스페이스와프로젝트에속하는파일을보여준다. 소스파일을에디팅하는윈도우. 컴파일과링크과정에서의메시지출력. 컴퓨터프로그래밍기초 17

프로그램입력 철자가틀리지않도록조심하면서예제소스파일을입력합니다 컴퓨터프로그래밍기초 18

프로그램입력시주의사항 /* 와 */ 에서 / 와 * 는반드시붙여서쓰도록한다. include 나 stdio 와같은단어는붙여서쓴다. /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World!"); return 0; } 큰따옴표안의문장들은화면에그대로출력된다. 여기서 \ 와 n 은반드시붙여야한다. int 와 main 은별도의단어이므로구별하기위하여공백이있문장의끝에는 ; 을잊지말자. 어야한다. ; 와 : 을잘구별한다. 서로대응되는중괄호들은같은열에놓는편이좋다. 컴퓨터프로그래밍기초 중괄호안에들어가는문장들은일반적으로들여쓰기를한다. 탭키를이용하거나스페이스키를이용한다. 비주얼 C++ 에는자동적으로들여쓰기를해주는기능이있다. 19

컴파일하기 빌드 (build) 란보통컴파일과링크를수행하여실행파일을작성하는것을의미한다. 컴퓨터프로그래밍기초 20

컴파일결과 에러가없다면이런화면이나온다. 컴퓨터프로그래밍기초 21

오브젝트파일과실행파일의생성 오브젝트파일과실행파일이생성된것을확인할수있다. 컴퓨터프로그래밍기초 22

프로그램실행하기 작성된프로그램을실행시킨다. 컴퓨터프로그래밍기초 23

실행결과화면 프로그램의출력 프로그램실행이끝나면항상나오는메시지이다. 컴퓨터프로그래밍기초 24

첫번째프로그램의설명 /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World!"); return 0; } Hello World! 컴퓨터프로그래밍기초 25

주석 주석 (comment): 프로그램에대한설명 /* 한줄로된주석 */ 주석은프로그램을설명하는글입니다. int main(void) /* 줄의일부분인주석 */ /* 여러줄로된주석 */ 컴퓨터프로그래밍기초 26

헤더파일포함 #include <stdio.h> #include 는소스코드안에특정파일을현재의위치에포함 헤더파일 (header file): 컴파일러가필요로하는정보를가지고있는파일 stdio.h: standard input output header file 주의!: 전처리기지시자문장끝에는세미콜론을붙이면안된다. 컴퓨터프로그래밍기초 27

함수 int main(void) 함수 (function): 특정한작업을수행하기위하여작성된독립적인코드 ( 참고 ) 수학적인함수 y x 2 1 프로그램 = 함수의집합 main() 은가장먼저수행되는함수 입력 함수 출력 컴퓨터프로그래밍기초 28

문장 함수는여러개의문장으로이루어진다. 문장들은순차적으로실행된다. 컴퓨터프로그래밍기초 29

출력함수 printf() printf( Hello World! ); printf() 는컴파일러가제공하는함수로서출력을담당합니다. 큰따옴표안의문자열을화면에출력합니다. Hello World! 컴퓨터프로그래밍기초 30

함수반환문 return 0; return 은함수의결과값을외부로반환합니다. 운영체제 main() printf( Hello World! ); return 0; 운영체제 컴퓨터프로그래밍기초 31

응용프로그램 #1 다음과같은출력을가지는프로그램을제작하여보자. Hello World! Kim ChulSoo 컴퓨터프로그래밍기초 32

첫번째버전 문장들은순차적으로실행된다는사실이용 /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World!"); printf( Kim ChulSoo"); return 0; } 우리가원하는결과가아님! Hello World!Kim ChulSoo 컴퓨터프로그래밍기초 33

줄바꿈문자 \n 줄바꿈문자인 \n 은화면에서커서는다음줄로이동하게한다. 컴퓨터프로그래밍기초 34

변경된프로그램 줄바꿈문자를포함하면우리가원하던결과가된다. /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World!\n"); printf( Kim ChulSoo"); return 0; } Hello World! Kim ChulSoo 컴퓨터프로그래밍기초 35

응용프로그램 #2 다음과같은출력을가지는프로그램을제작하여보자. 3X1=3 3X2=6 3X3=9 컴퓨터프로그래밍기초 36

응용프로그램 역시문장들은순차적으로수행된다는점을이용한다. /* 첫번째프로그램의응용 */ #include <stdio.h> int main(void) { printf("3 X 1 = 3\n"); printf("3 X 2 = 6\n"); printf("3 X 3 = 9\n"); } return 0; 컴퓨터프로그래밍기초 37

오류수정및디버깅 컴파일이나실행시에오류가발생할수있다. 에러와경고 에러 (error): 심각한오류 경고 (warning): 경미한오류 오류의종류 컴파일시간오류 : 대부분문법적인오류 실행시간오류 : 실행중에 0으로나누는연산같은오류 논리오류 : 논리적으로잘못되어서결과가의도했던대로나오지않는오류 컴퓨터프로그래밍기초 38

오류메시지의분석 에러가발견된소스파일명 return 앞에 ; 를빠뜨렸다는의미이다. Compiling... test.c c:\cprogram\test\test.c(7) : error C2143: syntax error : missing ';' before 'return' Error executing cl.exe. 에러가발견된라인의번호 문법적인오류 (syntax error) 가있었음을나타낸다. 컴퓨터프로그래밍기초 39

오류수정과정 컴파일러 (compiler) 링커 (linker) 실행 (execution) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe ERROR!! 컴파일시간오류 실행시간오류논리오류 컴퓨터프로그래밍기초 40

오류 #1 /* 에러가발생하는프로그램 */ #include <stdio.h> int main(void) { printf("hello World!\n") return 0; } 문장의끝에 ; 이없음!! --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c C:\PROJECT\test\test.c(7) : error C2143: syntax error : missing ';' before 'return' Error executing cl.exe. test.exe - 1 error(s), 0 warning(s) 컴퓨터프로그래밍기초 41

오류 #2 /* 에러가발생하는프로그램 * / #include <stdio.h> int main(void) { printf("hello World!\n") return 0; } * 과 / 이떨어져있음 -> 전체가주석처리됨 --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c c:\project\test\test.c(9) : fatal error C1071: unexpected end of file found in comment Error executing cl.exe. test.exe exe - 1 error(s), 0 warning(s) 컴퓨터프로그래밍기초 42

오류 #3 /* 첫번째프로그램 */ #include <stdio,h> int main(void) { print("hello World!"); return 0; } stdio.h 로적어주어야됨 --------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c c:\project\test\test.c(2) : fatal error C1083: Cannot open include file: 'stdio,h': No such file or directory 컴퓨터프로그래밍기초 43

오류 #4 /* 첫번째프로그램 */ #include <stdio.h> int main(void) { print("hello World!"); return 0; } print 가아니라 printf 임 -------------------Configuration: test - Win32 Debug-------------------- Compiling... test.c C:\CPROGRAM\test\test.c(6) : warning C4013: 'print' undefined; assuming extern returning int Linking... test.obj : error LNK2001: unresolved external symbol _print Debug/test.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. test.exe - 2 error(s), 1 warning(s) 44 컴퓨터프로그래밍기초

논리오류 다음과같은출력을가지는프로그램을작성하여보자. Hello World! Good Morning 컴퓨터프로그래밍기초 45

논리오류가존재하는프로그램 /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World!\n"); printf("good Morning\n"); return 0; } // 1 줄바꿈문자인 \n때문에줄이바뀌었음. Hello World! Good Morning 컴퓨터프로그래밍기초 46

논리오류가수정된프로그램 /* 첫번째프로그램 */ #include <stdio.h> int main(void) { printf("hello World! "); printf("good Morning\n"); return 0; } // 1 논리오류수정!! Hello World! Good Morning 컴퓨터프로그래밍기초 47

디버깅 디버깅 : 논리오류를찾는과정 컴퓨터프로그래밍기초 48

디버거 (debugger) 컴퓨터프로그래밍기초 49

디버거의실행과정 컴퓨터프로그래밍기초 50

디버거의실행과정 컴퓨터프로그래밍기초 51

디버거의명령어정의 F5 (Go): 실행 F10 (Step Over): 한문장씩실행 ( 함수도하나의문장취급 ) F11 (Step Into): 한문장씩실행 ( 함수안으로진입 ) F9 (Breakpoint): 현재문장에중단점을설정 컴퓨터프로그래밍기초 52

Q & A 컴퓨터프로그래밍기초 53