Microsoft PowerPoint - chap01.pptx

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

1

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

강의개요

초보자를 위한 C++

C 언어와 프로그래밍 개요


Microsoft PowerPoint - [2009] 02.pptx

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

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

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

3차시.ppt

untitled

Microsoft PowerPoint - 권장 사양

OCW_C언어 기초

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

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

쉽게 풀어쓴 C 프로그래밍

C# Programming Guide - Types

ISP and CodeVisionAVR C Compiler.hwp

JVM 메모리구조

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - chap04-연산자.pptx

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

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - 15-MARS

인켈(국문)pdf.pdf


untitled

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

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

Slide 1

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

슬라이드 1

슬라이드 1

PCServerMgmt7

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - Java7.pptx

Integ

Microsoft PowerPoint - PL_03-04.pptx

DE1-SoC Board

PowerPoint 프레젠테이션

!K_InDesginCS_NFH

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch01.ppt

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

슬라이드 1

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

중간고사

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

Microsoft PowerPoint - chap-02.pptx

기술 이력서 2.0

PowerPoint 프레젠테이션

Microsoft PowerPoint APUE(Intro).ppt

LCD Monitor

C++ Programming

BMP 파일 처리

Microsoft PowerPoint - chap06-1Array.ppt

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

스포일러 스포일러 기획 이슈 학교 미디어교육을 위한 협력의 물꼬를 트다 Contents 스포일러 새롭고 여전한 미디어현장을 만들어가는 사람들 기획 + 특집 학교 미디어교육을 위한 협력의 물꼬를 트다 문연옥 인물 + 인터뷰 성서공동체FM 정수경 대표 정보 + 기술 이현주

API 매뉴얼

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - o8.pptx

쉽게 풀어쓴 C 프로그래밍

10X56_NWG_KOR.indd

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

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

C++ Programming

Microsoft PowerPoint - chap-02.pptx

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

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

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

KDTÁ¾ÇÕ-2-07/03

manual pdfÃÖÁ¾

KDTÁ¾ÇÕ-1-07/03

강의10

Microsoft Word - 1-차우창.doc

Microsoft PowerPoint - chap-03.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

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


LCD Monitor

CLX8380_KR.book

Microsoft Word - HD-35 메뉴얼_0429_.doc

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

hlogin2

DR-M140 사용 설명서

PowerPoint Presentation

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

Secure Programming Lecture1 : Introduction

Assign an IP Address and Access the Video Stream - Installation Guide

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

LCD Monitor

Transcription:

SeoulTech 00- nd 프로그래밍입문 장. 컴퓨터, 프로그램및 C 입문 박종혁교수 UCS Lab (http://www.parkjonghyuk.net) Tel: 0-970-670 Email: jhpark@snut.ac.kr

강의목표 컴퓨터기초, 프로그램, 운영체제개념 (.-.4) ( 선택 )진수, 0진수, 6진수수의표현 (.5) ================================ C 역사 (.6) C 프로그램작성방법 (.7) C 프로그램개발주기이해 (.8) ================================ ( 선택 )Visual C 로프로그램작성 (.9) ( 선택 )Dev-C 로프로그램작성 (.0) ( 선택 ) 윈도우명령라인에서컴파일하기 (.) ) ( 선택 )Unix 명령라인에서컴파일하기 (.) C 로시작하는객체지향프로그래밍

컴퓨터구성 컴퓨터는다음의주요한하드웨어컴포넌트로구성되어있다. 중앙처리장치 (CPU), 메모리 ( 주메모리 ), 저장장치 ( 하드디스크, CD, 테이프 ), 입출력장치 ( 모니터, 키보드, 마우스, 프린터 )- 통신장치 ( 모뎀및네트워크카드 (NIC)) Bus Storage Devices Memory CPU Communication Devices Input Devices Output Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and Tape and NIC Mouse Printer C 로시작하는객체지향프로그래밍 3

CPU 중앙처리장치 (CPU) 는컴퓨터의중추로서메모리에서명령을읽어오고실행하는역할을담당한다. CPU 는 개의요소로구성되는데제어부 (control unit) 와산술논리부 (arithmetic/logic unit) 이다. 컴퓨터의클럭속도는보통 MHz(00 만 Hz) 이며 CPU의속도는지속적으로증가되어왔다. 최근의 PC들은 Intel Core Duo 프로세서를탑재하고 3GHz(GHz는,000MHz임 ) 이상의속도를내고있다. Bus Storage Communication Input Output Memory CPU Devices Devices Devices Devices e.g., Disk, CD, and Tape e.g., Modem, and NIC e.g., Keyboard, Mouse e.g., Monitor, Printer C 로시작하는객체지향프로그래밍 4

