Table
1. 표준 입출력(standard I/O)
C 프로그램이 사용자와 데이터를 주고받는 기본 통로
•
표준 입력(stdin) → 키보드 입력
•
표준 출력(stdout) → 콘솔(화면) 출력
구분 | 입력 함수 | 출력 함수 |
형식화 입출력 | scanf() | printf() |
문자 단위 입출력 | getchar() | putchar() |
문자열 단위 입출력 | gets() | puts() |
2. 형식화 출력 함수 — printf()
•
여러 종류 자료를 지정된 양식으로 콘솔 화면에 출력
형식
printf("출력양식", 수식1, 수식2, ...);
C
복사
•
출력양식: 출력 형태를 지정하는 문자열
•
%기호: 자료형에 맞는 변환 기호
주요 변환 기호
자료형 | 변환기호 | 설명 |
정수 | %d, %u, %o, %x, %X | 10진, 부호 없는 10진, 8진, 16진 출력 |
문자 | %c | 한 문자 출력 |
문자열 | %s | 널문자 ‘\0’로 끝나는 문자열 출력 |
실수 | %f, %e, %E, %g, %G | 실수형(고정/지수/간결형) 출력 |
•
변환기호 앞에 h 추가 - short int
•
l 추가: long
•
ll 추가: long long
•
예: %hd, %ld, %llx
정수형 변환기호 예시
형식 | 의미 | 예시 코드 | 출력 결과 |
%d | 10진 정수 출력 | printf("%d", 0x10); | 16 |
%x | 16진수 (소문자) | printf("%x", 125); | 7d |
%X | 16진수 (대문자) | printf("%X", 125); | 7D |
%o | 8진수 출력 | printf("%o", 125); | 175 |
문자 변환 기호 예시
형식 | 의미 | 예시 코드 | 출력 결과 |
%c | 문자 출력 | printf("%c", 'A'); | A |
%c | 16진수 문자 코드 | printf("%c", 0x42); | B |
%s | 문자열 출력 | printf("%s", "KNOU"); | KNOU |
%s | 널문자 전까지만 출력 | printf("%s", "ab\0cd"); | ab |
실수형 변환 기호 예시
형식 | 의미 | 출력 예시 | 비고 |
%f | 고정 소수점(소수점 6자리 기본) | 12.340000 | 일반 실수 출력 |
%f | 지수표현 입력값도 실수로 출력 | 3.140000 | 31.4e-1 = 3.14 |
%e | 지수표기(소문자 e) | 1.234568e+02 | 123.45678 = 1.234568×10² |
%E | 지수표기(대문자 E) | 1.234568E-05 | 대문자 표기 |
%g | 자동형식 (값 크기에 따라 %f 또는 %e) | 123.457 | 실수형 그대로 |
%g | 작은 값은 자동 지수형 출력 | 1.23457e-05 | 자동으로 지수 표기 |
출력 형식 편집 (플래그 + 자릿수)
•
- : 좌측 정렬
•
+ : 부호 출력
•
' ' : 부호 자리 확보
•
0 : 빈 자리 ‘0’으로 채움
•
폭 지정: %5d → 최소 5자리 확보
•
소수점 지정: %.2f → 소수점 아래 2자리
정수형 예시
실수형 예시
3. 형식화 입력 함수 — scanf()
형식
scanf("입력양식", &변수1, &변수2, ...);
C
복사
•
%기호: 입력할 자료형 지정
•
주소 연산자 & 사용 (문자열 제외)
주요 변환 기호
자료형 | 변환기호 | 설명 |
정수 | %d, %i, %u, %o, %x | 10진, 정수, 부호 없는 10진, 8진(012), 16진(0x41) 입력 |
문자 | %c | 문자 1개 입력 |
문자열 | %s | 공백 전까지 문자열 입력 |
실수 | %f, %lf | float, double 입력 |
정수 입력 예시
형식 | 의미 | 예시 입력 | 출력 결과 |
%d | 10진 정수 | 10 | 10 |
%hi | short형 입력 | 0x20 | 32 |
%llx | long long 16진수 입력 | 30 | 48 |
실수 입력 예시
형식 | 의미 | 예시 입력 | 출력 결과 |
%f | float형 입력 | 1.23 | 1.230000 |
%lf | double형 입력 | 45.9e-4 | 4.590000e-03 |
문자 입력 예시
형식 | 의미 | 예시 입력 | 출력 결과 | 비고 |
%c | 문자 1개 입력 | A | A | 공백도 입력됨 |
%s | 문자열 입력 (공백 전까지) | Computer Science | Computer | 공백에서 끊김 |
4. 기타 입출력 함수
함수 | 구분 | 설명 |
getchar() | 문자 입력 | 표준 입력(stdin)에서 문자 1개 읽음 |
putchar() | 문자 출력 | 문자 1개 출력 |
gets() | 문자열 입력 | 한 줄 전체 입력 (공백 포함), '\0' 자동 추가 |
puts() | 문자열 출력 | 문자열 출력 후 자동 줄바꿈 |

