C언어 및 실습 C Language and Practice

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

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

C 언어와 프로그래밍 개요

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

Microsoft PowerPoint - chap-02.pptx

untitled


< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-02.pptx

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

PowerPoint 프레젠테이션

슬라이드 1

BMP 파일 처리

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

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

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

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

슬라이드 1

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

OCW_C언어 기초

PowerPoint 프레젠테이션

슬라이드 1

윈도우시스템프로그래밍

OCW_C언어 기초

Microsoft PowerPoint - 15-MARS

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Microsoft PowerPoint APUE(Intro).ppt

슬라이드 1

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

슬라이드 1

PowerPoint Presentation

C 프로그램의 기본

Microsoft PowerPoint - ch01.ppt

슬라이드 1

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

윈도우시스템프로그래밍

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

Microsoft PowerPoint - e pptx

제4장 기본 의미구조 (Basic Semantics)

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx

슬라이드 1

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Lesson2.pptx

DLL(Dynamic Linked Library)

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

Microsoft PowerPoint - chap06-2pointer.ppt

초보자를 위한 C++

PowerPoint 프레젠테이션

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

Microsoft PowerPoint - chap12-고급기능.pptx

02 C h a p t e r Java

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

untitled

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

프입2-강의노트-C++배경

쉽게 풀어쓴 C 프로그래밍

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

11장 포인터

초보자를 위한 C# 21일 완성

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Lab 3. 실습문제 (Single linked list)_해답.hwp

C 프로그래밊 개요

Microsoft PowerPoint - chap04-연산자.pptx

untitled

윈도우즈프로그래밍(1)

C언어 및 실습 C Language and Practice

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

1장. 유닉스 시스템 프로그래밍 개요

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

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

윈도우시스템프로그래밍

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

6주차.key

슬라이드 1

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

Chap 6: Graphs

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Template

Microsoft PowerPoint - ch07 - 포인터 pm0415

C 언어 프로그래밊 과제 풀이

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

3차시.ppt

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

PowerPoint 프레젠테이션

C 언어와 프로그래밍 개요

vi 사용법

Chapter 4. LISTS

Visual Studio online Limited preview 간략하게살펴보기

1

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Transcription:

기초프로그래밍 실습 C Language and Practice Chap. 1 : C 언어의 개요 동국대학교 멀티미디어공학과 Young-Sik Jeong

참고도서 쉽게풀어쓴 C 언어 Express, 생능출판사, 천인국저 초보자를위한 C 언어 300 제, 정보문화사, 김은철저 2

참고도서 C 기초플러스, 성안당, Stephen Prata 저, 김권식역 C Programming with a Workbook, 이한출판사, 김경창저 3

C 언어의역사 이기종컴퓨터간의호환성을가질수있을정도의고급언어이면서, 기능면에서어셈블리언어처럼컴퓨터의하드웨어기능까지제어할수있는새로운프로그래밍언어가필요함 1972 년벨 (Bell) 연구소의 Dennis Ritch 에의해개발 UNIX 운영체제의구현을위해서사용 유래 : ALGOL 60 CPL BCPL B C 4

C 언어의특징 고급언어및저급언어로서시스템프로그래밍도가능 저급언어 : 컴퓨터가실행하는실제의명령 ( 기호형태 ) 을다룸 어셈블리언어 (Assembly Language) 중급언어 고급언어 : 여러가지제어구조와 I/O 명령문등을제공 ( 프로그래밍이쉽고빠르다 >) Pascal, Delphi. Visual Basic, Java 함수 (function) 의집합으로구성되어구조적프로그램에적합함 다양한자료구조의표현에적합함. 다른시스템으로의이식성좋음. 입. 출력문장이따로존재하지않음 (library 이용 ). 5

C 언어의구조 C 언어의구조 구조적프로그래밍 큰규모의프로그램은일관성을갖는기능에따라여러개의작은단위프로그램으로나누어작성하는것이프로그램의개발및관리그리고프로그램에대한이해를쉽게해줌 프로그램의처리는하나의주 (main) 프로그램이필요한시점에서기능별 (Functional) 단위프로그램들을호출하여원하는처리를하는방법으로진행 구조적프로그래밍 (structured programming) 은순서구조, 조건구조및반복구조만으로프로그램을작성 6