Memory 메모리에는데이터와프로그램명령들이 CPU에서실행될수있도록저장되어있다. 메모리단위는바이트로 8 비트묶음을의미한다. 사용되기전에프로그램과데이터는메모리로로드되어야한다. 메모리는완전히비어있다기보다는무엇인가기록되어있다고볼수있으며, 초기화되지않은값이메모리에있다면프로그램에서사용할수있는의미있는값은아니며, 새로운의미있는정보가메모리에쓰이게되면이전의값은사라진다. Bus Storage Devices Memory CPU Communication Devices Input Devices Output Devices e.g., Disk, CD, and Tape eg e.g., Modem, and NIC e.g., Keyboard, Mouse e.g., Monitor, Printer C 로시작하는객체지향프로그래밍 5

데이터저장형태 컴퓨터는이진상태인 과 0으로서정보를표현하는기기이다. 여러종류의데이터, 숫자, 문자, 문자열등은일련의비트 ( 바이너리디지트 : 0과 ) 로인코딩된다. 메모리에는이러한데이터와프로그램명령들이 CPU 에서실행될수있도록저장되어있다. 메모리단위는바이트로 8비트묶음을의미하며순서대로번지가매겨진다. 프로그래머는데이터의인코딩, 디코딩에신경쓸필요는없다. 인코딩규칙에따라시스템에서자동으로수행되기때문이다. 인코딩규칙은다양한데, ASCII 인코딩의경우문자 J 를 00000 8 비트 ( 바이트 ) 로인코딩한다.3 과같이작은숫자는 바이트에저장하고, 큰수를저장하고자할경우에는인접한여러바이트를사용하여숫자를저장하게된다. 바이트는최소저장단위이다. Memory address Memory content...... 000 00000 Encoding for character J 00 00000 Encoding for character a 00 000 Encoding for character v 003 00000 Encoding for character a 004 000000 Encoding for number 3 C 로시작하는객체지향프로그래밍 6

저장장치 메모리는휘발성이므로전원이없으면정보가지워지게된다. 때문에영구적인저장을위해서프로그램과데이터는저장장치에저장되어야하며컴퓨터가실제로사용할때메모리로옮겨져서사용된다. 예 : 디스크드라이브 ( 하드디스크, 플로피디스크 )- CD 드라이브 (CD-R, CD-RW, DVD)- 테이프드라이브- USB 플래시드라이브 Bus Storage Devices Memory CPU Communication Devices Input Devices Output Devices e.g., Disk, CD, and Tape e.g., Modem, and NIC e.g., Keyboard, Mouse e.g., Monitor, Printer C 로시작하는객체지향프로그래밍 7

출력장치 : 모니터 모니터는텍스트또는그래픽정보를출력하는장치이다. 해상도와도트피치 (dot pitch) 가모니터의화질을결정한다. Bus Storage Devices Memory CPU Communication Devices Input Devices Output Devices e.g., Disk, CD, and Tape e.g., Modem, and NIC e.g., Keyboard, Mouse e.g., Monitor, Printer C 로시작하는객체지향프로그래밍 8

모니터해상도와도트피치 해상도 resolution 평방인치당픽셀 (pixel: picture elements) 의수로결정되는데, 픽셀은화면에이미지를출력하기위해사용되는작은점 ( 화소 ) 을의미한다. 7인치일반 LCD 모니터의경우가로 80, 세로 04 픽셀을표준해상도로사용한다. 해상도는사용자에의해조절이가능하고해상도를높이게되면이미지가선명해지고깨끗하게보인다. 도트피치 dot pitch 픽셀간간격을의미하는것으로보통 0. 밀리미터에서 0.8 밀리미터정도가된다. 도트피치가작을수록화질이좋다. C 로시작하는객체지향프로그래밍 9

통신장치 많이사용되는통신장치에는다이얼업모뎀 (modem), DSL, 케이블모뎀, 네트워크카드등이있다. 다이얼업모뎀은전화선을사용하여 56,000bps(bit per second) 속도로통신이가능하다. DSL(Digital Subscriber Line) 도전화선을사용하여통신하지만, 다이얼업모뎀에비해 0배빠른속도로통신이가능하다. 케이블모뎀은케이블 TV 업체의케이블라인을사용하여통신하는방식이며 DSL 과속도가비슷하다. 네트워크카드 (NIC: Network Interface Card) 는컴퓨터를 LAN(Local Area Network) 에연결하기위해필요한장치이며 LAN은기업, 대학및기관에서폭넓게사용되고있다. 일반적인 NIC는 0BaseT로 0Mbps( 초당백만비트 ) 의속도로통신이가능하다. Bus Storage Devices Memory CPU Communication Devices Input Devices Output Devices e.g., Disk, CD, e.g., Modem, e.g., Keyboard, e.g., Monitor, and dtape and dnic Mouse Printer C 로시작하는객체지향프로그래밍 0

