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

Similar documents
3차시.ppt

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

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

untitled

쉽게 풀어쓴 C 프로그래밍

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

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

쉽게 풀어쓴 C 프로그래밍

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

C 언어와 프로그래밍 개요

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

<C6F7C6AEB6F5B1B3C0E72E687770>

1

강의개요

프로그래밍 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( 1

JVM 메모리구조

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

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


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

Microsoft PowerPoint - 권장 사양

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - PL_03-04.pptx

Computer Architecture

OCW_C언어 기초

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

Microsoft PowerPoint - chap04-연산자.pptx

비트와바이트 비트와바이트 비트 (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 - chap01.pptx

슬라이드 1

Microsoft PowerPoint - chap-02.pptx

PowerPoint 프레젠테이션

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

Microsoft Word - PLC제어응용-2차시.doc

2 장. 컴퓨터와경영정보시스템

PowerPoint 프레젠테이션

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

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

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - 15-MARS

1

마이크로프로세서 개요

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

PowerPoint 프레젠테이션

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

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

PowerPoint Presentation

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

프로그래밍언어 컴퓨터정보과권용광 CONTENT 1. 컴퓨터언어와프로그래밍의개념 2. 프로그래밍과정과컴퓨터언어의계층 3. 프로그래밍언어의발달과정과분류 4. 프로그래밍코딩의실제예 컴퓨터언어와프로그래밍의개념 프로그래밍과정과컴퓨터언어의계층구조 프로그래밍언어

쉽게

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

Microsoft PowerPoint - e pptx

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - [2009] 02.pptx

슬라이드 1

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

PowerPoint Presentation

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

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

PCServerMgmt7

슬라이드 1

2. Step 2 : Select Device Step 2 에서는 Device 드롭 - 다운리스트에서사용자가자신의프로젝트에서사용할디바이스를선택할수있다. 선택가능한디바이스의범위를줄이려면디바이스의제품군 (Family) 를먼저선택하는편이좋다. < 그림 > 프로젝트마법사 Se

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

17장 클래스와 메소드

Microsoft PowerPoint - hy2-12.pptx

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

중간고사

슬라이드 1

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

PowerPoint Presentation

BMP 파일 처리

PowerPoint 프레젠테이션

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

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

DE1-SoC Board

gnu-lee-oop-kor-lec06-3-chap7

C 프로그램의 기본

PowerPoint Presentation

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770>

CH05) 소프트웨어개요 컴퓨터일반 1- 소프트웨어개념및구분 1) 소프트웨어의개념 컴퓨터전체를작동시키거나사용자가컴퓨터를이용하여특정업무를처리할수있게개발된프로그램 2) 소프트웨어의구분 시스템소프트웨어 제어프로그램 감시프로그램 작업관리프로그램 데이터관리프로그램 처리프로그램

제 1 강 희망의 땅, 알고리즘

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Template

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

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

1) 8 진수를 10 진수로변환 - 진수에자릿수에서 1 을뺀숫자를지수로한후해당숫자와곱해주는방식으로 10 진수로변환 2) 2 진수를 10 진수로변환 - 10 진수의숫자를해당진수로계속나누어나머지들을역순으로읽음. - 분수나소수인경우에는곱셈의방법으로구할수있음. 3) 10 진수

ISP and CodeVisionAVR C Compiler.hwp

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint APUE(Intro).ppt

C언어 및 실습 C Language and Practice

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Transcription:

2009 년여름계절학기 C 프로그래밍및실습 한국항공대학교항공우주기계공학부 ( 강의자료 : http://mercury.kau.ac.kr/sjkwon) 1 강의 2시간 실습 1 시간 ( 진도범위내예제연습 ) TA 참여 강의계획서 2

강의계획서 각장과제물 ( 단순 copy 는영점처리 ) 1) 진도범위내의중간점검문제및이해점검문제 2) 프로그래밍과제 (3,6번문제 ) 소스코드와결과제출 제출기한 : 다음수업일, 제출장소 : 기계관 3 층사물함 3 Chapter 00 컴퓨터와프로그래밍 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 4

컴퓨터와프로그램 컴퓨터 전자적으로계산을수행하는장치 프로그램 컴퓨터의행동을지시하는명령어 5 하드웨어와소프트웨어 하드웨어 (Hardware) 컴퓨터를구성하는물리적인장치 (device) 를의미 소프트웨어 (Software) 컴퓨터가수행할작업을지시하는명령어들의집합 ( 프로그램 ) 소프트웨어는응용소프트웨어와시스템소프트웨어로나누며, 시스템소프트웨어는하드웨어를작동시키는기본소프트웨어 6

