PowerPoint Presentation

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

OCW_C언어 기초

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

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - chap4_2013 [호환 모드]

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

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

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

Microsoft PowerPoint - chap04-연산자.pptx

C 프로그램의 기본

슬라이드 1

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

K&R2 Reference Manual 번역본

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

Microsoft PowerPoint - chap06-1Array.ppt

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

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

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - ch01.ppt

1.1.1 컴퓨터의 구성 p.19

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

C 언어와 프로그래밍 개요

슬라이드 1

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

PowerPoint Presentation

Microsoft PowerPoint - chap-03.pptx

쉽게 풀어쓴 C 프로그래밍

OCW_C언어 기초

03 상수, 변수, 자료형

중간고사

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

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

슬라이드 1

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - Lesson2.pptx

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

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

11장 포인터

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

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

PowerPoint Template

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

Chapter_06

PowerPoint Presentation

Microsoft PowerPoint - chap06-4 [호환 모드]

11장 포인터

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

본 강의에 들어가기 전

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

본 강의에 들어가기 전

Microsoft PowerPoint - chap12-고급기능.pptx

PowerPoint Presentation


untitled

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

untitled

PowerPoint Template

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

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

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

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

YRRZBRRLMCEQ.hwp

Microsoft PowerPoint - 제11강 파일 처리

KNK_C02_form_IO_kor

강의 개요

02장.배열과 클래스

제 15 장전처리및비트연산 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

PowerPoint Presentation

C++ Programming

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

설계란 무엇인가?

Microsoft PowerPoint - Java7.pptx

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

1.1.1 컴퓨터의 구성 p.19

PowerPoint Presentation

untitled

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


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

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

PowerPoint 프레젠테이션

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

컴파일러

슬라이드 1

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint APUE(Intro).ppt

untitled

Transcription:

컴퓨터프로그래밍 Computer Programming

04 전처리와입출력

목차 1. 전처리 2. 출력함수 printf() 3. 입력함수 scanf() 3

1. 전처리

전처리개요 전처리기역할 컴파일 compile 전에전처리기 preprocessor 의전처리 preprocess 과정이필요 결과인전처리출력파일을만들어컴파일러에게보내는작업을수행 전처리지시자preprocess directives #include, #define 과같은전처리지시자는항상 # 으로시작 마지막에세미콜론 ; 이없는등일반 C 언어문장과는구별 조건지시자로 #if, #elif, #else, #endif, #ifdef, #ifndef, #undef 등 5

전처리지시자 #include 헤더파일 #include <stdio.h> #include, #define 등 자료형의재정의 typedef, 함수원형 prototype 정의등과같은문장이있는텍스트파일 대표적인헤더파일, 확장자 *.h stdio.h 헤더파일직접보기 6

전처리지시자 #include 7

전처리지시자 #define 매크로상수 전처리기 preprocessor 는소스에서정의된매크로상수를모두 #define 지시자에서정의된문자열로대체 (replace) #define identifier_name [value ] #define 에정의된 identifier_name 은전처리기에의해모두 value 로대체되어컴파일 #define 은정수, 실수또는문자열등의상수를 KPOP, PI, PRT 등의이름으로정의 PI 라는매크로상수 전처리과정에서모두 3.14 라는실수로값이바뀐소스로컴파일 단매크로상수는문자열내부또는주석부분에서는대체되지않음 8

전처리지시자 #define 9

Source Code #01: advancemacro.c #define 에서그활용도를높이기위한방안이함수와같이인자 parameter 를이용하는방법 10

인자를사용한매크로 11

인자를사용한매크로주의점 매크로를구성하는모든인자와외부에괄호를이용 12

인자를사용한매크로주의점 기호상수에서매크로이름과시작괄호사이에는공백이올수없음 13

Lab #01: 문자열출력을위한매크로정의 다음정보를이용하여매크로 myprint(x) 를정의해인자인문자열 x 를한행에출력하는프로그램작성 출력 전처리지시자 #define 으로인자가있는매크로 myprint(x) 를정의 매크로로출력하기 출력함수로출력하기 14

2. 출력함수 printf()

