PowerPoint 프레젠테이션

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

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


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

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

초보자를 위한 C++

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - [2009] 02.pptx

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

슬라이드 1

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap-02.pptx

OCW_C언어 기초

untitled

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

PowerPoint Presentation

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

C언어 및 실습 C Language and Practice

PowerPoint 프레젠테이션

C 언어와 프로그래밍 개요

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

PowerPoint 프레젠테이션

BMP 파일 처리

chap7.key

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

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

PowerPoint 프레젠테이션

EA0015: 컴파일러

C 프로그램의 기본

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

JDK이클립스

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

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

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

슬라이드 1

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch01.ppt

슬라이드 1

Microsoft PowerPoint APUE(Intro).ppt

슬라이드 1

Microsoft PowerPoint - chap12-고급기능.pptx

윈도우시스템프로그래밍

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

PowerPoint 프레젠테이션

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

ISP and CodeVisionAVR C Compiler.hwp

JAVA 플랫폼 개발 환경 구축 및 활용

Studuino소프트웨어 설치

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

윈도우시스템프로그래밍

Microsoft PowerPoint - chap06-2pointer.ppt

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

제1장 Unix란 무엇인가?

PowerPoint 프레젠테이션

1

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

컴파일러

슬라이드 1

PowerPoint 프레젠테이션

과목 Overview 목적: 본 과목은 C 언어를 통하여 컴퓨터를 이용한 공학적 문제 해결 과정을 학습한다. C 언어의 변수 타입, 제어문, 함수, 포인터, 구조체 등을 학습한다. C 언어와 다른 언어와의 통합의 방법에 대해 배운다. 2

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

슬라이드 1

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

C 프로그래밊 개요

Microsoft PowerPoint - chap10-함수의활용.pptx

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

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

OCW_C언어 기초

슬라이드 1

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

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

11장 포인터

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

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

13 주차문자열의표현과입출력

슬라이드 1

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint oshw1.ppt [호환 모드]

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Transcription:

C 언어개요 Jo, Heeseung

이장의내용 C 언어소개간단한 C 프로그램명령줄프로그래밍 C 프로그램의이해 2

C 언어소개

C 언어유래 1972 년 Dennis Ritchie 가설계함 UNIX 운영체제개발에사용됨 C 언어에직접영향을준언어들 Algol CPL BCPL B C C 언어의특징 구조화된언어로서모듈별설계가가능 높은이식성 - 다양한하드웨어에서사용가능 효율적 - 처리속도가빠름 다양한연산자를제공 동적메모리관리가가능 Dennis Ritchie 믿거나말거나 C 언어는구형컴퓨터에서게임을하기위해개발했다는전설이있음 4

C 언어장점 5

C 언어의철학및강점 C 언어의설계철학 : 간결성 i = i + 1; 보다는 i += 1; 이간결하고, 이것보다는 i++; 이간결 C 언어의강점 다양한플랫폼에서사용가능 - 매우이식성이높기때문 어셈블리어에대한대안 - Device driver 프로그램에매우적절함 꽤쉬우면서도빠름 - 고급언어의특성 ( 쉬움 ) 과저급언어의강점 ( 빠름 ) 을겸비 6

간단한 C 프로그램

간단한 C 프로그램 8

C 컴파일러 컴파일러란? 통역사 ( 사람과컴퓨터사이의통역담당 ) C 프로그램을컴퓨터가수행할수있도록번역 CPU는 C 프로그램을모름 CPU는이진코드형태의기계어 (machine language) 만인지 C 프로그램 int main 컴파일러종류 컴파일러 기계어프로그램 010101 상용컴파일러 : Microsoft Visual C/C++, Borland C/C++ 무료컴파일러 : Dev-C++ 9

프로그래밍도구 프로그래밍을위해필요한것 편집기 (editor) 컴파일러 (compiler): 사람이만든프로그램코드를기계가이해할수있는언어로바꾸어주는프로그램 프로그래밍을편하게해주는도구들 통합개발환경 (IDE) 편집기 + 컴파일러 + 인터페이스 + MS Visual Studio.NET, IBM Eclipse 등 10

