제 17 강 formatted I/O shcho.pe.kr.

Slides:



Advertisements
Similar presentations
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
데이터의 표현과 연산 (1) (Chapter 3)
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
10장 예외 Lab 10-1.
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
6장. printf와 scanf 함수에 대한 고찰
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
3. printf()와 데이터 형식.
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
C 언어 연습문제 (formatted I/O)
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
C언어 콘서트 제2장 기초 사항.
2주차: 변수, 수식, Control Flow.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
14장. 포인터와 함수에 대한 이해.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
13. 연산자 오버로딩.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Formatted Input/Output
상수와 기본 자료형.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 05. 입출력 함수.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 08. 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
6장 연습 문제 풀이 학번 : 이름 :조 재한.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
Excel 일차 강사 : 박영민.
제3장 함수와 배열수식 전진환
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
어서와 C언어는 처음이지 제16장.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
printf("Global Korea\n");
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
Pointers summary.
제 10 강 문자 입출력.
C Programming Seminar 데이터와 입출력 함수.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

제 17 강 formatted I/O shcho.pe.kr

Formats %d - int(십진 정수) %u – int(십진 자연수) %c - char(문자) %f - float(소수점으로 나타낸 실수) %e – 지수형으로 나타낸 실수 %lf - double(길이를 2배) %o – 8진수 %x -16진수 %s - 문자열

%f %lf - float and long float 자리수 %6.2f 총 6자리, 소수이하 2자리로 반올림 Float and double %f %lf - float and long float 자리수 %6.2f 총 6자리, 소수이하 2자리로 반올림 정수부분이 더 크면 무시

Exponential Form Avogadro number = 602200000000000000000000 %e format: 수학에서의 6.022 x 1023처럼 printf("%e\n", 6022E20);  6.022000e+23

More format descriptors %x : 16진수 printf("%d %x\n", 10, 10);  10 a printf("%d %X\n", 10, 10);  10 A %o : 8진수(octal) printf("%d %o\n", 10, 10);

tab의 사용 printf("%d\t%d\t%d", 11,22,33); %5d %4x %-8d %.6d 자리수 tab의 사용 printf("%d\t%d\t%d", 11,22,33); %5d %4x %-8d %.6d printf("%8d%8d", 12, 12345);

int page=732를 다음의 포맷으로 출력한다. %d 연습 int page=732를 다음의 포맷으로 출력한다. printf(“*%d*\n”, page); printf(“*%2d*\n”, page); printf(“*%10d*\n”, page); printf(“*%-10d*\n”, page); printf("%d\t%d\t%d", 11,22,33);

%-10d 왼쪽 정렬 최소 길이

%f와 %e 연습 Const double page=2345.67를 다음의 포맷으로 출력한다. printf(“*%f*\n”, page); printf(“*%lf*\n”, page); printf(“*%e*\n”, page); printf(“*%4.2f*\n”, page); printf(“*%3.1f*\n”, page); printf(“*%10.3f*\n”, page); printf(“*%10.3e*\n”, page); printf(“*%+4.2f*\n”, page); printf(“*%010.2f*\n”, page);

실습 lab17_01/print.c 1부터 80까지의 정수를 한 줄에 4개씩 순서대로 줄력을 하되 8자리로 맞추어 출력을 하게하라. while을 이용한다. 하나의 정수를 출력한 뒤 이 숫자가 4의 배수이면 줄바꿈을 위해 \n을 출력한다.

scanf(format_string, address, address, …) formatted input compare with getchar() scanf(format_string, address, address, …) 예: scanf("%d",&i)  표준 입력에서 정수포맷으로 읽어 정수 값을 변수 i에 저장 예: int i; float x; scanf(“%d %f”,&i, &x);

scanf and getchar() scanf(“%c”, &x); x = getchar(); scanf(“%d”, &x); getchar ???

