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 이상의 크기를 가진 거죠.
'Code.D IT 프로젝트 > C언어' 카테고리의 다른 글
[C언어 문제] 입력받은 두 문자의 차이 구하기 (0) | 2017.06.12 |
---|---|
[C언어 문제] 다이아몬드 출력하기(feat.모래시계) (0) | 2017.06.08 |
[C언어 문제] 홀수의 합과 짝수의 합 구하기 (0) | 2017.06.07 |
[C언어 문제] 지정 배수의 합계 구하는 프로그램 (0) | 2017.06.07 |
[C언어 문제] 학점(등급)을 출력하는 프로그램 (0) | 2017.06.02 |