CS/C

[2021W C프로그래밍과 실습] 콘솔입출력

아이스얼그레이 2022. 2. 9. 22:13

콘솔 입출력

· 콘솔 입출력

- 키보드나 터미널 장치를 대상으로 입력, 출력하는 것

- 표준 스트림을 사용하여 제어한다. OS를 통해 생성, 관리

· 표준 입출력 스트림은 <stdio.h> 파일에 정의된다.

· 표준 입출력 라이브러리 함수를 제공한다.

· 표준 입출력 함수는 <stdio.h>에 함수의 원형이 정의되어 있다.

printf(); // 형식화된 출력 scanf(); // 형식화된 입력 putchar(); // 한 문자 출력 getchar(); // 한 문자 입력 // 1byte 문자를 처리하는 함수이다. puts(); // 문자열 입력 gets(); // 문자열 출력 // string의 입출력을 처리하는 함수이다.

표준 라이브러리 함수

· C언어에서 C컴파일러와 함께 기본적으로 제공하는 함수

· 라이브러리 함수 : printf(), scanf(), sqrt(), strcpy() (string 복사 함수)

표준 출력 함수

· 표준 출력장치(모니터)에 문자나 변수의 값을 출력하는 함수

· putchar() 함수

- 한 문자를 표준 출력 장치인 터미널에 출력한다.

- ASCII code값을 이용해서 출력한다. 함수의 parameter는 문자를 직접 쓰거나, 문자를 가지고있는 변수명을 쓴다.

· puts() 함수

- 문자열를 표준 출력 장치인 터미널에 출력한다.

· printf() 함수

- 다양한 형식 지정자를 통해 여러 종류의 데이터를 출력

- 자주 쓰이는 형식 지정자는 %c, %d, %f, %lf, %s 등등.. 지엽적인것 출제될 수도 있으니까 다 외우자!!

· 백슬래시(\) 문자 상수

- \n. \t. \0 는 외우고 가자!

표준 입력 함수

· 표준 입력장치(키보드)에서 문자, 정수, 실수, 문자열을 입력하여 변수에 저장하는 함수

· getchar() 함수

- 한 문자를 표준 입력 장치인 키보드에서 입력

ch = getchar(); // 1byte 문자를 키보드로 부터 받아서 ch에 저장한다.

· gets() 함수

- 문자열을 표준 입력 장치인 키보드에서 입력

int name[20]; gets(names); // 키보드로부터 문자열 입력하여 name배열에 저장

· scanf() 함수

- 입력버퍼(키보드)로부터 입력된 값을 읽어 와서 형석 지정자로 지정된 코드에 맞게 변환하여 변수에 저장하는 함수

int count; scanf("%d", &count); // 반드시 count 앞에 주소연산자를 입력해야한다.

여기서도 %c, %d, %f, %lf 를 주로 쓴다. 그래도 다 외워버리자

scanf는 정말 자주 쓰이니까 숙지하자!!

· 라인버퍼 입력함수

- 데이터 입력시 데이터를 입력하고 Enter를 쳐야만 입력 함수가 값을 읽어간다.

- Enter도 하나의 문자로 입력 버퍼에 입력된 값과 함께 저장된다.

→ 이를 해결하려면 <Enter>값을 입력버퍼에서 비워야 한다.

1. "%*c" 형식 지정자를 이용해 현재 입력버퍼의 한 문자 제거

2. 반복문을 이용해 입력버퍼에 남겨진 모든 값을 제거 → while(getchar() != '\n');

→ 이 방법이 가장 선호된다. 이 반복문의 의미는 아직 이해를 못했다.. 도와줘요 문쌤!!