2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수 khlee@dsc.ac.kr.

Slides:



Advertisements
Similar presentations
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
Advertisements

멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
2007 1학기 12 배열.
데이터의 표현과 연산 (1) (Chapter 3)
제 3 장 변수와 자료형.
제12장 표준 입출력과 파일 입출력.
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
제 1장 C 언어의 소개.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
-Part3- 제3장 콘솔 입출력과 파일 입출력.
프로그래밍실습 제 18 강.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
제 3 장. 배열과 구조체 및 포인터.
변수와 자료형.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
처음으로 배우는 C 프로그래밍 제5부 추가적인 화제들 제 11 장 파일 처리.
변수와 자료형.
Part 04 입출력과 전처리 ©우균, 창병모 이 슬라이드는 부산대학교 우균이 작성하였습니다. 오류나 수정할 사항 있으면 연락 주세요.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
제 2 장 변수와 상수.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
adopted from KNK C Programming : A Modern Approach
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
Chapter 2 Lexical Elements, Operators, and the C System
Chapter 10 함수 기본.
제2장 데이터형과 표준 입출력문 문봉근.
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
Formatted Input/Output
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
처음으로 배우는 C 프로그래밍 제3부 함수 제 6 장 함수 작성.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
4장 자료형.
Chapter 05. 입출력 함수.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
어서와 C언어는 처음이지 제16장.
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
C.
printf("Global Korea\n");
Chapter 09. 배열.
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
배열, 포인터, 함수 Review & 과제 1, 2.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
Presentation transcript:

2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수 khlee@dsc.ac.kr

수행준거 1. C프로그램에서 표준 입력과 출력에 대해 설명할 수 있다. 3. 표준 입출력함수를 이용하여 간단한 자기소개 프로그램을 작성할 수 있다 3. 표준 입출력함수를 이용하여 간단한 사칙계산 프로그램을 작성할 수 있다.

이 장에서 설명은? 2.1 한 문자(character)의 입력과 출력 2.2 한 행 문자열(string)의 입력과 출력 2.3 양식(format)에 의한 입력과 출력

2.0 (잠깐!!!) C 프로그램의 기본 구성은? #include <stdio.h> void comjung(); void main() { int nai; scanf(“%d”, &nai); printf(“나이는 %d 살이다.\n”, nai); comjung(); } void comjung() printf(“나는 홍길동이다.\n”, nai); 사용자정의 함수 comjung()의 원형선언부이다. 메인 함수이며, 메인 함수명은 main()로 지정되어야만 한다. 사용자정의 함수이며, 함수명을 comjung() 으로 지정하고 있다. 라이브러리 함수 scanf(),printf()

2.0 (잠깐!!!) C 프로그램에서 각 종 함수에는? 메인 함수(main function)  사용자정의 함수(user defined function) ☞ 프로그램 작성자가 필요에 의해 임의로 작성한 함수이다. ☞ 사용자정의 함수의 원형(prototype)을 선언해 주어야 하는 함수이다. ☞ 필요에 따라 하나의 프로그램 안에 0개 이상 정의하여 사용할 수 있다.  라이브러리 함수(library function) ☞ C 언어 컴파일러 자체에서 지원해 주는 함수이다. ☞ 이 함수는 함수의 사용법에 따라 정의해야만 사용이 가능하다. ☞ 이 함수를 프로그램에 사용할 때에는 반드시 함수의 본체가 프로그램 되어 있는 해더파일(예, stdio.h )을 포함시켜 주어야 한다.

2.0 기본적인 표준 입출력 함수 6가지 getchar() putchar() gets() puts() scanf() 2.0 기본적인 표준 입출력 함수 6가지 [표2-1] C 언어에서 제공하는 표준 입출력 함수 6가지 입출력 함수 기 능 사용장치 관련 해더파일 getchar() putchar() gets() puts() scanf() printf() 영문자 한 개씩 입력 영문자 한 개씩 출력 문자열을 한 줄씩 입력 문자열을 한 줄씩 출력 지정한 형식으로 변환하여 입력 지정한 형식으로 변환하여 출력 키보드 화면 stdio.h

2.0 실습해 보자 #include <stdio.h> void main() { 2.0 실습해 보자 표준 입출력함수에 속하는 printf()을 이용하였기 때문에 stdio.h 라는 해더파일을 포함시킨 문장이다. ◀2-1.C▶ #include <stdio.h> void main() { printf("나는 홍길동이다. \n"); printf("나는 스무살이다. \n"); } 메인 함수를 정의한 것이다. 실행결과                         나는 홍길동이다. 나는 스무살이다. 괄호() 속에서 지정한 형식으로 출력하는 기능을 가진 표준 출력함수이다.

