KNK_C02_form_IO_kor

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

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

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

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - chap04-연산자.pptx

본 강의에 들어가기 전

untitled

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

C 프로그램의 기본

강의 개요

PowerPoint Presentation

OCW_C언어 기초

Microsoft PowerPoint - Chapter_05.pptx

OCW_C언어 기초

untitled

중간고사

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

11장 포인터

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

비트와바이트 비트와바이트 비트 (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 - chap06-1Array.ppt

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

슬라이드 1

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

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

ABC 2장

Microsoft PowerPoint - chap-11.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap05-제어문.pptx

03 상수, 변수, 자료형

Microsoft PowerPoint - KNK_C01_intro_kor

KNK_C01_intro_kor

본 강의에 들어가기 전

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

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

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - 제11장 포인터

슬라이드 1

KNK_C03_Expr_kor

Microsoft PowerPoint 웹 연동 기술.pptx

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

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

쉽게 풀어쓴 C 프로그래밍

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

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

Microsoft PowerPoint - Chapter_04.pptx

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

Microsoft PowerPoint - KNK_C03_Expr_kor

Microsoft PowerPoint - ch01.ppt

untitled

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

ABC 3장

Microsoft PowerPoint - 2장 변수와 자료형 pptx

PowerPoint Presentation

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

C++ Programming

Microsoft PowerPoint - Chapter_08.pptx

Microsoft PowerPoint - chap4_2013 [호환 모드]

Microsoft PowerPoint - Lesson2.pptx

컴파일러

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - chap-03.pptx

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - chap03.ppt

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

슬라이드 1

PowerPoint 프레젠테이션

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Microsoft PowerPoint - chap06-2pointer.ppt

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

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

Microsoft PowerPoint - 10장 문자열 pptx

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - [2009] 02.pptx

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

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

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

슬라이드 1

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

歯9장.PDF

11장 포인터

OCW_C언어 기초

Microsoft PowerPoint - CHAP-03 [호환 모드]

1.1.1 컴퓨터의 구성 p.19

PowerPoint 프레젠테이션

ch15

<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB>

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

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

Microsoft PowerPoint - chap-04.pptx

PowerPoint 프레젠테이션

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

02장.배열과 클래스

Transcription:

Formatted Input/Output adopted from KNK C Programming : A Modern Approach

The printf Function (1/3) printf 함수는출력될문자열과해당문자열에포함되어야할값들로구성되어있음 printf(format_string, expr1, expr2, ); 출력될문자열은일반글자들과 % 로시작되는형식지정자가포함될수있음 형식지정자는출력될값이표현될위치를나타냄 %d 는 int 형값에쓰임 %f 는 float 형값에쓰임 2

The printf Function (2/3) 일반문자는기록된데로표현되고형식지정자는뒤따라오는변수 / 값을표혀함 Example: int i, j; float x, y; i = 10; j = 20; x = 43.2892f; y = 5527.0f; printf("i = %d, j = %d, x = %f, y = %f\n", i, j, x, y); Result: i = 10, j = 20, x = 43.289200, y = 5527.000000 3

The printf Function (3/3) 컴파일러는몇개의형식지정자가사용되었는지검사하지않아도됨. 하지만, 형식지정자의개수와변수 / 값의수는같아야함 printf("%d %d\n", i); /*** WRONG ***/ printf("%d\n", i, j); /*** WRONG ***/ 컴파일러는형식지정자가제대로쓰였는지검사하지않아도됨 형식이맞지않으면의미없는결과를출력하게됨 : int i; float x; printf("%f %d\n", i, x); /*** WRONG ***/ 4

Conversion Specifications 형식지정자 (1/2) minimum field width 필드의길이 optional conversion specifier 형식지정자 %m.px %5.3f %8d %-8d Precision 정밀도 optional 12345.6789 12345.678 12345 12345 %d Integer 정수 %e - Exponential format 지수 %f - Fixed decimal 소수점 %g - Either exponential format or fixed decimal format 지수형이나소수점형 5

Conversion Specifications (1/2) Format specifier Description Supported data types %c Character char unsigned char %d Signed Integer short unsigned short int long %e or %E Scientific notation float of float values double %f Floating point float %g or %G Similar as %e or float %E double %hi Signed Integer(Short) short %hu Unsigned Integer(Short) unsigned short %i Signed Integer short unsigned short int long %l or %ld or %li Signed Integer long %lf Floating point double %Lf Floating point long double %lu Unsigned integer unsigned int unsigned long Format specifier Description Supported data types %lli, %lld Signed Integer long long %llu Unsigned Integer unsigned long long short %o unsigned Octal short representation of int Integer. unsigned int long %p Address of pointer void * to void void * %s String char * %u Unsigned Integer unsigned int unsigned long short %x or %X unsigned Hexadecimal short representation of int Unsigned Integer unsigned int long %n Prints nothing %% Prints % character 6

Escape Sequences 특수문자 (1/2) \n 와같은서식을 escape sequence 특수문자라함. 특수문자는제어용출력이안되는문자와특별한의미를갖는 와같은문자들로구성되어있음 특수문자의일부 : Alert (bell, 종소리 ) \a Backspace 백스페이스 \b New line 줄바꿈 \n Horizontal tab 탭문자 \t 7

Escape Sequences (2/2) 문자열에는특수문자가몇이든포함될수있음 : printf("item\tunit\tpurchase\n\tprice\tdate\n"); Item Unit Purchase Price Date 주로사용되는특수문자는 \" 로서 " 문자를출력함 : printf("\"hello!\""); /* prints "Hello!" */ \ 문자를쓰려면, \ 문자를두번연속으로쓰면됨 : printf("\\"); /* prints one \ character */ 8

The scanf Function scanf 는특정형식으로입력을읽음 scanf(format_string, &var1, &var2, ); scanf 의문자형식은일반문자와형식지정자 scanf 의형식변환은 printf와동일함. 많은경우 scanf 의문자형식은형식지정자만포함하고있음 : int i, j; float x, y; scanf("%d%d%f%f", &i, &j, &x, &y); 예제입력 : 1-20.3-4.0e3 scanf 는 1, 20, 0.3, 4000.0 을 i, j, x, y 에저장함 9

How scanf Works (1/4) scanf 는입력된글자들을형식지정자에매치를시키는일을함 각형식지정자에대해 scanf 는공백문자는제외하고입력값을해당형으로변환함 scanf 가입력된값을읽어들인후형식에맞지않는글자가나오면멈춤 정보를제대로읽었으면 scanf 는다음문자형식을처리함 더읽을것이없으면 scanf 는즉시리턴함 10

How scanf Works (2/4) 숫자를찾는동안공백문자는무시함 스페이스, 탭, 줄바꿈등 scanf 호출로 4 개의수를읽는예 scanf("%d%d%f%f", &i, &j, &x, &y); 이경우입력이여러줄에걸쳐입력될수있음 1-20.3-4.0e3 1-20.3-4.0e3 ssrsrrrsssrrssssrrrrrr (s = 건너뜀 ; r = 읽기 ) scanf 는마지막줄바꿈기호를읽지는않고 엿보기 만한다 11

How scanf Works (3/4) 정수를읽으려고하면 scanf 는먼저숫자와더하기또는빼기기호를찾음. 그리고숫자가아닌것이나올때까지읽음 소수점을읽으려고하면다음의순서대로정보를찾음 덧셈, 뺄셈기호 (optional), 그리고 숫자 ( 소수점을포함하는 ), 그리고 지수 (optional). 지수는문자 e ( 또는 E) 를쓰고, 양수음수부호와하나또는그이상의자리수로구성. scanf 에서 %e, %f, %g 는서로교환이됨. 만약 scanf 가이번읽기시도에서포함이불가능한문자를만나게되면그문자의읽기를취소함 12

How scanf Works (4/4) 예제입력 : 1-20.3-4.0e3 scanf 의호출은앞의예에서와같음 : scanf("%d%d%f%f", &i, &j, &x, &y); 새로운입력을 scanf 가어떻게처리하는지보자 : %d : 1 을 i 에저장하고 문자는되돌려놓음 %d : 20 을 j 에저장하고. 문자는되돌려놓음 %f : 0.3 을 x 에저장하고 - 문자는되돌려놓음 %f : 4.0 103 을 y 에저장하고줄바꿈문자는되돌려놓음 13

형식문자열의일반문자 하나또는그이상의공백문자를형식문자열에서만나면 scanf 는공백문자가아닌문자를만날때까지공백문자를계속읽음 공백문자가아닌문자를만나면 scanf 입력받아야하는형과같은지비교함 같으면, scanf 다음번처리할형식으로이동함 다르면, scanf 다른문자를복원하고종료함 Examples: 형식문자열이 "%d/%d" 이고입력이 5/ 96 이면, scanf 성공. 입력이 5 / 96 이면, scanf 실패, / 문자가형식문자열에지정한값과다르기때문 공백을허용하려면 "%d /%d" 이렇게써야함. 14

printf 와 scanf 주의점 (1/2) scanf 과 printf 의호출이유사해보이지만, 매우다른함수임 흔한실수 : & 를 printf의인자에쓰는경우 printf("%d %d\n", &i, &j); /*** WRONG ***/ scanf 의형식문자열이 printf 의형식문자열과같아야한다고착각하면안됨 scanf의호출예를보자 : scanf("%d, %d", &i, &j); scanf 는먼저입력으로정수를기대하며, 그값을 i 에저장. scanf 은그리고쉼표가입력되기를기대함 입력이쉼표가아니라공백이면 scanf 는 j 를위한값을읽지않고종료함. 15

printf 와 scanf 주의점 (2/2) scanf 의형식문자열의끝에줄바꿈기호를넣는것은좋은생각이아님 Scanf 는줄바꿈기호를공백과같이처리하기때문에다음칸으로이동과같은의미로사용됨 "%d\n" 이라고쓰면, scanf 는공백문자를무시하고정수를읽은뒤다시공백문자가아닌글자가들어오기를기다리게됨 이런경우프로그램이멈춘것처럼보이게됨 16