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언어 기초


PowerPoint Presentation

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - gnu-w09-c-chap

C 프로그램의 기본

쉽게 풀어쓴 C 프로그래밍

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

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

슬라이드 1

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

Microsoft PowerPoint - ch01.ppt

PowerPoint 프레젠테이션

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

초보자를 위한 C++

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

슬라이드 1

쉽게 풀어쓴 C 프로그래밊

슬라이드 1

슬라이드 1

슬라이드 1

슬라이드 1

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

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

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

PowerPoint 프레젠테이션

vi 사용법

C 언어와 프로그래밍 개요

ISP and CodeVisionAVR C Compiler.hwp

01장

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

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

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

슬라이드 1

PowerPoint 프레젠테이션

C 언어와 프로그래밍 개요

쉽게

강의10

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

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

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

Microsoft PowerPoint - gnu-w10-c-chap11

C언어 및 실습 C Language and Practice

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

BMP 파일 처리

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

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

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

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

untitled

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

컴파일러

본 강의에 들어가기 전

Microsoft PowerPoint - chap-06.pptx

OCW_C언어 기초

슬라이드 1

ABC 2장

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

MPLAB C18 C

Microsoft PowerPoint - KNK_C01_intro_kor

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - [2009] 02.pptx

KNK_C01_intro_kor

PowerPoint 프레젠테이션

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

슬라이드 1

11장 포인터

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

C언어 및 실습 C Language and Practice

Microsoft PowerPoint - chap12-고급기능.pptx

PowerPoint 프레젠테이션

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

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

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

PowerPoint 프레젠테이션

슬라이드 1

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

슬라이드 1

C 프로그래밊 개요

Microsoft PowerPoint APUE(Intro).ppt

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

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

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 ( 혹은 test.o) 링크 (link) 오브젝트파일들을라이브러리파일들과연결하여하나의실행파일생성 실행파일 (executable file): 실행이가능한파일 ( 예 ) test.exe ( 혹은 a.out, test) 컴퓨터프로그래밍기초 3

컴퓨터프로그래밍기초 4

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

통합개발환경 통합개발환경 (IDE: integrated development environment): 에디터 + 컴파일러 + 디버거 디버거 : 소스를디버깅할수있다. 에디터 : 소스를작성할수있다. 컴파일러 : 소스를컴파일할수있다. 컴퓨터프로그래밍기초 6

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

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

비주얼스튜디오 2010 시작하기 설정하기 : C/C++ 을개발하기위한설정하기. 컴퓨터프로그래밍기초 9

비주얼스튜디오 2010 시작하기 컴퓨터프로그래밍기초 10

비주얼스튜디오 2010 시작하기 컴퓨터프로그래밍기초 11

비주얼스튜디오 2010 시작하기 컴퓨터프로그래밍기초 12

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

비주얼스튜디오 2010 시작하기 새로운프로젝트생성. 컴퓨터프로그래밍기초 14

프로젝트생성하기 프로젝트이름 파일이저장될위치 컴퓨터프로그래밍기초 15

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

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

소스파일생성하기 오른쪽클릭 컴퓨터프로그래밍기초 18

소스파일생성하기 선택 생성할파일이름. 확장자는.c 컴퓨터프로그래밍기초 19

소스파일에프로그램작성 Test.c 의내용이여기에표시된다. 생성된파일 컴퓨터프로그래밍기초 20

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

프로그램입력 철자가틀리지않도록조심! 컴퓨터프로그래밍기초 22

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

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

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

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

프로그램실행하기 컴퓨터프로그래밍기초 27

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

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

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

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

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

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

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

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

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

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

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

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

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

응용프로그램 역시문장들은순차적으로수행된다는점을이용한다. /* 첫번째프로그램의응용 */ #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; 컴퓨터프로그래밍기초 41

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

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

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

오류 #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) 컴퓨터프로그래밍기초 45

오류 #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) 컴퓨터프로그래밍기초 46

오류 #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 컴퓨터프로그래밍기초 47

오류 #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) 48 컴퓨터프로그래밍기초

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

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

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

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

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

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

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

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

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