대응 관계 scanf("%d%f%s", &i, &x, name); 대응 관계의 오류: scanf("%d%f%s", &i, &x); scanf("%d%f", &i, &x, name);

Types int i; float x; double y; scanf("%d%f", &i, &x); scanf(“%d%f”, &x, &i); // NOT syntax error scanf("%lf", &y);

printf("%d:%d\n", hour, min); scanf("%d:%d\n", &hour, &min); Format String printf("%d:%d\n", hour, min); scanf("%d:%d\n", &hour, &min); scanf ("%d:%d", &hour, &min);

실습 lab17_02/dscan.c 다음의 프로그램을 입력하여 적절한 수(예: 1.5)로 테스트해보라. main(){ double x; float y; scanf("%f %f", &x, &y); printf("%f %f\n", x, y); }

실습 lab17_03/dscan2.c dscan.c의 오류를 수정하라.

Return value scanf는 바르게 읽은 항목 수를 반환. #include <stdio.h> int main(){ int i,j,n; n = scanf("%d %d",&i,&j); printf("%d개 읽었음.\n",n); }

Return 값의 사용 n = scanf("%d", &x); while (n==1){ sum += x; } while (scanf("%d%d", &x, &y)==2){ ...

실습 lab17_04/scan_return.c 17_04.txt

실습 lab17_05/scan3.c 3개의 정수를 선언한다. (x,y,z) 한 줄에 3개의 정수를 입력할 수 있도록 scanf 문을 작성한다. 읽어들인 숫자가 몇 개인지 출력한다. 만일 1개 이상이면 x를 출력한다. 만일 2개 이상이면 y도 출력한다. ('를'이 아니고 '도'이다) 만일 3개이면 z도 출력한다.

흔한 오류 1 int i,j,n; n = scanf("%d %d",i,j); Don’t confuse with printf("%d %d",i,j);

흔한 오류 2 int i; float f; scanf(“%d %d”, &i, &f); ???

흔한 오류 3 int i; double f; scanf(“%f”, &f);

최대 세 개의 정수를 읽어들여 평균(float)을 출력하는 프로그램을 작성, 시험하라. 실습 lab17_06/mean.c 최대 세 개의 정수를 읽어들여 평균(float)을 출력하는 프로그램을 작성, 시험하라. 평균이므로 합을 읽은 개수로 나누는 것이 필요하다. 데이터가 하나도 입력이 안된 경우 나눗셈 자체가 불가능하므로 별도로 에러임을 알리는 메시지를 출력한다. 파일명 mean.c

실습 lab17_07/sum.c 표준입력에서 입력되는 정수의 합을 출력하는 프로그램을 작성한다(합은 sum이라는 변수에 저장해보자. 그런데 덧셈을 시작하기 전에 초기 값을 주는 것을 잊지 말아야한다.) 단, 정수를 몇 개 입력할 것인지는 정해져 있지 않으며 정확히 하나씩 입력이 되면(이것을 알아내는 방법은 바로 전에 배웠다) 계속한다. 그렇지 않다면 오류가 있거나 EOF인 것이므로 그때까지의 합을 출력하고 끝난다.

lab17_08/ calc.c 표준 입력에서 두 개의 정수를 받아서 계산하여 출력하는 프로그램을 작성한다. 입력 양식은 10+2 , 9–3 , 8*2 같은 방식이다. 숫자와 부호 사이에는 빈칸이 있으면 좀 어려워지므로 붙여 쓰는 것으로 가정한다. 입력은 %d와 %c를 활용 하면 숫자, 기호를 읽을 수 있다. (*주의 연산 기호를 읽어들일 변수는 char로 선언하자) 읽은 개수가 3개일 때만 출력을 한다. 읽은 개수가 3이면 둘째 글자가 ‘+’ 이냐 ‘-’이냐에 따라 덧셈 또는 뺄셈 등을 한다.

제 17 강 끝. formatted I/O shcho.pe.kr