printf() 의인자 형식문자열과출력할목록으로구분 형식문자열에서 %d 와같이 % 로시작하는형식지정자순서대로서식화하여그위치에출력 16

함수 printf() 의첫번째인자인형식문자열 (format string) 일반문자와이스케이프문자 이스케이프문자는 \" 와 \ 같이 \ 로시작하는문자 형식지정자 format specification 로구성 %d 와 %s 와같이 % 로시작하는형식지정자 형식지정자 %d 위치에바로 20이라는정수가출력 이스케이프문자 \" 는문자 " 이그대로출력 17

함수 printf() 에서정수출력을위한형식지정자 정수의십진수출력을위한형식지정자는 %d와 %i 8진수로출력하려면 %o를이용 앞부분에숫자 0 이붙는출력을하려면 %#o 를이용 소문자의십육진수로출력하려면 %x 와대문자로출력하려면 %X 를이용 16 진수앞에 0x 또는 0X 를붙여출력하려면 # 을삽입하여 %#x 와 %#X 를이용 함수 printf() 반환값은출력한문자수이며, 오류가발생하면음수를반환 18

함수 printf() 에서정수출력을위한형식지정자 19

실수를위한출력 %f 실수의간단한출력을위한형식지정자는 %f 형식지정자 %f는실수를기본적으로 3.400000와같이소수점 6자리까지출력 함수 printf() 에서실수출력으로 %f와함께 %lf도사용 출력폭의지정 출력필드폭이출력내용의폭보다넓으면정렬은기본이오른쪽, 필요하면왼쪽으로지정 20

폭과정렬형식지정자 21

형식지정자정리 % 로시작하는형식지정자는 % 와서식문자 d 사이 %[flags][width].[precision]{h l}d 와같이여러종류의지정자가가능 정수를위한형식지정자 d 바로앞에 short 을의미하는 h 와 long 을의미하는 l, 그리고 long long 을의미하는 ll 이가능 실수를위한형식지정자 f 바로앞은 double 을의미하는 l 이가능하나, %f 와 %lf 는차이가없음 옵션 [flags] 로는정렬, 부호표시등을지정 옵션 [width].[precision] 으로출력부분의전체폭과소수점이하자릿수폭을지정 22

형식지정자정리 23

형식문자 type field characters 종류 24

옵션지정문자 flags 종류 25

Source Code #02: specification.c %[flags][width].[precision]{h l}d %[flags][width].[precision]o %[flags][width].[precision]x %[flags][width].[precision]f 26

정수의다양한출력 27

Source Code #03: stringprint.c 문자열형식지정자 %s 와인자로기술 %[ 전체폭 ].[ 출력문자수 ]s 28

문자열의다양한출력 29

Lab #02: 정수와실수, 문자와문자열의출력 개인의성별과이름, 나이, 성적등개인정보출력프로그램 결과 자료형 int 형인나이와 double 형성적평균평점등을출력 성별, 나이, 몸무게, 평균평점을다음과같이출력 성별 : M 이름 : 홍길동 나이 : 30 몸무게 : 92.489 평균평점 (GPA): 4.210 30

3. 입력함수 scanf()

함수 scanf() 대표적인입력함수이고 %s 와 %d 같은동일한형식지정자를사용 scan 이라는단어는스캐너와같이어떠한자료를훑어복사하거나, 유심히살펴본다는의미 표준입력으로부터여러종류의자료값을훑어주소연산자 & 가붙은변수목록에저장 첫번째인자는형식문자열format string 형식지정자 format specification 는 %d, %c, %lf, %f 와같이 % 로시작 두번째인자부터는키보드입력값이복사저장되는입력변수목록 변수이름앞에반드시주소연산자 & 를붙여나열 반환유형은 int 로 표준입력으로변수에저장된입력개수를반환, 다음문장의반환값은 3 scanf("%d", &year) 주소연산식인 &year 로사용 year 로기술하면입력값이저장될주소를찾지못해오류가발생 32

함수 scanf() 33