2.0 퀴즈 퀴즈 풀어보기 교제 27 쪽 ( 1번~4번 )

2.1 한 문자의 입력과 출력 (1) getchar() (2) putchar() get character 의 약자 2.1 한 문자의 입력과 출력 (1) getchar() (2) putchar() get character 의 약자 put character 의 약자

2.1 한 문자의 입력과 출력 (1) getchar() (2) putchar() 2.1 한 문자의 입력과 출력 (1) getchar() 키보드로부터 한 개의 영문자를 입력시킬 때 사용하는 함수이다. [사용형식] 문자형변수 = getchar(); [사용 예] a = getchar(); (2) putchar() 화면에 하나의 영문자를 출력(표시)시킬 때 사용하는 함수이다. [사용형식] putchar( 문자형변수 ); [사용 예] putchar( a );

2.1 한 문자의 입력과 출력 #include <stdio.h> void main() { char ch = 'A'; 2.1 한 문자의 입력과 출력 ◀2-2.C▶ putchar() 함수의 사용 예1 #include <stdio.h> void main() { char ch = 'A'; putchar( ch ); } 프로그램에 putchar() 함수를 사용했기 때문에 stdio.h 해더 파일을 포함시킨 문장이다. 문자1개를 기억할 수 있는 문자형 변수를 ch 라는 이름으로 선언하고, 그 ch 변수에 문자 A를 기억시키 라는 문장이다. 실행결과 A 변수 ch에 기억된 값을 한 개의 문자형태로 화면에 출력하라는 문장이다. (보충실습) 이 문장을 char ch=“동”; 이라고 수정하여 실행시켜 보라.

2.1 한 문자의 입력과 출력 #include <stdio.h> void main() { putchar('A'); 2.1 한 문자의 입력과 출력 ◀2-3.C▶ putchar() 함수의 사용 예2 #include <stdio.h> void main() { putchar('A'); } 괄호 속에 지정된 문자‘A’를 그대로 화면에 출력하라는 문장이다. 실행결과                   A         (보충실습 1) 이 문장을 putchar(“동”); 이라고 수정하여 실행시켜 보라. (보충실습 2) 이 문장을 putchar( 65 ); 이라고 수정하여 실행시켜 보라.

2.1 한 문자의 입력과 출력 #include <stdio.h> void main() { char ch; 2.1 한 문자의 입력과 출력 ◀2-4.C▶ getchar(), putchar() 함수를 사용한 경우 #include <stdio.h> void main() { char ch; ch = getchar(); putchar( ch ); } 키보드에서 입력되는 한 개의 문자를 입력받아 문자형 변수 ch에 기억하라는 문장이다. Ch 변수에 기억된 값을 한 개의 문자로 화면에 출력하라는 문장이다. 실행결과 A <Enter> A (보충실습) 다시 한번 실행시켜 동서울 <enter> 이라고 입력시켜 보라.

2.1 한 문자의 입력과 출력

2.2 한 행(줄) 문자열의 입력과 출력 (1) gets() (2) puts() get string 의 약자 2.2 한 행(줄) 문자열의 입력과 출력 (1) gets() (2) puts() get string 의 약자 put string 의 약자

2.2 한 행(줄) 문자열의 입력과 출력 (1) gets() (2) puts() 2.2 한 행(줄) 문자열의 입력과 출력 (1) gets() 키보드로부터 한 행의 문자열을 입력 받는 기능을 수행하는 함수이다. [사용형식] gets( 문자열변수 ); [사용 예] gets( buffer ); (2) puts() 모니터 화면에 한 행의 문자열을 출력하는 기능을 수행하는 함수이다. [사용형식] puts( 문자열변수 ); [사용 예] puts( buffer );

2.2 한 행(줄) 문자열의 입력과 출력 #include <stdio.h> void main() { 2.2 한 행(줄) 문자열의 입력과 출력 최대 256개의 문자로 구성된 문자열을 기억할 수 있는 buffer 변수를 선언하고, “COMPUTER”라는 문자열을 기억시키라는 문장이다. ◀2-5.C▶ puts() 함수를 사용한 예1 #include <stdio.h> void main() { char buffer[256] = "COMPUTER"; puts( buffer ); } 실행결과 COMPUTER Buffer 변수에 기억된 값을 문자열로 화면에 출력하라는 문장이다. (보충실습) 이 문장에서 “COMPUTER”를 “나는 홍길동이다” 라고 수정하여 실행시켜 보라.