프로그램 프로그램은소프트웨어를의미하는것이며컴퓨터가실행할명령 (instruction) 을의미한다. 사용자는프로그램을통해컴퓨터가처리할작업을지시하게된다. 프로그램이없다면컴퓨터는하나의비어있는기계덩어리에불과하다. 컴퓨터는사람의말을이해할수없으므로, 컴퓨터언어를사용하여컴퓨터에필요한프로그램을작성하는것이필요하다. C 로시작하는객체지향프로그래밍

프로그래밍언어 기계어어셈블리언어고급언어 기계어는가장원시적인수준의언어로 0 과 의조합으로구성된언어이며특정플랫폼의컴퓨터에적합하게작성되어다른타입의컴퓨터간에는호환되지못한다. 명령어도바이너리코드형태로되어있으므로, 다양한명령을사용하려면여러바이너리코드를사용해야한다. 기계어로프로그램을작성하는것은지루한작업이며읽고수정하는것도쉽지않다. 예로써두수를더하는경우다음과같은명령을작성하여야한다. 0000000 C 로시작하는객체지향프로그래밍

프로그래밍언어 기계어어셈블리언어고급언어 어셈블리어 (assembly language) 는저수준의프로그래밍언어로기계어명령을대신하는연상기호 (mnemonic) 를사용한다. 예로써두수를더하는경우를어셈블리어로작성하면다음과같은명령을작성하여야한다. ADDF3 R, R, R3 Assembly Source File Machine Code File ADDF3 R, R, R3 Assembler 0000000 C 로시작하는객체지향프로그래밍 3

프로그래밍언어 기계어어셈블리언어고급언어 고급언어 (high-level language) 는영어문장과유사한형태로만들어져있으므로배우기쉽고프로그램작성이용이하다. 예를들어고급언어로원의반지름이 5인원의면적을구하는프로그램은다음과같이작성하면된다. area = 5 * 5 * 3.45; C 로시작하는객체지향프로그래밍 4

인기있는고급언어 COBOL (Common Business Oriented Language) FORTRAN (FORmula TRANslation) BASIC (Beginner All-purpose Symbolic Instructional Code) Pascal (Blaise Pascal이라고도함 ) Ada (Ada Lovelace이라고도함 ) Visual Basic (Microsoft에서개발한비주얼베이직 ) Delphi (Borland에서개발한 Pascal 유사언어 ) C (B 언어를토대로만들어진언어 ) C (C 기반객체지향언어 ) Java C# (Microsoft 에서개발한 Java와유사한언어 ) C 로시작하는객체지향프로그래밍 5

소스코드컴파일 고급언어로작성된프로그램을소스프로그램 (source program) 이라고한다. 컴퓨터는소스프로그램을바로이해할수없기때문에컴파일러 (compiler) 를사용하여기계어로변환하는과정을거치게된다. 기계어프로그램은라이브러리와링크되어실행파일을만들게된다. Source File Compiler Object File Linker Excutable File C 로시작하는객체지향프로그래밍 6

운영체제 운영체제 (OS) 는컴퓨터에서실행되는가장중요한프로그램으로컴퓨터시스템의자원을관리하고프로그램을관리하는역할을한다. 우리가보통사용하는운영체제는윈도우 (98, NT, 000, Me, XP, Vista) 나 Mac OS 또는 Linux 운영체제중의하나일것이다. 윈도우는현존하는가장인기있는운영체제이며, 웹브라우저, 워드프로세서같은응용프로그램도운영체제없이는실행될수없다. User Application Programs Operating System Hardware C 로시작하는객체지향프로그래밍 7

수체계 NOTE: 이절은우선넘어가고다음에 진수체계나 6진수에대한궁금한사항이있을때찾아보는형태로활용해도좋다. binary 0, octal decimal 0,,, 3, 4, 5, 6, 7 0,,, 3, 4, 5, 6, 7, 8, 9 hexdecimal 0,,, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F C 로시작하는객체지향프로그래밍 8

