260 likes | 562 Views
Chapter3. 표준 입출력. 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력과 문자열 입출력. C 프로그래밍에서 자주 사용되는 표준 입출력 함수를 알아본다 . 탈출기법으로 특수문자를 출력하는 방법을 알아본다 . 문자와 문자열의 차이와 각각의 입출력 함수에 대해 알아본다. 1. 표준 입출력 함수의 종류. 프로그래밍 사용자가 어떤 값을 컴퓨터에 넣고 ( 입력 ) 처리한 결과를 사용자에게 다시 제공하는 것 ( 출력 ) 입출력 함수
E N D
표준 입출력 함수의 종류 형식화된 입출력 문자 입출력과 문자열 입출력
C 프로그래밍에서자주 사용되는 표준 입출력 함수를 알아본다. 탈출기법으로 특수문자를 출력하는 방법을 알아본다. 문자와 문자열의 차이와 각각의 입출력 함수에 대해 알아본다.
1. 표준 입출력 함수의 종류 • 프로그래밍 • 사용자가 어떤 값을 컴퓨터에 넣고(입력) 처리한 결과를 사용자에게 다시 제공하는 것(출력) • 입출력 함수 • 표준 입출력 함수: 키보드와 모니터를 통해 자료를 입출력하는 함수 • 파일 입출력 함수: 특정한 파일을 통해 자료를 입출력하는 함수 • 저급 입출력 함수: 운영체제 내, 시스템 호출을 통해 자료를 입출력하는 함수
1. 표준 입출력 함수의 종류 • 표준 입출력 함수
2.1 printf( ) 함수 • printf( ) 함수 • 표준 출력 장치인 모니터로 자료를 출력하는 함수 • 도스창에 실행결과를 표시할 때 사용함 • 기본 형식
2.1 printf( ) 함수 • 제어 문자열 • 아래와 같은 변환기호(명세)를 추가하여, 이에 대응하는 값을 해당 형식에 맞게 출력 가능함
2.1 printf( ) 함수 • 예제 3-1) “안녕하세요!”를 출력하는 예제 01 02 03 04 0506 #include <stdio.h> int main(void) { printf(“안녕하세요!”); return 0; }
2.1 printf( ) 함수 • 예제 3-2) 이름과 나이를 출력하는 예제 01 02 03 04 05 06 07 #include <stdio.h> int main(void) { int age = 20; printf(“제 이름은 김경영이고 나이는 %d입니다.\n”, age); return 0; }
2.1 printf( ) 함수 • int • C 언어에서 변수를 선언할 때 사용하는 키워드 • 램에 정수형 변수를 저장하기 위한 메모리를 만들라는 명령 • age • int 형으로 만들어진 변수명 • 실제로 정수값이 저장되는 곳의 이름이고 식별자에 해당함 • printf(“ ... %d ...”, age); • 변환기호 %d의 출력형식에 맞춰 age의 값이 출력 • 변환기호 %d와 변수 age는 서로 연결됨
2.1 printf( ) 함수 • 변환기호가 여러 개 있을 때 • 순서대로 변환기호와 변수 또는 표현식 연결
2.1 printf( ) 함수 • 예제 3-3) 8진수, 10진수, 16진수, 문자 출력 예제 #include <stdio.h> int main(void) { int Number = 65; printf(“65를 8진수로 변환 : %o\n”, Number); printf(“65를 10진수로 변환 : %d\n”, Number); printf(“65를 16진수로 변환 : %x\n”, Number); printf(“65를 문자형으로 변환 : %c\n”, Number); return 0; } 01 02 03 04 05 06 07 08 09 10 11 12
2.2 scanf( ) 함수 • scanf( ) 함수 • 표준 입력 장치인 키보드를 통해 자료를 읽음 • 기본 형태 • 변환기호: “ ” 안에 포함되는 내용이 어떤 자료 형식으로 변수에 입력되는지 결정 • 변수 앞에 변수의 주소를 의미하는 기호인 &를 반드시 넣어야 함
2.2 scanf( ) 함수 • 예제 3-4) 나이를 입력받아 출력하는 예제 01 02 03 04 05 06 07 08 09 10 11 12 #include <stdio.h> int main(void) { int age = 0; printf(“당신의 나이를 입력하세요.\n”); scanf(“%d”, &age); printf(“당신의 나이는 %d입니다.\n”, age); return 0; }
2.2 scanf( ) 함수 • 예제 3-5) 나이와 출생연도를 입력받아 출력하는 예제 01 02 03 04 05 06 07 08 09 10 11 12 #include <stdio.h> int main(void) { int age = 0, birthyear = 0; printf(“당신의 나이와 출생연도를 입력하세요.\n”); scanf(“%d %d”, &age, &birthyear); printf(“당신은 %d년에 출생한 %d세입니다.\n”, birthyear, age); return 0; }
2.2 scanf( ) 함수 • 혼자해보기 3-1) 다음 프로그램의 결과를 예측한 후 직접 실행해 결과를 확인해보자. • 힌트 :char는 C 언어에서 변수를 선언할 때 사용하는 키워드로 램에 문자형 변수(1바이트)를 저장하기 위한 메모리를 만든다. 그리고 ‘A’에서 ‘ ’는 한 문자를 표시할 때 사용하는 기호다. 01 02 03 04 05 06 07 08 #include <stdio.h> int main(void) { char grade = ‘A’; printf(“당신의 수학 성적은 %c등급입니다.\n”, grade); return 0; }
2.3 탈출 기법 • 탈출기법 • 표현방법이 마땅히 없거나 특수문자 등을 입력하는 방법 • 아래 표의 프로그램 표현에 나와있는 내용을 printf( ) 함수와 같이 사용함
2.3 탈출 기법 • 탈출 기법을 이용한 출력 표현 • “ “ 출력 : • % 출력 :
2.3 탈출 기법 • 예제 3-6) 탈출기법을 이용한 예제 01 02 03 04 05 06 07 08 09 10 11 12 13 14 #include <stdio.h> int main(void) { printf(“\t\”안녕하세요\”\n\n”); printf(“탈출기법을 제대로 사용한 예\n”); printf(“\t10 %% 5 = 0\n\n”); printf(“탈출기법을 제대로 사용하지 않은 예\n”); printf(“\t10 % 5 = 0\n”); return 0; }
2.3 탈출 기법 • 예제 3-7) 다양한 탈출기법을 이용한 예제 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 #include <stdio.h> int main(void) { printf(“\t\’프로그램의 시작 \’ \n\n”); printf(“\t\”C 언어 %c \” \n\n”, ‘!’); printf(“\t\”시작이 반이다 %s \”\n”, “!!”); printf(“\t\a\a\a\a\a\n”); printf(“\t\\ \\ \n”); return 0; }
3.1 문자 입출력 • 문자 입출력 함수 • 문자 1개를 키보드로 입력받아 출력하는 함수 • getchar( ) 함수: 문자 입력 함수 • putchar( ) 함수: 문자 출력 함수
3.1 문자 입출력 • 예제 3-8) 문자 1개를 입력받아 출력하는 예제 01 02 03 04 05 06 07 08 09 10 11 12 13 14 #include <stdio.h> int main(void) { char Letter_In; printf(“문자 1개를 입력하세요.\n”); Letter_In = getchar(); putchar(Letter_In); printf(“\n”); return 0; }
3.1 문자 입출력 • 혼자해보기 3-2) 다음 코드를 실행할 때 발생하는 오류를 수정하시오. 01 02 03 04 05 06 07 08 09 10 11 12 13 #include <stdio.h> int main(void) { char grade; printf(“성적 등급을 입력하시오\n”); getchar(grade); printf(“당신의 성적 : ”); putchar(); printf(“\n”); return 0; }
3.2 문자열 입출력 • 문자열 입출력 함수 • 문자 여러 개를 한번에 입력받고 출력하는 함수 • gets( ) 함수 : 공백 문자를 포함한 문자열을 입력할 때 사용 • puts( ) 함수 : 표준출력 장치로 주어진 문자열을 출력할 때 사용
3.2 문자열 입출력 • 예제 3-9) 이름을 문자열로 입력받아 출력하는 예제 01 02 03 04 05 06 07 08 09 10 11 12 13 #include <stdio.h> int main(void) { char Name[20]; printf(“당신의 이름을 입력하세요 : ”); gets(Name); puts(Name); return 0; }