2.2 한 행(줄) 문자열의 입력과 출력 #include <stdio.h> void main() { 2.2 한 행(줄) 문자열의 입력과 출력 ◀2-6.C▶ puts() 함수를 사용한 예2 #include <stdio.h> void main() { puts("COMPUTER"); } 괄호 속에 정의된 문자열 데이터 COMPUTER을 문자열 형태로 화면에 출력하라는 문장이다. 실행결과 COMPUTER (보충실습) 이 문장에서 “COMPUTER”를 “나는 홍길동이다” 라고 수정하여 실행시켜 보라.

2.2 한 행(줄) 문자열의 입력과 출력 #include <stdio.h> void main() { 2.2 한 행(줄) 문자열의 입력과 출력 ◀2-7.C▶ gets(), puts() 함수를 사용한 예 최대 256개의 문자로 구성된 문자열을 기억할 수 있는 buffer 변수를 선언하라는 문장이다. #include <stdio.h> void main() { char buffer[256]; gets( buffer ); puts( buffer ); } 키보드에서 입력되는 데이터를 문자열로 입력 받아 buffer 변수에 기억시키라는 문장이다. 실행결과 hong gil dong <Enter> hong gil dong buffer 변수에 기억된 값(문자열)을 문자열로 화면에 출력하라는 문장이다. (보충실습) 다시 한번 실행시켜 한글로 나는 홍길동이다. <enter> 라고 입력시켜 보라.

2.2 한 행(줄) 문자열의 입력과 출력 #include <stdio.h> void main() { 2.2 한 행(줄) 문자열의 입력과 출력 ◀2-8.C▶gets(), puts() 함수로 여러 문자열을 입출력하는 경우 #include <stdio.h> void main() { char buffer1[256]; char buffer2[256]; gets( buffer1 ); gets( buffer2 ); puts( buffer1 ); puts( buffer2 ); } 문자 256개로 구성된 문자열 데이터를 기억시킬 수 있는 변수 buffer1 과 buffer2 을 선언한 문장이다. 키보드에서 입력되는 데이터를 문자열로 입력 받아 지정한 변수에 기억시키라는 문장이다. 지정한 변수에 기억된 값(내용)을 문자열로 화면에 출력하라는 문장이다. 실행결과 홍길동이다. <Enter> 시언어를 배운다. <Enter> 홍길동이다. 시언어를 배운다.

2.3 양식에 의한 입력과 출력 (1) printf() (2) scanf() print format 의 약자 2.3 양식에 의한 입력과 출력 (1) printf() (2) scanf() print format 의 약자 Scan format 의 약자

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int nai; 2.3 양식에 의한 입력과 출력 맛보기실습 sam.c) 1개의 정수 값을 기억할 수 있는 변수 nai 를 선언한 문장이다. #include <stdio.h> void main() { int nai; scanf("%d", &nai); printf("나는 %d 살이다.", nai); } 키보드에서 키인되는 숫자 1개를 입력받아 nai 변수에 기억시켜라는 문장이다. 실행결과 20 <Enter>  나는 20 살이다. 변수 nai 에 기억된 값을 %d 위치에 표시하여 화면에 출력하라는 문장이다. (보충실습) 이 문장에서 &nai 에서 & 기호를 없애고 nai 라고 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 (1) printf() 지정된 양식에 따라 해당 변수의 데이터 값을 화면에 출력하는 함수이다. 2.3 양식에 의한 입력과 출력 (1) printf() 지정된 양식에 따라 해당 변수의 데이터 값을 화면에 출력하는 함수이다. 구분 사용형식 사용 예 사용법1  printf(문자열변수); printf(name); 사용법2  printf("양식지정문자열", 변수); printf("나는 %d살이다.\n", age);

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-9.C▶ printf() 함수에서 사용형식1의 사용 예1 #include <stdio.h> void main() { char name[20]=“홍길동"; printf( name ); } 문자열 변수 name 에 기억된 값 “홍길동”을 그대로 화면에 출력하라는 문장이다. 실행결과                       홍길동 (보충실습) 이 문장에서 name 변수에 기억시킬 수 있는 한글 문자의 개수는 최고 몇 개인가? 그리고 홍길동 대신에 ”난 시언어를 배운다“ 라고 출력되게 해보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-10.C▶ printf() 함수에서 사용형식1의 사용 예2 #include <stdio.h> void main() { printf(“홍길동”); } “홍길동”라는 문자열을 그대로 화면에 출력하라는 문장이다. 실행결과                        홍길동 (보충실습) 이 문장을 수정하여 화면에 ”난 시언어를 배운다 ”라고 출력되게 해보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-11.C▶ printf() 함수에서 사용형식2의 사용 예 #include <stdio.h> void main() { char name[20] = "홍길동"; printf("나는 %s 이다. \n", name); } 실행결과                     나는 홍길동 이다. 이 문장은 문자열 변수 name 에 기억된 값(홍길동)을 %s 위치에 표시하여 화면에 출력하라는 문장이다.