수체계 컴퓨터는내부적으로메모리나디스크같은저장장치에 0과 을저장할수있기때문에 진수체계를사용한다. 컴퓨터의숫자나문자는 0과 로구성된열로작성된다. 이때 0과 각각을비트 (bit) 라고한다. 진수체계는두개의수, 즉 0 과 을가지고있는것이다. 우리는 0진수체계를사용하므로 진수는쉽게의미가오지는않는다. 프로그램에서 0을작성하는경우 0진수로작성하게되지만, 컴퓨터소프트웨어에의해 진수로변환되며, 컴퓨터내부의 진수도변환에의해 0진수로표현된다. C 로시작하는객체지향프로그래밍 9

수체계, cont. 0진수의숫자는 0,,, 3, 4, 5, 6, 7, 8, 9이며 0진수는이들숫자로만만들어진다. 숫자는위치에따라숫자의값도달라진다. 숫자의위치에따른값은 0의멱승이된다. 예를들어, 십진수 743에는숫자 7, 4,, 3이있는데각기 7000, 400, 0, 3 값을가진다. 7 4 3 0 3 0 0 0 0 = 3 7 0 4 0 0 3 = 7000 400 0 3 = 743 0 0 0진수체계시스템은 0개의수를사용하며각자리는 0의멱승의값을가진다. 여기에서 0은밑수 (base) 또는기수 (radix) 가된다. 따라서 진수의경우에는 개의수가사용되므로기수가 가되며, 6진수의경우에는 6개의수가사용되므로기수가 6 이된다. C 로시작하는객체지향프로그래밍 0

수체계, cont. 많은경우 0진수형태로프로그램을작성하게되지만, 운영체제같은시스템프로그래밍을작성하는경우에는기계어코드를직접작성하는것도필요하므로 진수를직접사용하기도한다. 진수로표현하면길어지고이해도쉽지않게되므로 6진수 (hexadecimal number) 가 진수를간략히표현하는형태로사용된다. 6진수는이진비트 4개로표현되며, 6진수체계는 03456789ABCDEF 0,,, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, 의 6 개의기호로숫자를표현한다. A, B, C, D, E, F 기호는숫자 0에서부터 5 까지를의미한다. C 로시작하는객체지향프로그래밍

Binary Numbers => Decimals y 진수는다음의진수와같은값을가진다 0... b b b b b b n n n 다음의 0 진수와같은값을가진다. 0 0 b b b b b b n n n n n n... 0 b b b b b b n n n 진수 0 은 = 0 진수 이다. 0 진수 000 은 = 0 진수 8 이다. 0 0 0 3 이진수이진수 000 은 = 0 진수 7 이다. 0 0 0 3 4 5 6 7 C 로시작하는객체지향프로그래밍

Decimals => Binary 0진수를 진수로변환하려면, b, n, bn, b n,..., b, b b0 비트의값을구하는것이필요하다. 다음과같이표현된다. d = b n n n n bn bn... b b b0 0 진수를구하는방법은 0진수를 로나누는데몫이 0이될때까지계속나누기를한다. 이때구해진나머지가 b 0, b, b,..., bn, bn, bn 이된다. 예를들어 0 진수 3 은 진수로 0 이다. 변환은다음과같다. 0 3 7 5 30 6 Quotient 0 3 7 6 5 4 30 30 0 6 60 3 Remainder b 6 b 5 b 4 b 3 b b b 0 C 로시작하는객체지향프로그래밍 3

Windows 계산기 공학용윈도우계산기로수변환기능이있다. 계산기프로그램은윈도우에서 [ 시작 ]-[ 프로그램 ]- [ 보조프로그램 ] 에서실행한다. C 로시작하는객체지향프로그래밍 4

Hexadecimals => Decimals 6진수는이진비트 4개로표현되며, 6진수체계는 0,,, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 의 6 개의기호로숫자를표현한다. A, B, C, D, E, F 기호는숫자 0에서부터 5까지를의미한다. 6 진수 h... h nhn h 는 n hh 0 다음의 0진수와같다. h n n n n 6 hn 6 hn 6... h 6 h 6 h0 6 0 6진수 7F 7 6 5 = 0진수 7 3 6진수 FFFF 5 6 5 6 5 6 5 = 0진수 65535 C 로시작하는객체지향프로그래밍 5

Decimals => Hexadecimal 6 진수 h n, hn, h n,...,, h, h, h0 은 0진수로다음과같은표현할 수있다. d = h n n n n 6 hn 6 hn 6... h 6 h 6 h0 6 0 6 진수를구하는방법은 0 진수를 6으로나누어몫이 0이될때까지 7 계속한다. 이때구해진나머지가 6 7 6 3 h 0, h, h,..., hn, hn, hn 이된다. 0 0 Quotient 7 Remainder 예를들어 0 진수 3 은 6 진수로 7B이다. 변환은다음과같다. h h 0 C 로시작하는객체지향프로그래밍 6

