C 언어

[c언어 강좌] 6. 입출력 함수

Let it out 2024. 10. 21. 23:28
반응형

- 입출력 함수란?

사용자와 프로그램 사이에서 데이터를 주고 받기위한 함수를 입출력 함수 또는 I/O(input/output) 함수 라고 한다.

- 입력 : 키보드, 마우스를 통해 데이터를 프로그램에게 전달.

- 출력 : 프로그램으로 부터 받은 데이터를 모니터 같은 출력장치로 출력해주기.

- printf() / scanf() 

printf() 와 scanf() 함수는 C언어에서 제공하는 표준 입출력 함수<stdio.h> 헤더파일에 정의되어 있다.

- printf() : 출력 함수

- scanf() : 입력 함수

함수 맨 뒷글자 f는 formatted의 약자로, 서식화된 입출력을 지원한다는 의미다.

 

출처 : https://sejong-kr.libguides.com/c.php?g=942233&p=6822320

- printf()

printf()는 출력 함수로 프로그램으로 부터 받은 데이터를 출력한다.

a = 5의 값을 printf() 함수로 출력하는 예제다.

%d서식 지정자라고 한다.

#include <stdio.h>

int main()
{
	int a = 5;
	printf("%d", a);
}

결과

5

 

 

여러 변수를 출력하고 싶으면 아래 예제처럼 하면 된다.

서식 지정자(%d) 를  , (반점)으로 구분해 주면된다.

#include <stdio.h>

int main()
{
	int a = 5;
	int b = 10;

	printf("%d %d" , a, b); //출력함수
}

 

결과

5 10

 

 

- printf() 함수에서 사용하는 서식 지정자

자료형에 따라 사용하는 서식 지정자가 정해져있다.

서식 지정자 자료형 출력형태
%d char, short, int 부호있는 정수
%ld long 부호있는 정수
%lld long long 부호있는 정수
%u unsigned int 부호없는 정수
%f float 부동소수점 실수
%lf double, long double 부동소수점 실수
%c char, short, int 값에 대응하는 문자
%s char*(문자열) 문자열
%p void(주소값 포인터 주소 값
%o unsigned int 8진 정수
%x, %X float, double 16진 정수

 

 

예를 들어 문자를 출력할 때는 %c를 사용하면 된다.

문자 선언은 ' ' (작은 따음표)로 감싸준다.

#include <stdio.h>

int main()
{
	char ch = 'a';

	printf("%c", ch); //출력함수
}

 

결과

a

 

- scanf()

scanf()는 사용자가 프로그램에게 데이터를 전달해주는 함수다.

함수 원형은 아래와 같다.

scanf("서식 지정자", &변수);

 

아래 예제는 scanf() 함수로 age(나이)를 입력받고
printf() 함수로 출력해주는 예제다.

입력을 할때는 콘솔 창에 입력 해주고 엔터 눌러 주면된다.

#include <stdio.h>

int main()
{
	int age;
	scanf("%d", &age); //입력 함수

	printf("%d", age); //출력함수
}

 

결과

5

 

 

여러 변수를 입력하고 싶을 때는 아래 예제처럼 작성 해주면 된다.

서식 지정자(%d) 를 스페이스바로 구분해 주면된다.

콘솔 창에 입력 할때는 15 입력하고 엔터, 140 입력하고 엔터 하는 방식을 사용한다.

#include <stdio.h>

int main()
{
	int age, height;
	scanf("%d %d", &age, &height); //입력 함수

	printf("%d %d", age, height); //출력함수
}

 

결과

15 140

 

- scanf() 함수에서 사용하는 서식 지정자

scanf() 함수도 자료형에 따라 서식 지정자를 사용한다.

서식 지정자 자료형 출력형태
%d char, short, int 부호있는 정수
%ld long 부호있는 정수
%lld long long 부호있는 정수
%u unsigned int 부호없는 정수
%f float 부동소수점 실수
%lf double, long double 부동소수점 실수
%c char, short, int 값에 대응하는 문자
%s char*(문자열) 문자열
%p void(주소값 포인터 주소 값
%o unsigned int 8진 정수
%x, %X float, double 16진 정수

 

 

반응형