2.3 양식에 의한 입력과 출력 ① printf()에서 양식 지정 문자열 사용하기 구분 선두문자 설 명 일반문자  제어문자 2.3 양식에 의한 입력과 출력 ① printf()에서 양식 지정 문자열 사용하기 [표2-2] printf()에서의 양식지정 문자열을 구성하는 요소 3가지 구분 선두문자 설 명 일반문자  제어문자  변환문자 없음 \ % 출력 메시지의 역할을 하며, 기입한 문자열을 화면에 그대로 출력해 준다. \(백슬러시) 뒤에 지정되는 제어문자의 종류에 따라 출력형태를 바꾸어 출력해 준다. % 뒤에 지정되는 변환문자에 따라 대응하는 인수의 값을 양식(형식)에 맞추어 출력해 준다.

2.3 양식에 의한 입력과 출력 printf("나는 %d 살이다. \n", age ); 출력할 변수명 일반 문자 일반 문자 2.3 양식에 의한 입력과 출력 출력할 변수명 일반 문자 일반 문자   printf("나는 %d 살이다. \n", age );  양식(형식) 출력 함수명 변환 문자 제어 문자

2.3 양식에 의한 입력과 출력 ② printf()에서 제어문자 사용하기 문자 명칭 기 능 \n \t \v \b \f \r 2.3 양식에 의한 입력과 출력 ② printf()에서 제어문자 사용하기 [표2-3] 제어문자의 종류 문자 명칭 기 능 \n \t \v \b \f \r \a \\ \′ \″ New Line Horizontal Tab Vertical Tab Back Space Form Feed Carriage Return Bell Back Slash Single quote Double quote 커서를 다음 줄의 첫 칸으로 이동 커서를 수평으로 탭만큼 이동 커서를 수직으로 탭만큼 이동 커서를 인쇄 반대방향으로 한 칸 이동 프린트 용지를 한 페이지 전진 커서를 그 줄의 첫 칸으로 이동 컴퓨터에 내장된 벨소리 출력 \ 기호 자체를 출력 ′ 기호 자체를 출력 ″ 기호 자체를 출력 잠깐!!! 제어문자라는 \ 기호(백슬러시 기호)로 시작하는 문자를 말한다. 한글판 운영체제에서는 \ 기호가 \ 기호로 표시된다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int age=20; 2.3 양식에 의한 입력과 출력 ◀2-12.C▶ 제어문자의 사용 예 #include <stdio.h> void main() { int age=20; printf("나는 홍길동이다. \n"); printf("나는 \n홍길동이다. \n"); } 실행결과                            나는 홍길동이다. 나는 홍길동이다. 이 제어문자가 기입된 위치에서 커서를 줄 바꾸어 다음 줄 첫째 칸으로 이동하게 한다.

2.3 양식에 의한 입력과 출력 ③ printf()에서 변환문자 사용하기 2.3 양식에 의한 입력과 출력 ③ printf()에서 변환문자 사용하기 printf("나는 %d 살이다. \n", age );  변수 age 값이 출력될 위치와 형식을 지정하는 변환문자를 정의한 것이다. 제어문자를 정의한 것이다. 잠깐!!! 변환문자라는 것은 % 기호로 시작하는 문자를 말한다.