C 프로그래밍도구 편집기 : 일반적으로널리쓰이는문서편집기들 Vim (http://www.vim.org) Emacs Ultraedit(http://www.ultraedit.com) - 상용화된도구 메모장 (notepad) - 휴지가없으면신문지라도 컴파일러 GNU gcc(http://gcc.gnu.org) - 일반적인공개컴파일러 MinGW gcc(http://www.mingw.org) - gcc의 Windows 버전 무수한공개 / 상용컴파일러들 추천조합 Vim + GNU gcc + 기타필요한도구들 Linux를설치하면기본적인도구들은모두갖추어져있음 Windows 환경 - gvim + MinGW gcc 11

소스파일에서실행파일까지 12

명령줄프로그래밍환경 명령줄프로그래밍환경이란? 필요한프로그램을별도로실행시켜프로그래밍하는환경 필요한프로그램 : 편집기, 컴파일러, 디버거 윈도우명령창에서프로그램을개발하는과정 13

명령줄프로그래밍환경

DEV-C++ 설치 C/C++ 언어사용을위한개발환경 컴파일러로 MinGW gcc 를사용 - Dev-C++/bin 에자동으로설치됨 Windows 용 GUI 나 console 프로그램작성가능 홈페이지주소 http://orwelldevcpp.blogspot.kr/ ( 추천 ) http://www.bloodshed.net/dev/index.html ( 업데이트중지 ) http://cslab.jbnu.ac.kr/_down/cp/dev-cpp.5.11.tdm- GCC.x64.4.9.2.Portable.7z 15

명령줄프로그래밍환경 설치및설정 C:\Dev-Cpp 로압축해제 기본옵션으로설정 PATH 에경로추가 제어판 > 시스템 > 고급시스템설정 > 환경변수 > Path 선택 > 편집 "C:\Dev-Cpp\MinGW64\bin" 가포함되도록함 ( 본인의설치위치마다다를수있음 ) 16

WINDOWS COMMAND LINE 명령창실행 Windows key + R, cmd (enter) 기본명령 드라이브변경 - c: d: 디렉토리변경 - cd XXX 디렉토리내의파일보기 - dir 이전 / 이후명령반복 - 커서, ( 위, 아래 ) 실습시주의사항 항상본인이만드는파일이어디에위치하는지잘인지할것 실습별 ( 프로그램별 ) 로디렉토리를만들고작업할것 실습실컴퓨터는타인과사용함으로본인의자료는개별적으로잘백업해갈것 17

TEXT EDITOR Source codes are just text files 텍스트파일은텍스트에디터로편집가능 Notepad++ Freeware text editor http://notepad-plus-plus.org 다운로드후설치 실습을위한환경설정 Settings -> Preferences -> New document -> ANSI 18

HELLO WORLD 1. 자신의소스코드가있을위치를탐색기로정할것 예 ) d:\temp4 밑에서작업할경우 2. helloworld.c 파일생성 마우스오른쪽 > 새로만들기 > Text Document helloworld.c 로생성 19

HELLO WORLD 3. helloworld.c 프로그램작성 C 소스코드의확장자는항상 ".c" 이어야함 탐색기 > 폴더옵션 > 보기 > 알려진... 확장명숨기기해제 텍스트에디터로드래그 ( 또는오픈 ) 하여편집 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { puts("hello, World!"); return 0; } 20

HELLO WORLD 4. Compile 소스가있는디렉토리에서명령창을오픈 - 탐색기 shift + 오른쪽마우스버튼 > 여기서명령창열기 gcc -o helloworld.exe helloworld.c Compile이제대로되는가? Compile후무엇이생성되는가? 5. Execution helloworld.exe 실행이제대로되는가? 21

C 프로그램의이해

HELLO.C 분석 주석 전처리기지시자 라이브러리 puts 호출운영체제에 0 값리턴 main 함수 23

MAIN 의리턴값 main 의반환값은항상정수여야함 따라서 int main() 이라고선언 비표준방법 void main() { } 도컴파일은잘됨 그러나표준에맞는방법은아님 24

MAIN 의리턴값이없으면? 리턴값이없으므로경고 (warning) 가발생할수있다! 25

가장간단한 C 프로그램 리턴타입을생략하면 int 로간주한다. 26

표준출력함수 PRINTF 줄바꿈문자 (newline) 가출력되지않았다. 출력위치 (output marker) 가다음행으로바뀌지않았다. 27

출력위치 줄바꿈문자란? 한행의끝을알리는제어문자 hello.c 와 hello2.c 의출력을비교해보자 줄바꿈문자 (newline character) 위치에주의 " 계속하려면아무키나누르십시오..." 의위치가바뀌었음 명령창에서수행해보자 출력위치 (output marker) 커서 : 입출력위치를알리는기호 ( 네모또는밑줄 ) 커서위치가다른것을알수있음 이유가뭘까? puts는줄바꿈문자를자동으로삽입 printf는줄바꿈문자를자동으로삽입하지않음 28

C 언어의줄바꿈문자 \n 으로나타냄 ( 사용하는폰트에따라 \n 과동일 ) 출력중줄을바꿔줌 두개의문자로하나의문자를나타냄 특수문자를나타내는기법 이스케이프시퀀스 \ 로시작하는문자들은특별한의미 제어문자를비제어문자로나타내는방법 \ 는이스케이프문자 (escape character) 라고부름 29

줄바꿈문자를출력하는 HELLO 30

프로그래밍실습

프로그래밍실습 1 여러분의명함을출력하는프로그램을작성 명함은 7 줄이내로작성하며각행은 30 열이내로작성 32

프로그래밍실습 2 ASCII 아트 문자열만이용하여그림을그리는것 다음웹페이지에 ASCII 아트가소개 http://www.chris.com/ascii/ http://www.ascii-art.de/ascii/ 여러분이좋아하는 ASCII 아트를골라서이를출력하는 C 프로그램을작성 33