Source Code #04: scanf.c 지정된형식지정자에맞게키보드로적당한값을입력한후 [Enter] 키를누르기전까지는실행을멈춰사용자의입력을기다림 만일년, 월, 일을 2018-6-29 과같이중간에 를넣어입력받으려면함수 scanf("%d - %d - %d", ) 처럼형식문자열에입력형식을명시 여러입력값을구분해주는구분자 separator -, /, 콤마 (,) 등을사용할수있는데, 입력된구분자는형식만체크하고저장하지않음 34

정수입력 지정된형식지정자에맞게키보드로적당한값을입력한후 [Enter] 키를누르기전까지는실행을멈춰사용자의입력을기다림 35

정수입력 만일년, 월, 일을 2017-4-29 과같이중간에 를넣어입력받으려면함수 scanf("%d - %d - %d", ) 처럼형식문자열에입력형식을명시 여러입력값을구분해주는구분자 separator -, /, 콤마 (,) 등을사용할수있는데, 입력된구분자는형식만체크하고저장하지않음 36

제어문자 %f 와 %lf, %c 입력자료를실수 float 형변수에저장 : 형식지정자 %f 를사용 실수 double 형변수에저장 : 형식지정자 %lf 를사용 입력자료를문자 char형변수에저장 : 제어문자 %c를사용 출력 printf() 에서실수의출력을위한형식지정자 %f 와 %lf 를모두사용가능 37

버퍼 buffer 함수 scanf() 는입력에임시저장장소 [Enter] 키가원하지않는문자변수에저장되어원래의도한문자는입력에성공못하는일이발생 버퍼 입력과출력과같은자료의흐름에서바로처리하지않고중간에임시로사용하는저장공간 입력이나출력을바로수행하지않고버퍼에저장하다가버퍼가모두차거나특정한명령에의해버퍼에있는내용을입력또는출력 38

Source Code #05: floatcharscan.c 39

실수와문자입력 두번의 scanf() 호출로, 콘솔에서실수 234.5 하나를입력한후 [Enter] 키를누르고다음줄에문자 A 를입력하여변수 ch 에저장 입력버퍼에는 [Enter] 키가남아있어, 두번째 scanf() 에서 char 형변수 ch 에는순서대로 [Enter] 인문자 \n 가저장되고, 실제문자 A 는저장되지않는문제가발생 이러한문제를해결하는방법은두가지 첫번째는버퍼에남아있는 [Enter] 키를함수 fflush(stdin) 를호출하여없애버리는방법 두번째는문자를입력받는형식지정자 %c 앞에 " 공백문자를넣어 " 형식문자열을 " %c" 로지정 아직입력버퍼에남아있는 [Enter] 키가 %c 앞에공백문자로인식되어무시되고, 이어커서위치에입력되는 A 가변수 ch 에저장 40

실수와문자입력 41

Source Code #06: radixscan.c 42

다양한형식지정자 함수 scanf() 에서정수의콘솔입력값 8진수로인지하려면 %0를사용 %x는 16진수로인지 다음은함수 scanf() 에서이용되는다양한형식지정자 43

함수 scanf() 의형식지정자 44

Source Code #07: putchar.c 45

함수 getchar() 와 putchar() 문자의입출력함수 함수 getchar() 는영문 get character 의의미로문자하나를입력하는매크로함수 putchar() 는 put character 로반대로출력하기위한매크로함수 이함수를이용하려면헤더파일 stdio.h 가필요 함수 getchar() 는인자없이함수를호출 입력된문자값을자료형 char나정수형으로선언된변수에저장 char a = getchar(); 함수호출 putchar( a ) 인자인 a 를출력하는함수로사용 46

함수 getchar() 와 putchar() 47

Lab #03: 십진수, 팔진수, 십육진수인세정수를입력받아적절히출력 십진수, 팔진수, 십육진수인세정수를입력받아다음조건을만족하도록적절히출력되는프로그램 세정수를 십진수 팔진수 십육진수 의형식으로입력 입력과출력 세개의정수를각각다음과같이입력하세요. 십진수 - 팔진수 - 십육진수 100-65 - f3 입력한수는다음과같습니다. 100-65 - f3 100-53 - 243 48

49