2.3 양식에 의한 입력과 출력 % [플래그] [필드폭] [.정도] 변환문자 % - 12.3 f [사용형식] [사용 예] 2.3 양식에 의한 입력과 출력 [사용형식]  % [플래그] [필드폭] [.정도] 변환문자 [사용 예]  % - 12.3 f 어떤 형태로 값을 변환할 것인가를 지정하는 곳 부동소수점 수를 출력할 때에 소수점 이하 몇 자리까지 출력할 것인지를 지정하는 곳 어떤 데이터 값을 출력할 때에 출력되는 총 자릿수를 지정하는 곳 지정한 총 자리 수 내에서 출력할 데이터의 위치와 모양을 지정하는 곳

2.3 양식에 의한 입력과 출력 변환문자 의 미 d o x, X c s f e, E % 2.3 양식에 의한 입력과 출력 [표2-4] 변환문자의 종류 변환문자 의 미 d o x, X c s f e, E % 10진수(decimal)형 정수로 변환하여 출력해 준다. 8진수(octal)형 정수로 변환하여 출력해 준다. 16진수(hexadecimal)형 정수로 변환하여 출력하며, x는 소문자로, X는 대문자로 표시하여 출력해 준다. 한 개의 문자로 변환하여 출력해 준다. 문자열로 변환하여 출력해 준다. 부동소수점 형태로 변환하여 출력(float, double 공통)하며, 소수점 이하 자리 수는 기본적으로 6자리까지 출력해 준다. 지수 형태로 출력해 주며, e는 소문자로, E는 대문자로 출력 하며, 이때 소수점 이하 자리 수는 6자리로 하여 출력해 준다. % 문자를 출력해 준다.