C 언어의구조 C 프로그램의구조 선행처리기명령 전역데이터부분 main( ) 프로그램이컴파일되기전에프로그램에일련의작업을지시 (include, define 등 ) 모든함수에서전역적으로사용하는변수들을선언 가장먼저호출되는함수 함수 a( ) 함수 b( ) 명령문 명령문 명령문 C 의구성블록을이루는함수 명령문의다섯가지유형 선언대입함수제어 Null 7

C 언어의구조 #include <stdio.h> #define BOOL int #define TRUE 1 #define FALSE 0 BOOL whitesp(char c); header [ 초기전역선언부 ] 전역선언부 main() { int ch; int count =0; main 함수시작내부변수선언 } while( ( ch = getchar() )!= EOF ) if( whitesp(ch) ) count++; printf("there are %d whitespace character.\n", count); 처리부 main 함수끝 main() 함수본체 BOOL whitesp(char c) { if( c==' ' c=='\n' c== '\t' ) return(true); else return(false); } 사용자정의함수시작 사용자정의함수 whitesp() 끝 whitesp() 함수본체 8

C 언어의구조 printf() 여러가지형식화된내용을표준출력 (stdout, 화면 ) 으로출력하는함수 printf() 함수의일반형식 형식 : printf( 형식문자열, 인수 ) 하는일 : 인수의값을화면에원하는형식으로출력형식문자열 : 단순문자, 변환 ( 서식 ) 문자, escape 문자로구성인자 : 변환 ( 서식 ) 문자로변환할변수예 : printf(" %d\n %f\n %e\n %c\n", a, b, c, d); 변환문자 변환 ( 서식 ) 문자의미변환 ( 서식 ) 문자의미 %d 부호있는 10 진수정수 %e or %E 부동소수점형 E 또는 e 표기법 %o 부호없는 8 진수정수 %g or %G f 또는 e 중에서짧은형태를선택 %x or %X 부호없는 16 진수정수 %c 1 개문자출력 %f 부동소수점형소수점형태 %s 문자열 9

프로그램의구동 실행파일 컴파일, 링킹과정을통해생성 운영체제의로더 (loader) 가메모리에적재 하나의프로세스주소공간을갖음 스택 (Stack) 세그먼트 힙 (Heap) 데이터세그먼트 텍스트 CPU가해당메모리주소공간을읽고수행함 상위메모리구조 Stack Heap 세그먼트코드 가변크기 고정크기 실행가능파일 (executable file) 로더 하위메모리구조 [ C 프로그램의수행을위한메모리구조 ] 10

프로그램개발환경 코드에디터 프로그램을작성하는과정에서사용하는편집기 단축키, 실행취소 / 재실행, 매크로, 맞춤법검사외에각에디터마다특징이있음 Emacs, Ultra Editor, Eclipse, Crimson Editor 통합개발환경 (Integrated Development Environment) 컴퓨터를이용하여 Application 을개발하는과정에서에디터, 컴파일러, 어셈블러, 링크, 디버그등의각각의단계가모두하나의프로그램안에통합되어있는것 예 ) 터보 C, Boland C, Delphi, Visual Studio, etc. 11

초기화면 [ 2010 ] 12

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 13

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 14

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 15

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 16

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 17

프로그램개발을위해 Project 생성 1. 파일 - 새로만들기 프로젝트선택 2. 대표언어가 C++ 이아닐경우 다른언어 선택 3. Win32 콘솔응용프로그램선택 4. 이름과솔루션이름에폴더로지정될이름지정 5. 확인 18

프로젝트생성단계 19

프로젝트생성단계 20

프로그램개발을위해소스파일생성 1 소스파일 항목에마우스오른쪽버튼클릭 - 추가 새항목선택 2 C++ 파일 (.cpp) 항목선택 3 File 이름지정 - 반드시확장자명을.c 로지정 5 추가클릭 21

프로그램개발을위해소스파일생성 1 소스파일 항목에마우스오른쪽버튼클릭 - 추가 새항목선택 2 C++ 파일 (.cpp) 항목선택 3 File 이름지정 - 반드시확장자명을.c 로지정 5 추가클릭 22

프로그램개발을위해소스파일생성 1 소스파일 항목에마우스오른쪽버튼클릭 - 추가 새항목선택 2 C++ 파일 (.cpp) 항목선택 3 File 이름지정 - 반드시확장자명을.c 로지정 5 추가클릭 23

