C언어 ctype.h 문자 판별 함수

코딩C언어
읽는데 3분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-03
조회수: 12

요약

C언어 ctype.h 헤더의 문자 판별 함수 isupper, islower, isdigit의 사용법을 알아봅니다. 정보처리기사 실기에 출제되는 문자 변환 문제를 풀기 위한 핵심 개념을 정리합니다.

ctype.h 핵심 정리

함수설명참인 경우
isupper(c)대문자인지 판별'A' ~ 'Z'
islower(c)소문자인지 판별'a' ~ 'z'
isdigit(c)숫자 문자인지 판별'0' ~ '9'
isalpha(c)알파벳인지 판별'A' ~ 'Z', 'a' ~ 'z'

ctype.h란?

ctype.h는 문자의 종류를 판별하거나 변환하는 함수들을 제공하는 표준 라이브러리입니다.

c
코드 하이라이팅 중...

문자가 대문자인지, 소문자인지, 숫자인지 등을 쉽게 확인할 수 있습니다.


문자 판별 함수

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)공백


문자 변환 공식

시험에서는 ctype.h 함수와 함께 문자 변환 공식이 자주 출제됩니다. ASCII 코드에서 배운 문자 연산을 활용합니다.

알파벳 시프트 (시저 암호)

알파벳을 n칸 뒤로 이동시키는 공식입니다.

c
코드 하이라이팅 중...
단계설명예시 ('I', 5칸 이동)
c - 'A'0 ~ 25 범위로 변환'I' - 'A' = 8
+ 5n칸 이동8 + 5 = 13
% 2626 넘으면 순환13 % 26 = 13
+ 'A'다시 문자로 변환13 + 'A' = 'N'

'Z' 이후는 다시 'A'로 돌아갑니다. 이를 순환(Circular) 이라고 합니다.

숫자 시프트

숫자 문자를 n만큼 이동시키는 공식입니다.

c
코드 하이라이팅 중...
단계설명예시 ('8', 3 이동)
c - '0'0 ~ 9 범위로 변환'8' - '0' = 8
+ 33만큼 이동8 + 3 = 11
% 1010 넘으면 순환11 % 10 = 1
+ '0'다시 문자로 변환1 + '0' = '1'

실전 예제: 문자열 변환

c
코드 하이라이팅 중...

문자별 변환 과정

인덱스원본종류계산결과
0'I'대문자(8 + 5) % 26 = 13 → 'N''N'
1't'소문자(19 + 10) % 26 = 3 → 'd''d'
2' '기타그대로' '
3'i'소문자(8 + 10) % 26 = 18 → 's''s'
4's'소문자(18 + 10) % 26 = 2 → 'c''c'
5' '기타그대로' '
6'8'숫자(8 + 3) % 10 = 1 → '1''1'

출력: Nd sc 1


기타 유용한 함수

함수설명
isalpha(c)알파벳(대문자 또는 소문자)인지 판별
isalnum(c)알파벳 또는 숫자인지 판별
isspace(c)공백 문자인지 판별 (스페이스, 탭, 개행 등)
toupper(c)소문자를 대문자로 변환
tolower(c)대문자를 소문자로 변환
c
코드 하이라이팅 중...

정보처리기사 실기 대비 문제