2.3 양식에 의한 입력과 출력 실습문제 다음에 보인 프로그램에서 ■부분을 채워 2.3 양식에 의한 입력과 출력 실습문제 다음에 보인 프로그램에서 ■부분을 채워 제시한 <실행결과>와 같이 출력되도록 프로그램을 완성시켜라. 파일명 : COM.C #include <stdio.h> void main() { char irum[20] = "홍길동”; int nai = 19; float ki = 180.5; printf(“난 ■ 이다.\n”, irum); printf(“난 ■ 살이다.\n”, nai); printf(“난 ■ 이다.\n”, ki); } 실행결과                                난 홍길동 이다. 난 19 살이다. 난 180.500000 이다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a=11; 2.3 양식에 의한 입력과 출력 ◀2-13.C▶ 정수형 변환문자 사용 예 #include <stdio.h> void main() { int a=11; printf("10진 정수형으로 %d 이다. \n", a); printf("8진 정수형으로 %o 이다. \n", a); printf("16진 정수형으로 %x 이다. \n", a); printf("16진 정수형으로 %X 이다. \n", a); } 실행결과                                   10진 정수형으로 11 이다. 8진 정수형으로 13 이다. 16진 정수형으로 b 이다. 16진 정수형으로 B 이다. (보충실습1) 이 문장에서 %d 를 %ㅇ 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %ㅇ 를 %x 로 수정하여 실행시켜 보라. (보충실습3) 이번에는 %x 를 %X 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a=11; 2.3 양식에 의한 입력과 출력 ◀2-14.C▶ 정수 값에서 필드폭을 지정한 경우 #include <stdio.h> void main() { int a=11; printf("10진 정수형으로 %d 이다. \n", a); printf("10진 정수형으로 %15d 이다. \n", a); } 실행결과                                                             10진 정수형으로 11 이다. 10진 정수형으로               11 이다. (보충실습) 이 문장에서 %d 를 %15d 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a=11; 2.3 양식에 의한 입력과 출력 ◀2-15.C▶ 정수 값에서 플래그를 지정한 경우 #include <stdio.h> void main() { int a=11; printf("10진 정수형으로 %d 이다. \n", a); printf("10진 정수형으로 %15d 이다. \n", a); printf("10진 정수형으로 %015d 이다. \n", a); printf("10진 정수형으로 %-15d 이다. \n", a); } 실행결과                                                          10진 정수형으로 11 이다. 10진 정수형으로 11 이다. 10진 정수형으로 000000000011 이다.   10진 정수형으로 11            이다. (보충실습1) 이 문장에서 %d 를 %15d 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %015d 로 수정하여 실행시켜 보라. (보충실습3) 이번에는 %-15d 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { char b='A'; 2.3 양식에 의한 입력과 출력 ◀2-16.C▶ 문자형 변환문자 사용 예 #include <stdio.h> void main() { char b='A'; printf("문자형으로 %c 이다. \n", b); printf("10진 정수형으로 %d 이다. \n", b); } 실행결과                                           문자형으로 A 이다. 10진 정수형으로 65 이다. (보충실습) 이 문장에서 %c 를 %d 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { char b='A'; 2.3 양식에 의한 입력과 출력 ◀2-17.C▶ 문자형에서 필드폭을 지정한 경우 #include <stdio.h> void main() { char b='A'; printf("문자형으로 %c 이다. \n", b); printf("문자형으로 %15c 이다. \n", b); printf("문자형으로 %-15c 이다. \n", b); } 실행결과                                           문자형으로 A 이다. 문자형으로              A 이다. 문자형으로 A              이다. (보충실습1) 이 문장에서 %c 를 %15c 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %-15c 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-18.C▶ 문자열형 변환문자 사용 예 #include <stdio.h> void main() { char c[30]="computer"; printf("문자열형으로 %s 이다. \n", c); } 실행결과                                                    문자열형으로 computer 이다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-19.C▶ 문자열형에서 필드폭 사용 예 #include <stdio.h> void main() { char c[30]="computer"; printf("문자열형으로 %s 이다. \n", c); printf("문자열형으로 %15s 이다. \n", c); printf("문자열형으로 %-15s 이다. \n", c); } 실행결과                                            문자형으로 computer 이다. 문자형으로         computer 이다. 문자형으로 computer       이다. (보충실습1) 이 문장에서 %s 를 %15s 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %-15s 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-20.C▶ 실수형 변환문자 사용 예 #include <stdio.h> void main() { double d=10.123; printf("실수형(f)으로 %f 이다. \n", d); printf("실수형(e)으로 %e 이다. \n", d); printf("실수형(E)으로 %E 이다. \n", d); } C에서 %f는 기본적으로 소수점 이하 6 자리까지 출력해 준다. 실행결과                                                  실수형(f)으로 10.123000 이다. 지수형(e)으로 1.01230e+001 이다. 지수형(E)으로 1.01230E+001 이다. (보충실습1) 이 문장에서 %f 를 %e 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %E 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-21.C▶ 실수 값에서 필드폭과 정도의 지정 예 #include <stdio.h> void main() { double d=10.123; printf("실수형(f)으로 %f 이다. \n", d); printf("실수형(f)으로 %15f 이다. \n", d); printf("실수형(f)으로 %15.3f 이다. \n", d); printf("실수형(f)으로 %15.10f 이다. \n", d); printf("실수형(f)으로 %15.0f 이다. \n", d); }  실행결과                                                        실수형(f)으로 10.123000 이다. 실수형(f)으로       10.123000 이다. 실수형(f)으로         10.123 이다. 실수형(f)으로  10.1230000000 이다. 실수형(f)으로             10 이다. (보충실습1) 이 문장에서 %f 를 %15f 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %15.3f 로 수정하여 실행시켜 보라. (보충실습3) 이번에는 %15.10f 로 수정하여 실행시켜 보라. (보충실습4) 이번에는 %15.0f 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-22.C▶ 실수 값에서 플래그의 사용 예 #include <stdio.h> void main() { double d=10.123; printf("실수형(f)으로 %f 이다. \n", d); printf("실수형(f)으로 %-15.3f 이다. \n", d); printf("실수형(f)으로 %015.3f 이다. \n", d); } 실행결과                                                           실수형(f)으로 10.123000 이다. 실수형(f)으로 10.123           이다. 실수형(f)으로 00000000010.123 이다. (보충실습1) 이 문장에서 %f 를 %-15.3f 로 수정하여 실행시켜 보라. (보충실습2) 이번에는 %015.3f 로 수정하여 실행시켜 보라.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a=11; 2.3 양식에 의한 입력과 출력 ◀2-23.C▶ 여러 종류의 값을 출력하는 경우 #include <stdio.h> void main() { int a=11; char b='A'; char c[10]="computer"; double d=12.345; printf("정수: %d, 문자: %c, 문자열: %s, 실수: %f \n", a, b, c, d); } 실행결과                                                                   a: 11, b: A, c: computer, d: 12.345000

2.3 양식에 의한 입력과 출력 퀴즈 풀어보기 교제 46 쪽 ( 5번~18번 )