컴퓨터시스템 컴퓨터시스템 컴퓨터시스템은하드웨어와소프트웨어로이루어진다. 컴퓨터하드웨어구성 120 GB 하드디스크드라이브 64 배속 DVD/CD-RW 콤보드라이브 512MB RAM 주메모리 키보드 CPU 2.8GHz 인텔펜티엄 4 프로세서 17 인치 LCD 모니터해상도 1280 1024 그림 1.1 컴퓨터하드웨어구성 7 컴퓨터하드웨어구성요소 중앙처리장치 (Central Processing Unit; CPU) 프로그램의명령어들을수행하는컴퓨터의두뇌 주메모리 (Main Memory) 프로그램과데이터를저장하는휘발성 (volatile) 기억장치 그림 1.1 에서 512 메가바이트 (MB) RAM 보조메모리장치 (Secondary Memory) 소프트웨어를비교적영구적으로저장하는비휘발성기억장치 그림 1.1의 120 기가바이트 (GB) 하드디스크드라이브 64배속 DVD/CD-RW 콤보 (combo) 드라이브 입출력장치 (Input/Output Device) 인간과컴퓨터의상호작용을도와주는장치 키보드, 마우스, 모니터 8

하드웨어구성요소간정보이동 프로그램실행을위한하드웨어구성요소간정보이동 하드디스크에저장된프로그램을주메모리에읽어들인다 CPU는주메모리로부터프로그램의명령어들을하나씩읽어들여서그명령어를한번에하나씩수행한다. 명령어가사용하는데이터도역시주메모리에저장되며그데이터는보조메모리혹은키보드같은입력장치를통해입력된다. 프로그램은실행되는동안필요에따라모니터와같은출력장치에정보를출력한다 9 소프트웨어 시스템소프트웨어 (system software) 컴퓨터시스템효율적인운영과관리를위한소프트웨어 운영체제, 컴파일러, 디버거, 유틸리티프로그램 응용소프트웨어 (application software) 시스템소프트웨어가아닌거의모든소프트웨어를지칭하는포괄적인용어 문서작성 S/W, 데이터관리 S/W, 스프레드시트, 그래픽 S/W, 웹관련S/W, 통계 S/W, 게임 S/W 등 10

소프트웨어 응용 S/W 파워포인트 유틸리티 시스템 S/W 운영체제 디버거 워드프로세서 웹브라우저 컴파일러 데이터베이스 그림 1.6 소프트웨어의종류 11 프로그램실행원리 프로그램실행원리 폰노이만구조 (von Neumann architecture) 를기본으로한다. 프로그램내장방식 (stored program) 의컴퓨터 프로그램 적재 주메모리 프로그램 ( 명령어 + 데이터 ) 명령어실행결과 명령어, 데이터인출 CPU PC 그림 1.4 폰노이만컴퓨터구조 12

컴퓨터의자료표현 자료표현원리 2진수체계를사용 비트와바이트 Bit Binary Digit, 0 또는 1 의두개정보표현하는정보의최소단위 byte 연속된 8개의비트 워드 연속된 4 개의바이트, 총 32 비트 실질적으로시스템마다워드의크기는다를수있음 13 저장단위의크기 단위 정보용량의비교 14

진법과수의구성 10 진법 0에서 9까지의수를사용하며, 이 10 가지의수를한자리의기본단위로하는진법 2 진법 0과 1의조합으로숫자를표시하는방법 컴퓨터의자료표현은한비트가두가지표현이가능 16진법 0에서 9, A에서 F까지 15 2, 8, 16 진수간상호관계 2 진수, 8 진수그리고 16 진수사이의관계 2진수의 4자리씩을 16진수로변환하면쉽게 2진수를 16진수로변환이가능 2진수의 3자리씩을 8진수로변환하면쉽게 2진수를 8진수로변환이가능 10 진수 26.625625 를각각 2 진수, 8 진수, 16 진수로표현하면 16

