본문 바로가기
  • Always Awake
프로그래밍,Tools/C,C++

[C언어] C언어의 데이터 표준 입/출력 함수 사용법

by NerdyBoy 2022. 2. 21.

여러 프로그래밍 언어를 접하다 보면 기본적인 입출력 함수도 잊을 때가 있다.

c언어는 특히 함수에 형식이 많기 때문에, 한번 제대로 익히는게 좋을것 같아 정리하게됐다.

 


 

표준 입출력 함수(Input - Output Functions)란 키보드로 입력받아 화면으로 출력할 때 사용하는 함수로, 대표적으로 scanf(), getchar(), gets(), printf(), putchar(), puts() 등이 있다.

 

 

1. scanf() 함수


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

 

형식

scanf(서식 문자열, 변수의 주소) 서식 문자열 : 입력받을 데이터의 자료형을 저장한다.
변수의 주소 : 데이터를 입력받을 변수를 적는다. 변수의 주소로 입력 받아야 하기 때문에 변수에 주소연산자 &를 붙인다.

예) scanf("%3d", &a);

  • % : 서식 문자 지정
  • 3 : 입력 자리수를 3자리로 지정
  • d : 10진수로 입력
  • &a : 입력 데이터를 변수 a 의 주소에 저장

위 함수에 10진수의 어떤 숫자를 입력하면 3자리 까지만 변수에 저장 되는 것

 

서식 문자열

서식 문자열 의미
%d 정수형 10진수
%u 부호없는 정수형 10진수 (unsigned)
%o 정수형 8진수
%x 정수형 16진수
%c 문자
%s 문자열
%f 소수점 포함하는 실수
%e 지수형 실수
%ld long형 10진수
%lo long형 8진수
%lx long형 16진수
%p 주소를 16진수로 입출력

 

 

 

2. printf() 함수


인수로 주어진 값을 화면에 출력하는 함수

 

형식

printf(서식 문자열, 변수) 서식 문자열 : 변수의 자료형에 맞는 서식 문자열을 입력한다
변수 : 서식 문자열의 순서에 맞게 출력할 변수를 적는다 &를 붙이지 않는다.

 

예) printf("%-8.2f", 200.2);

 

출력 : 200.20

  • % : 서식 문자 지정
  • - : 왼쪽 부터 출력
  • 8 : 출력 자릿수를 8자리로 고정
  • 2 : 소수점 이하를 2자리로 고정
  • f : 실수로 출력

소수점 이하를 2자리로 고정했기 때문에 뒤에 0이 추가로 붙게된다. 또 - 를 오른쪽에 붙이면 오른쪽 부터 출력하게 된다.

 

주요 제어문자

문자 의미 기능
\n new line 커서를 다음 줄 앞으로 이동한다.
\b backspace 커서를 왼쪽으로 한 칸 이동한다.
\t tab 커서를 일정 간격 띄운다.
\r carriage return 커서를 현재 줄의 처음으로 이동한다.
\0 null 널 문자를 출력
\' single quote 작은 따옴표 출력
\" double quote 큰 따옴표 출력
\a alert 스피커로 벨 소리를 출력한다.
\\ backslash 역 슬래시를 출력한다.
\f form feed 한 페이지를 넘긴다.

 

제어 문자는 함수의 '서식 문자열' 파라미터 란 안에 사용하면 되며, 다음의 예시를 참고 하면된다.

 

예) printf("%d \n",a); 

  • 변수 a의 값을 정수형 10진수로 출력한 후 다음줄로 이동한다.

 

prinf 함수 실행 예제

결과

 

출력 데이터가 여러 개인 경우

만약 출력 데이터가 여러 개인 경우에는 어떻게 해야 할까.

먼저 함수의 '서식 문자열' 란에 출력할 변수 데이터 형식에 맞춰 서식 문자열을 작성해주고, 

변수란에 순서대로 변수를 입력해준다.

다음의 예는 250을 10진수와 8진수로 각각 출력하는 예제이다.

 

예제

결과

콤마를 통해 여러 변수를 출력해줄 수 있고, 서식 문자열에 따라 다른 값이 나오게할 수 도있다.

 

 

 

3. 기타 표준 입/출력 함수


입력 getchar() 키보드로 한 문자를 입력받아 변수에 저장하는 함수
gets() 키보드로 문자열을 입력받아 변수에 저장하는 함수로, ↩️(엔터) 를 누르기 전까지를 하나의 문자열로 인식하여 저장
출력 putchar() 인수로 주어진 한 문자를 화면에 출력하는 함수
puts() 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수

 

예) GET CHAR 을 각각 a와 b에 입력했 을 때, 다음의 예를 보자.

① a = getchar();
② putchar(a)

③ gets(b);
④ puts(b)

 

① 입력한 데이터 중 한 문자가 a 에 저장되므로, a에는 'G' 가 저장된다.

② 저장된 문자를 출력하므로 G 가 출력된다.

③ 입력한 문자열 전체를 저장하므로, b에는 "GET CHAR" 가 저장된다.

④ 저장된 문자열 전체를 출력하므로, GET CHAR 가 출력 값이 된다

 

 


 

C언어에는 간단한 입출력함수도 왜이렇게 형식이 많은지 모르겠다.

하지만 하나하나 찾아보는것도 귀찮다!

 

 

출처

자료 참고: 

이글은 시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다

표지

 

댓글