2.3 양식에 의한 입력과 출력 (2) scanf() 지정된 양식에 따라 키보드로부터 데이터를 입력시켜 주는 함수이다. 2.3 양식에 의한 입력과 출력 (2) scanf() 지정된 양식에 따라 키보드로부터 데이터를 입력시켜 주는 함수이다. [사용형식] scanf( "양식지정문자열", 포인터변수 ); [사용 예] scanf( "%d", &a ); 입력 받을 경우에는 변수명 앞에 & 기호를 붙여 포인터변수로 만들어 주어야 한다. 잠깐!!! 여기서 포인터변수는 그 변수의 값을 기억시키기 위한 기억장소(메모리)의 주소를 말한다. 그리고 & 기호는 AND를 나타내는 연산자 기호로서, 앰퍼샌드(ampersand)라고 읽는다.

2.3 양식에 의한 입력과 출력 잠깐!!! scanf() 함수 사용시 주의사항 2.3 양식에 의한 입력과 출력 잠깐!!! scanf() 함수 사용시 주의사항 scanf() 함수를 이용하여 단순히 정수1개, 실수1개, 문자1개의 값을 입력 받을 때에는 변수 앞에 & 기호를 붙여야 한다. 그러나 여러 개의 문자로 결합된 문자열을 입력 받을 때에는 문자열변수 앞에 & 기호를 붙이지 않는다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a; 2.3 양식에 의한 입력과 출력 변수 a는 정수변수이기 때문에 & 기호를 붙여야 한다. ◀2-24.C▶ 정수 값을 입력 받는 경우 #include <stdio.h> void main() { int a; scanf("%d", &a ); printf("입력된 정수 값은 %d 이다. \n", a); } 실행결과                                     123 <Enter> 입력된 정수는 123 이다. (보충실습) 이 문장에서 &a 를 & 기호를 없애고 그냥 a 로 수정하여 실행시켜 보라. 에러가 발생할 것이다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { float b; 2.3 양식에 의한 입력과 출력 ◀2-25.C▶ 실수 값을 입력 받는 경우 #include <stdio.h> void main() { float b; scanf("%f", &b ); printf("입력된 실수 값은 %f 이다. \n", b); } 변수 b는 실수 값을 기억하는 실수 변수이기 때문에 변수명 앞에 & 기호를 붙여야 한다. 실행결과                                            12.34 <Enter> 입력된 실수는 12.340000 이다. (보충실습) 이 문장에서 &b 를 &기호를 없애고 그냥 b 로 수정하여 실행시켜 보라. 에러가 발생할 것이다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { char c; 2.3 양식에 의한 입력과 출력 ◀2-26.C▶ 한 개의 문자를 입력 받는 경우 변수 c는 한 개의 문자를 기억하는 문자형 변수이기 때문에 변수명 앞에 & 기호를 붙여야 한다. #include <stdio.h> void main() { char c; scanf("%c", &c ); printf("입력된 문자는 %c 이다. \n", c); } 실행결과                                  A <Enter> 입력된 문자는 A 이다. (보충실습) 이 문장에서 &c 를 &기호를 없애고 그냥 c 로 수정하여 실행시켜 보라. 에러가 발생할 것이다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { char d[20]; 2.3 양식에 의한 입력과 출력 ◀2-27.C▶ 한 개의 문자열을 입력 받는 경우 #include <stdio.h> void main() { char d[20]; scanf("%s", d ); printf("입력된 문자열은 %s 이다. \n", d); } 변수 d는 여러 개의 문자로 구성된 문자열을 기억하는 문자열변수이기 때문에 변수 d 앞에 &기호를 붙이지 않는다. 그 이유는 문자열변수는 스스로 포인터변수이기 때문이다. 실행결과                                              computer <Enter> 입력된 문자열은 computer 이다. (보충실습) 변수 d 가 정수변수, 실수변수, 문자변수일 경우에서처럼 변수 d 앞에 & 기호를 붙여 &d 라고 지정해 실행시켜 보자. 이때 만약 실행결과가 제대로 표시되더라도 잘못된 결과이다.

2.3 양식에 의한 입력과 출력 ① scanf()에서의 양식 지정 문자열 구분 설 명 공백문자 일반문자 변환문자열 2.3 양식에 의한 입력과 출력 ① scanf()에서의 양식 지정 문자열 [표2-5] scanf()에서의 양식지정 문자열의 종류 구분 설 명 공백문자 일반문자 변환문자열 입력 데이터의 항목을 구분하는 역할을 한다. 입력 데이터의 항목을 구분하는데 사용한다. %와 함께하는 변환문자에 따라 대응하는 변수를 양식(형식)에 맞추어 입력시켜 준다.

