• 검색 결과가 없습니다.

제02장-표준입출력함수

N/A
N/A
Protected

Academic year: 2021

Share "제02장-표준입출력함수"

Copied!
63
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

khlee@dsc.ac.kr

(2)

1. C 프로그램에서 표준 입력과 출력에 대해 설명할 수 있다 .

2. C 언어에서 제공하는 기본적인 표준 입출력 함수의 종류와 기능을 설명할 수 있다 .

3. 표준 입출력함수를 이용하여 간단한 자기소개 프로그램을 작성할 수 있다 3. 표준 입출력함수를 이용하여 간단한 사칙계산 프로그램을 작성할 수 있다 .

(3)

2.1 한 문자 (character) 의 입력과 출력 2.2 한 행 문자열 (string) 의 입력과 출력 2.3 양식 (format) 에 의한 입력과 출력

(4)

#include <stdio.h> void comjung(); void main() { int nai; scanf(“%d”, &nai); printf(“ 나이는 %d 살이다 .\n”, nai); comjung(); } void comjung() { printf(“ 나는 홍길동이다 .\n”, nai); } 사용자정의 함수이며, 함수명을 comjung() 으로 지정하고 있다. 라이브러리 함수 scanf(),print f() 사용자정의 함수 comjung() 의 원형선언부 이다. 메인 함수이며, 메인 함수명은 main() 로 지정되어야만 한다. ◀파일명 : 샘플 .C▶

(5)

 메인 함수 (main function)

☞ 현재 프로그램된 C 프로그램 파일의 전체를 총괄 지휘하는 함수이다 . ☞ C 프로그램 안에 반드시 존재해야만 되는 함수이다 .

☞ 1 개의 C 프로그램 파일에 반드시 1 개만 존재해야 되는 함수이다 .

사용자정의 함수

(user defined function)

☞ 프로그램 작성자가 필요에 의해 임의로 작성한 함수이다 . ☞ 사용자정의 함수의 원형 (prototype) 을 선언해 주어야 하는 함수이다 . ☞ 필요에 따라 하나의 프로그램 안에 0 개 이상 정의하여 사용할 수 있다 .

라이브러리 함수

(library function)

☞ C 언어 컴파일러 자체에서 지원해 주는 함수이다 . ☞ 이 함수는 함수의 사용법에 따라 정의해야만 사용이 가능하다 . ☞ 이 함수를 프로그램에 사용할 때에는 반드시 함수의 본체가 프로그램

(6)

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

(7)

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

(8)

퀴즈 풀어보기

(9)

(1) getchar()

(2) putchar()

get character 의 약 put character 의 약

(10)

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

(1) getchar()

(2)

putchar()

(11)

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

(12)

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

(13)

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

(14)
(15)

(1) gets()

(2) puts()

get string 의 약자

(16)

(1) gets()

(2) puts()

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

(17)

#include <stdio.h> void main()

