본문 바로가기

Code.D IT 프로젝트/C언어

[C언어 문제] 아스키코드 출력하는 프로그램

C언어 문제

아스키코드 출력하는 프로그램



문제)

0~127까지의 10진수를 16진수의 코드값과 아스키문자를 출력하는 프로그램을 만들어 주세요.



관련 글

[C언어] printf 함수 숫자 출력, 아스키 코드(ASCII Code)



#include <stdio.h>

int main(void){

     int ASCII;

     for(ASCII = 0; ASCII <= 127; ASCII++){

         printf("%d\t%x\t%c\n", ASCII, ASCII, ASCII);

         if(ASCII % 20 == 0){

              printf("--------------------------\n");
              printf("10진수\t16진수\t아스키문자\n");
              printf("--------------------------\n");

         }
     }

     return 0;

}



다음은 출력 결과입니다.





아스키코드는 0번부터 127번까지 사용하므로 for문을 이용하여 0~127까지의 수를 반복해서 출력합니다.

10진수(%d), 16진수(%x), 문자(%c) 형태로 ASCII 코드값을 출력합니다.

20줄마다 구분하기 위해 ASCII가 20으로 나누어떨어질 때마다 구분선(-------------)을 넣어 줍니다.

위의 출력 결과에서 아스키 문자가 출력이 제대로 되지 않은 경우를 볼 수 있는데,

이는 1byte(한 글자)를 출력할 수 있는 서식문자 %c를 이용하기 때문입니다.

에러가 발생한 아스키 문자는 2byte 이상의 크기를 가진 거죠.