자격증/정보처리필기

[정보처리산업기사] 45강 데이터 입/출력

동호다찌 2022. 3. 31. 20:05
반응형

1. c언어의 표준 입/출력 함수의 개요

  • scanf()
  • getchar()
  • gets()
  • printf()
  • putchar()
  • puts()

2. scanf() 함수

키보드로 입력받아 변수에 저장하는 함수

  • 입력받을 데이터의 자료형, 자릿수를 지정
  • 한 번에 여러개의 데이터를 입력 받을 수 있다.
  • 서식 문자열과 변수의 자료형은 일치

scanf(서식 문자열, 변수의 주소)

  • 예) scanf("%3d", &a)
    • % : 서식 문자임을 지정
    • 3 : 입력 자리수를 3자리로 지정
    • d : 10진수로 입력
    • &a : 입력받은 데이터를 변수 a의 저장
  • 서식문자열
    • %d : 정수형 10진수
    • %j : 부호없는 정수형 10진수
    • %o : 정수형 8진수
    • %x : 정수형 16진수
    • %c : 문자
    • %s : 문자열
    • %f : 소수점을 포함하는 실수
    • %e : 지수형 실수
    • %ld : long형 10진수
    • %lo : long형 8진수
    • %lx : long형 16진수
    • %p : 주소를 16진수

3. printf()함수

사용자가 프로그램과 대화하기 위해 사용하는 함수를 입출력 함수 또는 I/O 함수라고 합니다.

printf() 함수와 scanf() 함수는 C언어 표준 입출력 함수 중에서도 가장 많이 사용되는 대표적인 입출력 함수입니다.

printf(서식문자열, 변수)

  • printf('%-8.2f',200.2)
  • % : 서식 문자임을 지정
  • - : 왼쪽부터 출력
  • 8 : 출력 자릿수를 8자리로 지정
  • 2 : 소수점 이하를 2자리로 지정
  • f : 실수로 지정
  • printf 는 특수 문자 출력이 가능하다.
    • \a : alert 경고음(비프음) 소리
    • \b : 백스페이스 backspace
    • \f : 폼 피드 form feed
    • \n : 개행 new line
    • \r : 캐리지 리턴 carriage return 줄의 맨 처음으로 이동
    • \t : 수평탭 tab 만큼 이동
    • \v : 수직탭
    • \\ : 백슬래시
    • \' : 작은 따옴표
    • \" : 큰따옴표

4. 기타 표준 입 출력 함수

입력

  • getchar() : 키보드로 한 문자를 입력받아 변수에 저장하는 함수
  • gets() : 키보드로 문자열을 입력받아 변수에 저장하는 함수, 엔터키를 누르기 전까지 하나의 문자열로 인식하여 저장

출력

  • putchar() : 인수로 주어진 한 문자를 화면에 출력하는 함수
  • puts() : 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수

5. 파일 입/출력 함수

파일 출력 함수

fputc 함수 (file put char)

  • 호출방법 : fputc(출력할문자,파일포인터);
  • 현재 파일포인터의 위치에 문자를 하나 출력한다.
  • 'abcdef' 이런식으로 문자에 문자열을 작성하면 마지막 글자인 f만 출력된다.
  • 그리고 출력한 문자가 무엇인지 아스키코드에 대응되는 int형으로 반환된다.

fputs 함수 (file put string)

  • 호출방법 : fputs(출력할문자열,파일포인터);
  • 현재 파일포인터의 위치에 문자열을 출력해준다.
  • 문자열 내에 개행이나 탭같은 이스케이프시퀀스도 다 적용이 된다.

fprintf 함수

  • 호출방법 : fprintf(파일포인터,출력할문자열,...);
  • 현재 파일포인터의 위치에 서식문자를 사용해 문자열을 출력할수 있게 해준다.
  • 이스케이프시퀀스는 물론 서식문자도 사용할수 있다.
  • 그리고 출력한 문자열의 길이를 반환한다.

파일 입력 함수

fgetc 함수 (file get char)

  • 호출방법 : fgetc(파일포인터);
  • 현재 파일포인터의 위치에서 문자 하나를 읽어온다..
  • int형으로 읽어온 문자를 반환한다.
  • 다른 함수들처럼 매개변수로 읽어온 내용을 저장할변수를 받지 않으므로, 읽어온 문자를 저장하려면 대입연산자를 사용해 변수에 대입해야한다..

fgets 함수 (file get string)

  • 호출방법 : fgets(읽어온내용을 저장할 문자배열,파일포인터);
  • 현재 파일포인터의 위치에서 개행문자를 만날때까지 읽어오는데 쉽게 말해 개행문자를 포함해 한줄을 읽어온다고 생각하면 된다.

fscanf 함수

  • 호출방법 : fscanf(파일포인터,서식문자열,저장할변수의주소...);
  • 현재 파일포인터의 위치부터 정보를 읽어오며 스페이스바(공백)이나 개행문자를 만나면 그 앞에까지만 읽어온다.
  • scanf함수와 마찬가지로 읽어온 내용을 저장할 변수를 넘겨줄때에는 주소로 넘겨줘야하므로 배열이 아닐경우 주소연산자 &을 붙여야한다.
반응형