프로그램개발을위해소스파일생성 1 소스파일 항목에마우스오른쪽버튼클릭 - 추가 새항목선택 2 C++ 파일 (.cpp) 항목선택 3 File 이름지정 - 반드시확장자명을.c 로지정 5 추가클릭 24

Project Workspace 구역 Editor 영역 Output 구역 25

프로젝트관리 워크스페이스 (dsw(=solution)) 프로젝트를관리하는작업공간. 일반적으로하나의워크스페이스는하나의프로젝트를관리하지만, 하나의워크스페이스가동시에여러프로젝트를관리하는것도가능함. 프로젝트 (dsp) 프로그램을작성하는기본단위 26

프로젝트개요 Visual C++ 이지원하는프로젝트유형 응용프로그램, 동적라이브러리. Win32 콘솔응용프로그램 Win32 콘솔응용프로그램을만드는프로젝트 MFC 응용프로그램 MFC 라이브러리를사용하는응용프로그램을만드는프로젝트 Win32 프로젝트 Win32 응용프로그램, 콘솔응용프로그램, DLL 또는정적라이브러리를만드는프로젝트 빈프로젝트 로컬응용프로그램을만드는빈프로젝트 ATL 프로젝트 ATL(Active Template Library) 을사용하는프로젝트 MFC DLL - MFC 라이브러리를사용하는동적연결라이브러리를만드는프로젝트 Windows Forms 응용프로그램 Windows 사용자인터페이스를사용하여응용프로그램을만드는프로젝트 27

프로젝트개요 Visual C++ 이지원하는프로젝트유형.NET Framework 4.0 응용프로그램, 동적라이브러리. CLR 콘솔응용프로그램 콘솔응용프로그램을만드는프로젝트 CLR 빈프로젝트 로컬응용프로그램을만드는빈프로젝트 MFC ActiveX 컨트롤 MFC 라이브러리를사용하는 ActiveX 컨트롤을만드는프로젝트 Windows Forms 컨트롤라이브러리 Windows 응용프로그램에서사용할컨트롤을만드는프로젝트 메이크파일프로젝트 외부빌드시스템을사용하는프로젝트 사용자지정마법사 사용자지정응용프로그램을만드는프로젝트 클래스라이브러리 다른응용프로그램에서사용할클래스를만드는프로젝트 테스트프로젝트 테스트를포함하는프로젝트 28

소스파일의작성 자동색입히기 Visual C++ 는사용된용어의쓰임에따라서로다른색을자동으로사용 일반적으로주석은녹색으로, 키워드는파랑으로, 텍스트는검정으로표현 범주에따라색을지정하려면도구옵션을선택후환경글꼴및색지정 29

소스파일의작성 자동문장완성하기 Visual C++ 은소스입력을도와주기위해 IntelliSense 로알려진자동문장완성기능을가짐 다음과같은 4 가지방법으로도와줌 멤버나열 형정보 인자정보 단어완성 IntelliSense 30

개발명령 컴파일 ( 빌드컴파일 ) - 소스파일을기계어로번역하여오브젝트파일생성 리빌드 ( 빌드솔루션다시빌드 / < 프로젝트명 > 다시빌드 ) 프로젝트내의모든파일을컴파일 / 링크를통해실행파일을만듦 일괄처리 ( 빌드일괄빌드 ) Win32 Debug 모드와 Win32 Release 모드를위한작업을한번에수행함. 한단계씩코드실행 끝문자 (;) 단위로코드순차실행 프로시저단위실행 모듈 ( 함수 ) 단위로코드순차실행 중단점설정 / 해제 디버그시중단점설정 / 해제 31

개발모드 ( 빌드 -> 구성관리자 ) Win32 Debug 디버깅정보를포함하는실행파일을만듦. Win32 Release 디버깅정보를포함하지않는실행파일을만듦. 빌드 메뉴의 구성관리자 선택 32

표준출력함수를사용하여화면에 Hello. Happy to Meet U 를출력하는프로그램을작성 1. 프로그램코딩 33

1. [ 빌드 ] 컴파일 (Ctrl+F7) 을 Click 2. 컴파일한후, 3. Error 가없으면, 빌드 (F7) Click 34

실행결과 1. 디버그 디버깅하지않고시작 (Ctrl+F5) 을 Click 35

Q & A 36