문제 정의
ASCII(American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)는 컴퓨터가 문자를 숫자로 표현하기 위해 사용하는 표준 인코딩 방식입니다. 이번 글에서는 문자형 변수를 별도로 정수형으로 초기화하지 않고, 서식 지정자(format specifier)만을 활용해 0부터 255까지의 ASCII 값을 출력하는 방법을 알아보겠습니다.
해결 방법
여기서는 이해를 돕기 위해 65부터 122까지만 출력하는 프로그램을 작성해 보겠습니다. 이 범위에는 영문 대소문자 A~Z, a~z와 일부 특수 기호들이 포함되어 있습니다.
만약 모든 ASCII 값(0~255)을 확인하고 싶다면, for 반복문의 조건을 다음과 같이 수정하면 됩니다.
for(i=0; i<255; i++)
이렇게 하면 0부터 255까지의 모든 ASCII 값이 화면에 출력됩니다.
65부터 122 사이의 ASCII 값을 출력하는 핵심 로직은 다음과 같습니다.
// A부터 z까지의 ASCII 값 출력
for (i = 65; i <= 122; i++) {
printf("%c \t\t %d\n", i, i);
}여기서 핵심은 %c 서식 지정자입니다. 같은 정수 값 i를 %c로 출력하면 해당 ASCII 코드에 대응하는 문자가, %d로 출력하면 그대로 숫자 값이 표시됩니다. 즉, 별도의 형 변환 없이 하나의 반복문 안에서 문자와 코드 값을 동시에 확인할 수 있습니다.
전체 예제 코드
다음은 65부터 122까지의 ASCII 값을 출력하는 완전한 C 프로그램입니다.
#include <stdio.h>
int main() {
// 변수 선언
int i = 0;
printf("Character \t ASCII Value\n\n");
// ASCII 값 출력
for (i = 65; i <= 122; i++) {
printf("%c \t\t %d\n", i, i);
}
return 0;
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Character ASCII Value A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 [ 91 \ 92 ] 93 ^ 94 _ 95 ` 96 a 97 b 98 c 99 d 100 e 101 f 102 g 103 h 104 i 105 j 106 k 107 l 108 m 109 n 110 o 111 p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122
마무리
이처럼 C 언어에서는 %c와 %d 서식 지정자를 활용하면 별도의 형 변환 없이도 문자와 ASCII 코드 값을 손쉽게 함께 출력할 수 있습니다. 반복문의 시작값과 종료 조건만 조절하면 원하는 범위의 ASCII 표를 자유롭게 만들 수 있으니, 학습용 참조표나 디버깅 용도로 유용하게 활용해 보시기 바랍니다.