Faça um programa que imprima a tabela ASCII (código decimal, código hexadecimal, caracter) para códigos entre 0 a 127.
Passo 1
Beleza, o enunciado pede: “Faça um programa que imprima a tabela ASCII (código decimal, código hexadecimal, caracter) para códigos entre 0 a 127.”
Conteúdo: lógica de programação em C (ou qualquer outra linguagem), estrutura de repetição (laço) e formatação de saída (
O que vamos precisar:
Conteúdo: lógica de programação em C (ou qualquer outra linguagem), estrutura de repetição (laço) e formatação de saída (
printf
).O que vamos precisar:
- Entender o que é a tabela ASCII (mapa de números para caracteres).
- Usar um laço
for
que percorre todos os valores deaté . - Formatar a saída para mostrar o número em decimal, em hexadecimal e o caractere correspondente.
Passo 2
Teoria rápida sobre ASCII e laços:
ASCII é uma tabela que associa números inteiros aos caracteres (letras, dígitos, símbolos, control chars). Cada código varia de a
.
O laço
ASCII é uma tabela que associa números inteiros aos caracteres (letras, dígitos, símbolos, control chars). Cada código varia de
O laço
for
em C tem a forma geral:for (inicialização; condição; incremento) {
// bloco a repetir
}
Aqui a inicialização é
int i = 0;
, a condição é i <= 127;
e o incremento é i++
(aumenta 1 a cada iteração).Passo 3
Como imprimir em formatos diferentes?
%d
noprintf
mostra o valor decimal.%X
(ou%x
) mostra em hexadecimal.%c
mostra o caractere ASCII correspondente.
Exemplo de uso:
printf("%3d %2X %c\n", i, i, i);
Isso alinha melhor os números e caracteres.
Passo 4
Montando o programa completo em C:
- Incluímos a biblioteca
<stdio.h>
para usarprintf
. - No
main()
, criamos o laçofor (int i = 0; i <= 127; i++)
. - Dentro do laço, chamamos
printf
com os três formatos. - Opcionalmente, imprimimos um cabeçalho antes do laço.
Resposta
#include <stdio.h>
int main() {
// Cabeçalho da tabela
printf("Dec Hex Char\n");
printf("----------------\n");
// Laço de 0 até 127
for (int i = 0; i <= 127; i++) {
// %3d alinha decimal, %2X alinha hex, %c imprime o caractere
printf("%3d %2X %c\n", i, i, i);
}
return 0;
}