Hexadecimal Binary Binary Hex Decimal 6진수를 진수로변환하기위해서는 0000 0 0 6진수의각자리를 4비트 진수로변환하면 000 된다. 000 00 3 3 000 4 4 진수를 6진수로변환하기위해서는 00 5 5 오른쪽에서부터왼쪽으로 진수 4자리마다 00 6 6 잘라 6진수로변환하면된다. 0 7 7 000 8 8 00 9 9 00 A 0 0 B 0 0 0 0 00 C 0 D 3 0 E 4 3 F 5 8 D C 로시작하는객체지향프로그래밍 7

C 의역사 C, C, Java, C# 은유사하며서로관련이있는언어이다. Java는 C 가모델이되었고, C# 은 C 와비슷하면서 Java 언어의특징을가지는언어이다. 이들중한언어를알고있으면다른언어를배우기가쉬워진다. 언어는 B 언어로부터발전하였으며 B 언어는 BCPL 언어가모태가되었다. BCPL은 960년대중반에운영체제와컴파일러개발을위해마틴리차드 (Martin Richards) 에의해개발되었으며켄톰슨 (Ken Thompson) 은 BCPL의많은특징을수용하여 B언어를만들게되었다. C 는 C 의확장으로 983-985 년동안에벨연구소의비얀스트로스트룹 (Bjarne Stroustrup) 에의해개발되었으며 C 언어에여러특징들이더해졌다. 가장중요한특징은객체지향프로그래밍 (object-oriented oriented programming) 을위한클래스에관한내용이추가된것이다. C 언어에대한국제표준은 998년미국ANSI(American National Standards Institute) 에의해서정해졌다. C 로시작하는객체지향프로그래밍 8

간단한 C 프로그램 C 언어를사용하여화면에 Welcome to C! 이란문자열을출력하는프로그램이다. #include <iostream> int main() { // Display Welcome to C to the console std::cout << "Welcome to C!" << std::endl; return 0; } Welcome Run C 로시작하는객체지향프로그래밍 9

간단한 C 프로그램확장 리스트.의프로그램은한줄의메시지를출력하였다. 일단이프로그램을이해하고나면여러줄을출력하는것은어려운일이아니다. 리스트. 는리스트.을수정하여 3줄을출력하는프로그램으로수정하였다. #include <iostream> int main() { std::cout << "Welcome to C!" << std::endl; std::cout << "Welcome to CBuilder!" << std::endl; std::cout << "Welcome to C Compiler!" << std::endl; return 0; } C 로시작하는객체지향프로그래밍 30

프로그램작성, 컴파일, 실행 Source code (developed by the programmer) #include <iostream> int main() { // Display Welcome to C to the console std::cout << "Welcome to C!" << std::endl; return 0; } Create/Modify Source Code Saved on the disk Source Code Compiler stored on the disk If compilation errors An object file (e.g., Welcome.obj) is created. Machine Code Linker stored on the disk Anexecutable file (e.g., Welcome.exe) is created. Executable Code Run Executable Code eg e.g., Welcome Result If runtime errors or incorrect result C 로시작하는객체지향프로그래밍 3

프로그램밍실습준비 -VC 사용하기 순서 ) 프로젝트를만든다. ) 파일에서 C Source파일을만든다. 3) 프로그램소스를만든다. 4) 컴파일하기 ( 소스파일 목적파일로변환 ) 5) 실행파일만들기 6) 에러찾기 (F4) 및수정 단축키를활용하여보다편리하게프로그래밍할수있음. 빌드단축키 :F7 실행단축키 : Ctrl F5 * 실행을바로해도자동적으로빌드를실행함. C 로시작하는객체지향프로그래밍 3

프로젝트만들기 / 소스파일작성하기 C 로시작하는객체지향프로그래밍 33

프로젝트만들기 / 소스파일작성하기 C 로시작하는객체지향프로그래밍 34

프로젝트만들기 / 소스파일작성하기 C 로시작하는객체지향프로그래밍 35

프로젝트만들기 / 소스파일작성하기 C 로시작하는객체지향프로그래밍 36

컴파일하기 & 실행하기 C 로시작하는객체지향프로그래밍 37

컴파일하기 & 실행하기 C 로시작하는객체지향프로그래밍 38

컴파일하기 & 실행하기 C 로시작하는객체지향프로그래밍 39

질의및응답 끝 C 로시작하는객체지향프로그래밍 40