C언어 ASCII 코드 - 문자와 숫자의 관계
코딩C언어
읽는데 3분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-03
조회수: 41
요약
C언어에서 문자가 숫자로 저장되는 ASCII 코드의 개념을 알아봅니다. 문자 연산, 대소문자 변환, 문자 비교 등 정보처리기사 실기에 출제되는 ASCII 활용법을 정리합니다.
ASCII 핵심 정리
| 문자 | ASCII 값 | 설명 |
|---|---|---|
'\0' | 0 | 널 문자 (문자열 끝 표시) |
'A' | 65 | 대문자 시작 |
'Z' | 90 | 대문자 끝 |
'a' | 97 | 소문자 시작 |
'z' | 122 | 소문자 끝 |
'0' | 48 | 숫자 문자 시작 |
'9' | 57 | 숫자 문자 끝 |
ASCII란?
ASCII(American Standard Code for Information Interchange) 는 문자를 숫자로 표현하는 표준 코드입니다.
컴퓨터는 문자를 직접 저장할 수 없어서, 각 문자에 숫자를 대응시켜 저장합니다.
c
코드 하이라이팅 중...
| 저장 방식 | 출력 형식 | 결과 |
|---|---|---|
char c = 'A'; | %c | A |
char c = 'A'; | %d | 65 |
char c = 65; | %c | A |
문자 'A'와 숫자 65는 같습니다
char 타입에 'A'를 저장하면 내부적으로 65가 저장됩니다. 출력 형식(%c 또는 %d)에 따라 문자 또는 숫자로 보입니다.
자주 쓰는 ASCII 값
알파벳
| 범위 | ASCII 값 | 개수 |
|---|---|---|
| A ~ Z (대문자) | 65 ~ 90 | 26개 |
| a ~ z (소문자) | 97 ~ 122 | 26개 |
c
코드 하이라이팅 중...
대문자와 소문자의 차이는 32입니다. ('a' - 'A' = 97 - 65 = 32)
숫자 문자
| 범위 | ASCII 값 |
|---|---|
| '0' ~ '9' | 48 ~ 57 |
c
코드 하이라이팅 중...
숫자 0과 문자 '0'은 다릅니다
숫자 0은 값이 0이고, 문자 '0'은 ASCII 값 48입니다. '0' - 48 = 0 이므로, 문자 숫자를 실제 숫자로 바꾸려면 '0'을 빼면 됩니다.
널 문자
널 문자 '\0' 의 ASCII 값은 0입니다. 문자열의 끝을 표시하는 데 사용됩니다.
c
코드 하이라이팅 중...
| 인덱스 | 0 | 1 | 2 |
|---|---|---|---|
| 문자 | 'H' | 'I' | '\0' |
| ASCII | 72 | 73 | 0 |
널 문자의 ASCII 값이 0이기 때문에, while(*s) 같은 조건문에서 문자열 끝을 감지할 수 있습니다. *s가 '\0'이면 0(거짓)이 되어 루프가 종료됩니다.
문자 연산
문자는 숫자이므로 사칙연산과 비교가 가능합니다.
문자 뺄셈
c
코드 하이라이팅 중...
| 연산 | 계산 | 결과 |
|---|---|---|
'E' - 'A' | 69 - 65 | 4 |
'C' - 'A' | 67 - 65 | 2 |
'5' - '0' | 53 - 48 | 5 |
문자 비교
c
코드 하이라이팅 중...
알파벳 순서대로 ASCII 값이 커지므로, 문자 비교 = 알파벳 순서 비교입니다.
| 비교 | 계산 | 결과 |
|---|---|---|
'D' > 'C' | 68 > 67 | 참 |
'A' < 'Z' | 65 < 90 | 참 |
'a' > 'A' | 97 > 65 | 참 |
대소문자 변환
대문자와 소문자의 ASCII 차이는 32입니다.
c
코드 하이라이팅 중...
| 변환 | 방법 | 예시 |
|---|---|---|
| 대문자 → 소문자 | + 32 | 'A' + 32 = 'a' |
| 소문자 → 대문자 | - 32 | 'a' - 32 = 'A' |
숫자 문자 → 정수 변환
문자 '5'를 숫자 5로 바꾸려면 '0'을 빼면 됩니다.
c
코드 하이라이팅 중...
| 문자 | ASCII | - '0' (48) | 결과 |
|---|---|---|---|
| '0' | 48 | 48 - 48 | 0 |
| '5' | 53 | 53 - 48 | 5 |
| '9' | 57 | 57 - 48 | 9 |
ctype.h 문자 판별 함수
ASCII 코드를 활용한 문자 판별은 ctype.h 헤더의 함수를 사용하면 더 간편합니다.
| 함수 | 설명 |
|---|---|
isupper(c) | 대문자인지 판별 |
islower(c) | 소문자인지 판별 |
isdigit(c) | 숫자 문자인지 판별 |