C언어 ctype.h 문자 판별 함수
코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: 211
선수학습(2개)
요약
C언어 ctype.h 헤더의 문자 판별 함수 isupper, islower, isdigit, isalpha와 변환 함수 toupper, tolower의 사용법을 알아봅니다. 정보처리기사 실기에 출제되는 문자 판별·변환 함수의 핵심 개념을 정리합니다.
ctype.h 핵심 정리
아래에서 하나씩 배울 내용을 미리 정리한 표입니다.
| 함수 | 설명 | 예시 |
|---|---|---|
isupper(c) | 대문자인지 판별 | isupper('A') → 참 |
islower(c) | 소문자인지 판별 | islower('a') → 참 |
isdigit(c) | 숫자 문자인지 판별 | isdigit('3') → 참 |
isalpha(c) | 알파벳인지 판별 | isalpha('Z') → 참 |
toupper(c) | 소문자를 대문자로 변환 | toupper('a') → 'A' |
tolower(c) | 대문자를 소문자로 변환 | tolower('B') → 'b' |
ctype.h란? 쌩기초
문자열을 다루다 보면 문자 하나하나가 대문자인지, 소문자인지, 숫자인지 확인해야 할 때가 있습니다. ctype.h는 이런 문자 판별과 변환 기능을 제공하는 표준 라이브러리 헤더 파일입니다.
c
코드 하이라이팅 중...
ASCII 코드표에서 각 문자에 대응하는 숫자를 기반으로 동작합니다. 예를 들어 대문자 'A'는 65, 소문자 'a'는 97입니다.
문자 판별 함수 기초
문자 판별 함수는 조건문과 함께 사용하여 문자의 종류를 확인합니다. 판별 결과가 참이면 0이 아닌 값(보통 1 이상의 정수)을, 거짓이면 0을 반환합니다.
반환값은 1이 아니라 '0이 아닌 값'입니다
isupper('A')가 반드시 1을 반환하는 것은 아닙니다. 시험에서는 '참/거짓' 또는 '0이 아닌 값/0'으로 판단하세요.
isupper() - 대문자 판별
c
코드 하이라이팅 중...
| 입력 | 결과 | 이유 |
|---|---|---|
'A' | 참 (0 아님) | 대문자 |
'Z' | 참 (0 아님) | 대문자 |
'a' | 거짓 (0) | 소문자 |
'5' | 거짓 (0) | 숫자 |
islower() - 소문자 판별
c
코드 하이라이팅 중...
| 입력 | 결과 | 이유 |
|---|---|---|
'a' | 참 (0 아님) | 소문자 |
'z' | 참 (0 아님) | 소문자 |
'A' | 거짓 (0) | 대문자 |
' ' | 거짓 (0) | 공백 |
isdigit() - 숫자 문자 판별
c
코드 하이라이팅 중...
| 입력 | 결과 | 이유 |
|---|---|---|
'0' | 참 (0 아님) | 숫자 문자 |
'9' | 참 (0 아님) | 숫자 문자 |
'A' | 거짓 (0) | 알파벳 |
' ' | 거짓 (0) | 공백 |
isdigit()은 문자 '0' ~ '9'만 판별합니다
isdigit(5)는 거짓입니다. 정수 5가 아니라 문자 '5'(ASCII 코드 53)를 넣어야 참입니다. ASCII가 궁금하다면 선행학습 페이지를 참고하세요.
isalpha() - 알파벳 판별
c
코드 하이라이팅 중...
isupper(c) 또는 islower(c)가 참이면 isalpha(c)도 참입니다. 즉 대문자와 소문자를 모두 포함합니다.
isalnum()과 isspace()
isalnum()은 알파벳 또는 숫자인지, isspace()는 공백 문자인지 판별합니다.
c
코드 하이라이팅 중...
| 함수 | 참인 경우 |
|---|---|
isalnum(c) | 알파벳(A ~ Z, a ~ z) 또는 숫자 문자(0 ~ 9) |
isspace(c) | 스페이스(' '), 탭('\t'), 개행('\n') 등 |
문자 변환 함수 기초
toupper()는 소문자를 대문자로, tolower()는 대문자를 소문자로 변환합니다.
c
코드 하이라이팅 중...
이미 대문자인 문자에 toupper()를 쓰면?
toupper('A')는 그대로 'A'를 반환합니다. 숫자나 특수문자도 변환 없이 그대로 반환됩니다. tolower()도 마찬가지입니다.
문자열의 모든 문자를 대문자로 바꾸려면 반복문과 함께 사용합니다.
c
코드 하이라이팅 중...