stdio.h
(Standard Input Output Header)는 C 언어에서 표준 입출력 기능을 제공하는 헤더 파일입니다. 이 헤더에는 파일 입출력 및 콘솔 입출력을 수행할 수 있는 다양한 함수들이 포함되어 있습니다. 오늘은 stdio.h
의 개요와 기본적인 콘솔 입출력 함수인 printf
와 scanf
에 대해 살펴보겠습니다.
1. stdio.h
개요
C 언어에서 표준 입출력 기능을 수행하기 위해 <stdio.h>
헤더 파일을 포함해야 합니다. 이 헤더는 표준 입력(stdin), 표준 출력(stdout), 표준 오류(stderr)과 관련된 여러 함수를 제공합니다.
주요 기능:
- 콘솔 출력:
printf
,puts
,putchar
등 - 콘솔 입력:
scanf
,gets
,getchar
등 - 파일 입출력:
fopen
,fclose
,fread
,fwrite
등
2. printf
함수 (출력)
2.1 printf
개요
printf
함수는 콘솔 화면에 데이터를 출력할 때 사용됩니다. 다양한 서식 지정자를 지원하여 문자열, 정수, 실수 등 다양한 타입의 데이터를 출력할 수 있습니다.
2.2 printf
함수의 기본 사용법
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
위 코드를 실행하면 콘솔에 Hello, World!
가 출력됩니다.
2.3 printf
서식 지정자
printf
함수에서는 서식 지정자를 사용하여 다양한 타입의 데이터를 출력할 수 있습니다.
서식 지정자 | 데이터 타입 |
---|---|
%d |
정수 (int) |
%f |
실수 (float, double) |
%c |
문자 (char) |
%s |
문자열 (char 배열) |
%x |
16진수 정수 |
%o |
8진수 정수 |
%p |
포인터 주소 |
2.4 printf
예제
#include <stdio.h>
int main() {
int age = 30;
float height = 175.5;
char initial = 'A';
char name[] = "홍길동";
printf("나이: %d\n", age);
printf("키: %.1f cm\n", height);
printf("이니셜: %c\n", initial);
printf("이름: %s\n", name);
return 0;
}
출력:
나이: 30
키: 175.5 cm
이니셜: A
이름: 홍길동
3. scanf
함수 (입력)
3.1 scanf
개요
scanf
함수는 키보드로부터 입력을 받을 때 사용됩니다. printf
와 유사하게 서식 지정자를 이용하여 다양한 데이터를 입력받을 수 있습니다.
3.2 scanf
기본 사용법
#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age);
printf("입력한 나이: %d\n", age);
return 0;
}
3.3 scanf
사용 시 주의사항
- 변수의 주소를
&
연산자를 사용하여 전달해야 합니다. (단,char
배열은 예외) - 공백, 개행 문자가 입력값에 영향을 줄 수 있습니다.
- 여러 개의 입력을 받을 때 공백이나 개행이 구분자로 사용됩니다.
3.4 scanf
예제
#include <stdio.h>
int main() {
int age;
float height;
char name[30];
printf("이름을 입력하세요: ");
scanf("%s", name);
printf("나이를 입력하세요: ");
scanf("%d", &age);
printf("키를 입력하세요: ");
scanf("%f", &height);
printf("이름: %s, 나이: %d, 키: %.1f cm\n", name, age, height);
return 0;
}
출력 예:
이름을 입력하세요: 홍길동
나이를 입력하세요: 25
키를 입력하세요: 172.5
이름: 홍길동, 나이: 25, 키: 172.5 cm
4. printf
와 scanf
활용 예제
다음은 printf
와 scanf
를 활용하여 간단한 계산기를 구현하는 예제입니다.
#include <stdio.h>
int main() {
int num1, num2;
char operator;
printf("연산을 입력하세요 (예: 3 + 5): ");
scanf("%d %c %d", &num1, &operator, &num2);
if (operator == '+') {
printf("결과: %d\n", num1 + num2);
} else if (operator == '-') {
printf("결과: %d\n", num1 - num2);
} else if (operator == '*') {
printf("결과: %d\n", num1 * num2);
} else if (operator == '/') {
if (num2 != 0)
printf("결과: %.2f\n", (float)num1 / num2);
else
printf("0으로 나눌 수 없습니다.\n");
} else {
printf("잘못된 연산자입니다.\n");
}
return 0;
}
출력 예:
연산을 입력하세요 (예: 3 + 5): 3 + 5
결과: 8
5. 결론
stdio.h
는 C 언어에서 표준 입출력을 담당하는 핵심적인 헤더 파일입니다. 특히 printf
와 scanf
는 기본적인 입출력 기능을 수행하는 가장 중요한 함수입니다. 오늘 배운 내용을 바탕으로 다양한 입력과 출력을 직접 시도해 보세요!
'c 언어 > c 표준 라이브러리(Standard C Library)' 카테고리의 다른 글
C 언어 표준 입출력 - `fputs`와 `fgets` 사용법 (0) | 2025.02.04 |
---|---|
C 표준 입출력 - `puts`와 `gets` (0) | 2025.02.03 |
C 언어 표준 라이브러리 개요 (0) | 2025.02.02 |