이진수와십진수 십진수 열개의숫자 (0에서 9) 를이용하여값을표현한다. 십진수의각자리에는자릿값이있다. 182 = 1 x 10 2 + 8 x 10 1 + 2 x 10 0 = 1 x 100 + 8 x 10 + 2 x 1 이진수 두개의숫자 (0 과 1) 를이용하여값을표현한다. 이진수의각자리에는자릿값이있다. 1101 2 = 1 x 2 3 + 1 x 2 2 + 0 x 2 1 + 1 x 2 0 = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 13 17 십진수를이진수로변환 예 2 4 (=16) < 27 < 2 5 (=32) 27 = 1 x 16 + 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1 = 1 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 = 11011 2 변환방법 27 을 2 4 (=16) 로나누면몫은 1 이고나머지는 11 이다. 첫번째비트는 1 이고, 11 은나머지 4 비트들로표현되어야한다. 11을 2 3 (=8) 으로나누면몫은 1이고나머지는 3이다. 두번째비트는 1이고, 3은나머지 3 비트들로표현되어야한다. 3 을 2 2 (=4) 로나누면몫은 0 이고나머지는 3 이다. 세번째비트는 0이고, 3은나머지 2 비트들로표현되어야한다. 3을 2 1 (=2) 로나누면몫은 1이고나머지는 1이다. 네번째비트는 1 이고, 1 은나머지 1 비트로표현되어야한다. 18

16 진수 (hexadecimal) 16 진수 (hexadecimal) 기수 16인수체계 0,, 9, A(10), B(11), C(12), D(13), E(14), F(15) 2AC 16 = 2 x 16 2 + A x 16 1 + C x 16 0 = 2 x 256 + 10 x 16 + 12 x 1 = 684 그림 1.7 이진수, 16 진수관계 19 2 의보수 2 의보수 (2 s complement) 음수를표현하는방식중가장많이사용되는방식이 2 의보수 20

2 의보수계산방법 음수의이진수표기인 2 의보수를구하는방법 1 2 n 에서음수의절대값을빼는방법 여기에서 n 은숫자가표현되는비트의개수 예를들어 4 를 4 비트로 2 의보수로표현하자면, 표현되는비트의수가 4 개이므로 2 4 4 = 12 = 1100 2 의보수를구하는방법 2 예를들어 4를 4비트로 2의보수로표현하자면 21 문자와논리 문자코드 N비트의조합에일정한문자를할당하여지정한것을문자코드 국제표준인문자코드는아스키코드, 엡시딕코드, 유니코드 아스키코드 ASCII(American Standard Code for Information Interchange) 국제적인표준으로사용하는문자코드체계로서 7 비트를사용하여 128개의문자, 숫자, 특수문자코드를규정 대문자 A의코드는 1000001이며, 소문자 a의코드는 1100001 논리 참과거짓 22

아스키코드표 23 프로그래밍언어 프로그래밍언어의필요성 사람과컴퓨터가서로의사교환을하기위해 사람이컴퓨터에게지시할명령어를프로그래밍언어로기술 24

기계어와어셈블리어 기계어 0과 1로표현되는프로그래밍언어로서컴퓨터가직접이해할수있는유일한언어 어셈블리어 기계어의연산코드와피연산자 (operand) 를프로그래머가좀더이해하기쉬운기호형태로일대일대응시킨프로그래밍언어 25 저급언어와고급언어 HLL 인간에게친근한언어를고급언어 LLL 기계어와어셈블리어는저급언어 26

프로그래밍언어 프로그램을작성하기위한언어 사람이컴퓨터에게시키고싶은내용을표현하기위한표기법 그발전단계에따라기계어, 어셈블리어, 고급언어로분류 기계어 이진수코드로 CPU 종류마다고유의기계어 1001 0001 0001 위치의값을누산기에저장하라. 1100 0010 누산기에 0010 위치의값을더하라 1010 0011 누산기의값을 0011위치에저장하라. 어셈블리어 기계어의이진수코드를기호화코드 (mnemonics) 로대치한것 LOAD Y Y의값을누산기에저장한다. ADD Z 누산기에 Z의값을더하라 STORE X 누산기의값을 X에저장하라. 고급언어 영어와비슷한구문으로표현되며, 읽고쓰기가보다쉽다 고급언어는프로그래머가기계의세부사항을알필요가없게해준다 X = Y + Z 27 고급언어의종류 포트란 포트란 (FORTRAN) 은 FORmula TRANslating system( 수식번역시스템 ) 의약자 과학과공학및수학적문제들을해결하기위해고안된프로그래밍언어 베이직 베이직 (BASIC) 은 Beginner s All-purpose Symbolic Instruction Code의약어 초보자도쉽게배울수있도록만들어진대화형프로그래밍언어 코볼 코볼 (COmmon Business Oriented Language) 은기업의사무처리에적합한프로그래밍언어 파스칼 PASCAL 은프랑스의수학자인파스칼 (Pascal) 의이름에서따온언어 프로그램의작성즉, 구조적프로그래밍및알고리즘학습에적합하도록개발된프로그래밍언어 28