2.3 양식에 의한 입력과 출력 ② 공백문자 및 일반문자 ☞scanf()에서 일반문자와 공백문자는 2.3 양식에 의한 입력과 출력 ② 공백문자 및 일반문자 ☞scanf()에서 일반문자와 공백문자는 입력 데이터 항목을 구분시키기 위한 목적으로 사용한다. ☞이때 특별히 어떤 일반문자열을 지정하면, 그 지정된 문자열로 입력항목이 구분된다. ☞만약, 지정하지 않으면 기본적으로 공백문자에 의해서 입력항목을 구분하여 입력한다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a, b, c; 2.3 양식에 의한 입력과 출력 ◀2-28.C▶ 공백문자로 데이터항목을 구분하여 입력 받는 경우 #include <stdio.h> void main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); printf("a=%d, b=%d, c=%d \n", a, b, c); } 변환문자와 변환문자 사이의 공백은 공백으로 입력데이터 항을 구분시켜 입력되게 한다. 실행결과                                   10 20 30 <Enter>           a=10, b=20, c=30 잠깐!!! 키보드 입력에서 데이터와 데이터 값을 구분하여 입력할 수 있는 키(key)에는 기본적으로 다음의 3 가지 키가 있다. 스페이스바(space bar)키 탭(tab)키 엔터(enter)키

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a, b, c; 2.3 양식에 의한 입력과 출력 ◀2-29.C▶ 컴머(,)로 데이터 항목을 구분시켜 입력 받을 경우 #include <stdio.h> void main() { int a, b, c; scanf("%d, %d, %d", &a, &b, &c); printf("a=%d, b=%d, c=%d \n", a, b, c); } 실행결과                                10,20,30 <Enter> a=10, b=20, c=30 변환문자와 변환문자 사이의 컴머(,) 문자는 컴머로 입력데이터 항을 구분시켜 입력되게 한다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a, b, c; 2.3 양식에 의한 입력과 출력 ◀2-30.C▶ 일반문자로 데이터 항목을 구분시켜 입력 받을 경우  #include <stdio.h> void main() { int a, b, c; scanf("%dA%dA%d", &a, &b, &c); printf("a=%d, b=%d, c=%d \n", a, b, c); } 실행결과                                        10A20A30 <Enter> a=10, b=20, c=30  이 A문자는 A문자로 입력데이터 항을 구분시켜 입력되게 한다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a, b, c; 2.3 양식에 의한 입력과 출력 ◀2-31.C▶ 문자열로 데이터 항을 구분시켜 입력 받을 경우 #include <stdio.h> void main() { int a, b, c; scanf("%dABC%dABC%d", &a, &b, &c); printf("a=%d, b=%d, c=%d \n", a, b, c); } 실행결과                                    10ABC20ABC30 <Enter> a=10, b=20, c=30 이 ABC 문자열은 ABC로 입력데이터 항을 구분시켜 입력되게 한다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { int a, b, c; 2.3 양식에 의한 입력과 출력 ◀2-32.C▶ 입력된 숫자에서 원하는 자리 수만큼 끊어서 입력 받을 경우 #include <stdio.h> void main() { int a, b, c; scanf("%2d %3d %2d", &a, &b, &c); printf("a=%d, b=%d, c=%d \n", a, b, c); } 실행결과                                   123456789 <Enter> a=12, b=345, c=67 입력되는 정수 값에서 여기 지정된 숫자의 개수만큼씩 끊어 입력 받아 해당변수에 기억시킨다.

2.3 양식에 의한 입력과 출력 #include <stdio.h> void main() { 2.3 양식에 의한 입력과 출력 ◀2-33.C▶ 입력된 문자열서 원하는 자리 수만큼 끊어서 입력 받을 경우 #include <stdio.h> void main() { char a[10], b[10], c[10]; scanf("%3s %5s %7s", a, b, c); printf("a=%s, b=%s, c=%s \n", a, b, c); } 실행결과                                                                        ABCDEFGHIJKLMNOPQRSTUVWXYZ <Enter> a=ABC, b=DEFGH, c=IJKLMNO 입력되는 문자열에서 여기 지정된 숫자의 개수만큼씩 끊어 입력 받아 해당변수에 기억시킨다.

2.3 양식에 의한 입력과 출력 퀴즈 풀어보기 교제 55 쪽 ( 19번~23번 )

제2장 연습문제 풀이 교제 57 쪽

Question and Answer