{

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

(18)

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

(19)

#include <stdio.h> void main() { char buffer[256]; gets( buffer ); puts( buffer ); } ◀2-7.C▶ gets(), puts() 함수를 사용한 예 실행결과 hong gil dong <Enter> hong gil dong

최대 256 개의 문자로 구성된 문자열을 기억할 수 있 는 buffer 변수를 선언하라 문장이다. 키보드에서 입력되는 데이터를 문자열로 입력 받아 buffer 변수에 기억시키라는 문장이다. buffer 변수에 기억된 값 ( 문자열 ) 문자열로 화면에 출력하라는 문장이다. ( 보충실습 ) 다시 한번 실행시켜 한글로 나는 홍길동이다 . <enter> 라고 입력시켜 보 라 .

(20)

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

(21)

(1) printf()

(2) scanf()

print format 의 약 Scan format 의 약

(22)

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

(23)

구분 사용형식 사용 예 사용법1  printf( 문자열변수 ); printf(name); 사용법2  printf(" 양 식 지 정 문 자 열 ", 변 수 ); printf(" 나 는 %d 살 이 다 .\n", age);

(1) printf()

지정된 양식에 따라 해당 변수의 데이터 값을 화면에 출력하는 함수이다 .

(24)

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

(25)

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

(26)

실행결과 나는 홍길동 이다 . #include <stdio.h> void main() { char name[20] = " 홍길동 "; printf(" 나는 %s 이다 . \n", name); } 이 문장은 문자열 변수 name 에 기억된 값 ( 홍길동 ) 을 %s 위치에 표시하여 화면에 출력하라는 문장이다 .

(27)

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

① printf() 에서 양식 지정 문자열 사용하기

(28)

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

(29)

[ 표 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 커서를 다음 줄의 첫 칸으로 이동 커서를 수평으로 탭만큼 이동 커서를 수직으로 탭만큼 이동 커서를 인쇄 반대방향으로 한 칸 이동 프린트 용지를 한 페이지 전진 커서를 그 줄의 첫 칸으로 이동 컴퓨터에 내장된 벨소리 출력 \ 기호 자체를 출력 ′ 기호 자체를 출력 ″ 기호 자체를 출력

② printf() 에서 제어문자 사용하기

(30)

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

(31)

③ printf() 에서 변환문자 사용하기

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

(32)

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

(33)

[표 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 자리로 하여 출력해 준다 . % 문자를 출력해 준다 .

(34)

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

실습문제

파일명 : COM.C

(35)

◀2-13.C▶ 정수형 변환문자 사용 예 실행결과 10 진 정수형으로 11 이다 . 8 진 정수형으로 13 이다 . 16 진 정수형으로 b 이다 . 16 진 정수형으로 B 이다 . #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); } ( 보충실습1) 이 문장에서 %d 를 % ㅇ 로 수정하여 실행시켜 보라 .

(36)

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

(37)

◀2-15.C▶ 정수 값에서 플래그를 지정한 경우 실행결과 10 진 정수형으로 11 이다 . 10 진 정수형으로 11 이다 . 10 진 정수형으로 000000000011 이다 .   10 진 정수형으로 11            이다 . #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); } ( 보충실습 1) 이 문장에서 %d 를 %15d 로 수정하여 실행시켜 보 라 .

(38)

실행결과 문자형으로 A 이다 . 10 진 정수형으로 65 이다 . #include <stdio.h> void main() { char b='A'; printf(" 문자형으로 %c 이다 . \n", b); printf("10 진 정수형으로 %d 이다 . \n", b); } ( 보충실습) 이 문장에서 %c 를 %d 로 수정하여 실행시켜 보라 .

(39)

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

(40)

실행결과 문자열형으로 computer 이다 . #include <stdio.h> void main() { char c[30]="computer"; printf(" 문자열형으로 %s 이다 . \n", c); }

(41)

◀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 로 수정하여 실행시켜 보 라 .

(42)

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

(43)

◀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 로 수정하여 실행시켜 보라 .

(44)

실행결과 실수형 (f) 으로 10.123000 이다 . 실수형 (f) 으로 10.123            이다 . 실수형 (f) 으로 00000000010.123 이다 . #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); } ( 보충실습1) 이 문장에서 %f 를 %-15.3f 로 수정하여 실행시켜 보 라 . ( 보충실습2) 이번에는 %015.3f 로 수정하여 실행시켜 보라 .

(45)

◀2-23.C▶ 여러 종류의 값을 출력하는 경우 실행결과 a: 11, b: A, c: computer, d: 12.345000 #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); }

(46)

퀴즈 풀어보기

교 제

46 쪽 ( 5

번 ~18

)

(47)

(2) scanf()

지정된 양식에 따라 키보드로부터 데이터를 입력시켜 주는 함수이다 . [ 사용 예 ] [ 사용형식 ] scanf( " 양식지정문자열 ", 포인터변수 ); scanf( "%d", &a ); 입력 받을 경우에는 변수명 앞에 & 기호를 붙여 포인터변수로 만들어 주어야 한다. 잠깐 !!!

(48)

scanf() 함수를 이용하여 단순히 정수 1 개 , 실수 1 개 , 문자 1

개의 값을 입력 받을 때에는 변수 앞에 & 기호를 붙여야 한다 . 그러나 여러 개의 문자로 결합된 문자열을 입력 받을 때에는 문자열변수 앞에 & 기호를 붙이지 않는다 .

(49)

◀2-24.C▶ 정수 값을 입력 받는 경우 실행결과 123 <Enter> 입력된 정수는 123 이다 .

#include <stdio.h>

void main()

{

int a;

scanf("%d",

&a

);

printf(" 입력된 정수 값은 %d 이다 . \n", a);

}

변수 a 는 정수변수이기 때문에 & 기호를 붙여야 한 다 . ( 보충실습) 이 문장에서 &a 를 & 기호를 없애고 그냥 a 로 수정하여 실행시켜 보라. 에러가 발생할 것이다.

(50)

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

(51)

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

(52)

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

(53)

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

① scanf() 에서의 양식 지정 문자열

(54)

② 공백문자 및 일반문자

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

(55)

◀2-28.C▶ 공백문자로 데이터항목을 구분하여 입력 받는 경우 실행결과 10 20 30 <Enter>           a=10, b=20, c=30 #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); }

키보드 입력에서 데이터와 데이터 값을 구분하여

입력할 수 있는 키 (key) 에는 기본적으로 다음의 3 가지 키가 있다 .

스페이스바(space bar) 키 탭 (tab) 키 엔터 (enter) 키

잠깐 !!!

변환문자와 변환문자 사이의 공백은

(56)

◀2-29.C▶ 컴머 (,) 로 데이터 항목을 구분시켜 입력 받을 경우 실행결과 10,20,30 <Enter> a=10, b=20, c=30 #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); } 변환문자와 변환문자 사이의 컴머(,) 문자는 컴머로 입력데이터 항을 구분시켜 입력되게 한다.

(57)

◀2-30.C▶ 일반문자로 데이터 항목을 구분시켜 입력 받을 경우 실행결과 10A20A30 <Enter> a=10, b=20, c=30   #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); }

이 A 문자는 A 문자로 입력데이터 항을 구분시켜

(58)

실행결과 10ABC20ABC30 <Enter> a=10, b=20, c=30 #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); }

이 ABC 문자열은

ABC 로 입력데이터 항을 구분시켜 입력되게 한다.

(59)

◀2-32.C▶ 입력된 숫자에서 원하는 자리 수만큼 끊어서 입력 받을 경우 실행결과 123456789 <Enter> a=12, b=345, c=67 #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); } 입력되는 정수 값에서 여기 지정된 숫자의 개수만큼씩 끊어 입력 받아 해당변수에 기억시킨다.

(60)

실행결과

ABCDEFGHIJKLMNOPQRSTUVWXYZ <Enter>

a=ABC, b=DEFGH, c=IJKLMNO

#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); } 입력되는 문자열에서 여기 지정된 숫자의 개수만큼씩 끊어 입력 받아 해당변수에 기억시킨다.

(61)

퀴즈 풀어보기

교제

55 쪽 ( 19

번 ~23

)

(62)
(63)

참조

관련 문서

Avi 마이크로소프트(Microsoft)사에서 만든 동영상 형식으로 윈도우 프로그램 표준 동영상 형식이다.. 원본에

– 주어진 함수를 다른 변수에 종속하는 새로운 함수로 만드 는 적분 형태의 변환 (예.. School of Mechanical Engineering

문자열 name과 같은 이름을 가진 인수 값을 배열 형태로 가져 옴 checkbox, multiple list 등에

„ 동일한 개념을 측정하려는 서로 다른 여러 문항들이 같은 내용 을 얼마나 유사하게 측정하고 있는가에 대한 지표.. „ 한 변수에 대한 측정도구가 여러 문항 점수의 합으로

두 개의 조건이 만족되는 초기상태서 시작하여 적어도 한 개의 조건이 위반될

잘못된 서식 문자, 변수의 개수, 변수의 자료형의 오류는 컴파일시 지적하지 않는다.. 서식과 변수의 자료형이 맞지 않으면 엉뚱한

그러므로 빨간색을 가진 모든 것은 세 개의 변을 갖 는다...

 종종 관리자나 의사결정권자는 두 변수들 사이의 관계를 이해 하는데 도움이 되는 표 형식과 도표 형식의 방법들을 필요로 한다.  지금까지 우리는 한 번에 하나의