C 와 C++ C C는유닉스 (UNIX) 의운영체제작성을위한시스템프로그래밍언어로설계된언어 컴파일러나수많은소프트웨어도구 (Tool) 들도 C 언어로개발 다른고급언어에비하여하드웨어에대한보다확실한통제가가능 특정컴퓨터기종에의존하지않으므로프로그램의이식성 (portability) 이높음 풍부한연산자와데이터형 (data type) 을갖고있기때문에범용 프로그래밍언어로서널리보급되었으며, 응용소프트웨어의개발에널리이용 C++ C++ 은객체지향프로그래밍 (OOP Object-Oriented Programming) 을지원하기위해 C 언어가가지는장점을그대로계승하면서객체의상속성 (inheritance) 등의개념을추가한효과적인언어 C++ 는 C언어의확장이라고볼수있으므로기존의 C언어로개발된모든프로그램들을수정없이그대로사용가능 29 자바 자바 자바 (JAVA) 의시초는 1992년미국의 SUN 사에서가전제품들을제어하기위한언어에서부터비롯됨 운영체제나 CPU와는독립적으로실행가능한프로그래밍언어 자바는 C++ 언어의기초위에객체지향개념을구현하도록설계된언어 분산네트워크상에서의프로그래밍이용이 자바프로그램의실행은운영체제의가상머신 (Virtual Machine) 위에서인터프리터방식으로 프로그래머에게중요한언어 C, C++, Java 기본은모두 C 언어 30

프로그램과소프트웨어 프로그램 프로그램은컴퓨터에게어떤일의수행을지시하는명령어 (instruction) 집합 소스와실행파일 특정한프로그램언어로이명령어의집합을모아놓은파일을프로그램소스 (source) 이소스파일로부터만들어진실행파일은컴퓨터가이해할수있는기계어로명령어를모아놓은파일 소프트웨어 소프트웨어는보통 프로그램 이라고부르는것외에도데이터와문서까지를포함하는포괄적인개념 31 소프트웨어공학과개발단계 소프트웨어공학 신뢰성있고실제기계에서효과적으로작동하는소프트웨어를경제적으로얻기위해서올바른공학적원리들을체계화시킨학문 소프트웨어의생명주기 소프트웨어개발단계는분석, 설계, 구현, 검사, 유지보수의과정을거치며, 개발과정에서이단계를순환적으로반복 32

프로그램개발환경 프로그램 컴퓨터에게어떤일의수행을지시하는명령어 (instruction) 의집합 통합개발환경 ( 예, Microsoft Visual Studio) Integrated Development Environments 프로그램을개발하는데필요한컴파일러, 디버거, 링커, 에디터등을통합적으로제공하는개발환경 33 컴파일러와어셈블러 컴파일러 (compiler) 고급언어로작성된프로그램을기계어로바꾸어주는프로그램 어셈블러 (assembler) 어셈블리언어로작성된프로그램을기계어로바꾸어주는프로그램 34

프로그램개발과정 링커 (linker) 이러한여러개의목적파일 (*.obj) 들을라이브러리함수와연결해서하나의파일인실행파일을생성하는작업을수행 로더 (loader) 작성된프로그램을컴퓨터의주기억장치에로드 (load) 함으로써프로그램을실행가능하게하는역할을수행 35 오류수정 디버깅 (debugging) 프로그램개발과정에서컴파일에러나실행에러를수정하는과정 36

컴파일러및인터프리터 컴파일러 고급언어로작성된코드를동등한의미의저급언어로된코드로번역하는소프트웨어이다. 입력 소스프로그램 인터프리터 출력 인터프리터 별개의컴파일단계없이한번에한문장씩번역 ( 혹은해석 ) 하여실행한다. 입력 소스프로그램 컴파일러 목적프로그램 출력 37