C언어에서 표준 입출력 함수는 프로그램이 사용자와 데이터를 주고받을 수 있도록 하는 함수들입니다.
주로 아래와 같이 나눌수 있습니다.
1. printf() 함수
printf()는 다양한 데이터 형식을 지원할수 있으며 출력하려는 값에 맞는 형식 지정자를 사용해야 합니다.
형식지정자:
%d: 정수
%f: 실수
%c: 문자
%s: 문자열
예제:
#include <stdio.h>
int main() {
int num = 10;
float f = 3.14;
char ch = 'A';
char str[] = "Hello, World!";
printf("정수: %d\n", num);
printf("실수: %.2f\n", f);
printf("문자: %c\n", ch);
printf("문자열: %s\n", str);
return 0;
}
출력:
정수: 10
실수: 3.14
문자: A
문자열: Hello, World!
2. scanf() 함수
scanf()는 사용자로부터 입력을 받는 함수입니다. printf()와 비슷하게 형식 지정자를 사용하며 입력받은 값을 변수에 저장합니다. printf()와는 조금 다르게 변수 앞에 주소 연산자 &를 붙여야 합니다.
형식지정자:
%d: 정수
%f: 실수
%c: 문자
%s: 문자열 (문자열의 경우 주소 연산자를 생략)
예제:
#include <stdio.h>
int main() {
int num;
float f;
char ch;
char str[50];
printf("정수를 입력하세요: ");
scanf("%d", &num);
printf("실수를 입력하세요: ");
scanf("%f", &f);
printf("문자를 입력하세요: ");
scanf(" %c", &ch);
printf("문자열을 입력하세요: ");
scanf("%s", str);
printf("입력한 정수: %d\n", num);
printf("입력한 실수: %.2f\n", f);
printf("입력한 문자: %c\n", ch);
printf("입력한 문자열: %s\n", str);
return 0;
}
입력/출력:
정수를 입력하세요: 42
실수를 입력하세요: 3.14
문자를 입력하세요: A
문자열을 입력하세요: Hello
입력한 정수: 42
입력한 실수: 3.14
입력한 문자: A
입력한 문자열: Hello
3. getchar()와 putchar() 함수
getchar()는 한 문자를 입력받는 함수입니다.
putchar()는 한 문자를 출력하는 함수입니다.
예제:
#include <stdio.h>
int main() {
char ch;
printf("문자를 입력하세요: ");
ch = getchar();
printf("입력한 문자는: ");
putchar(ch);
printf("\n");
return 0;
}
입출력:
문자를 입력하세요: B
입력한 문자는: B
4. gets()와 puts() 함수
gets()는 문자열을 입력받는 함수지만 버퍼 오버플로우 문제로 사용이 비추천됩니다. 대신 fgets()를 사용하는 것이 더 좋습니다.
puts()는 문자열을 출력하는 함수입니다.
예제:
#include <stdio.h>
int main() {
char str[100];
printf("문자열을 입력하세요: ");
gets(str);
printf("입력한 문자열: ");
puts(str);
return 0;
}
5. fgets()와 fputs() 함수
fgets()는 문자열을 입력받을 때 버퍼 크기를 지정할 수 있어 안전합니다.
fputs()는 문자열을 출력하는 함수입니다.
예제:
#include <stdio.h>
int main() {
char str[100];
printf("문자열을 입력하세요: ");
fgets(str, sizeof(str), stdin);
printf("입력한 문자열: ");
fputs(str, stdout);
return 0;
}
C언어의 표준입출력 함수는 데이터를 콘솔에서 주고받는 중요한 함수로 주로 printf()와 scanf()를 사용하며 문자의 입출력에는 getchar()와 putchar()를 사용합니다. 마지막으로 문자열의 경우 fgets()와 fputs()를 사용하는 것이 좋습니다.