0Pricing
C Academy · Lección

Caracteres como enteros

Valores ASCII

Caracteres como enteros es una lección gratuita de C Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 4 lecciones en total.

Los caracteres son números

En C, un char no es más que un entero pequeño. Cada carácter tiene un valor numérico definido por la tabla ASCII.

La letra 'A' se almacena como el número 65, 'B' es 66, y así sucesivamente.

#include <stdio.h>

int main(void) {
    char c = 'A';
    printf("The character %c has value %d\n", c, c);
    return 0;
}

Imprimir el valor ASCII

Use el especificador de formato %d para imprimir un char como su valor entero y %c para imprimirlo como carácter.

La misma variable puede interpretarse de ambas formas.

#include <stdio.h>

int main(void) {
    char letter = 'z';
    printf("As char: %c\n", letter);
    printf("As int:  %d\n", letter);
    return 0;
}

Los dígitos también tienen códigos

El carácter '0' no es el número 0. Tiene el valor ASCII 48.

Los caracteres de dígitos, de '0' a '9', ocupan los códigos del 48 al 57 en orden.

#include <stdio.h>

int main(void) {
    printf("'0' = %d\n", '0');
    printf("'9' = %d\n", '9');
    return 0;
}

Conversión de char a dígito

Como los dígitos son contiguos, puede convertir un carácter de dígito a su valor numérico restando '0'.

'7' - '0' equivale a 7.

#include <stdio.h>

int main(void) {
    char d = '7';
    int value = d - '0';
    printf("The digit value is %d\n", value);
    return 0;
}

Aritmética con caracteres

Como los caracteres son enteros, puede hacer operaciones matemáticas con ellos. Sumar 1 a 'A' produce el código de 'B'.

Esto funciona porque las letras del alfabeto son contiguas en ASCII.

#include <stdio.h>

int main(void) {
    char c = 'A';
    char next = c + 1;
    printf("After A comes %c\n", next);
    return 0;
}

Recorrer el alfabeto

Puede recorrer desde 'a' hasta 'z' usando un char como contador del bucle.

El bucle compara los códigos de los caracteres igual que los números.

#include <stdio.h>

int main(void) {
    for (char c = 'a'; c <= 'z'; c++) {
        printf("%c", c);
    }
    printf("\n");
    return 0;
}

La diferencia entre mayúsculas y minúsculas

En ASCII, las letras mayúsculas y minúsculas están separadas por 32. 'a' es 97 y 'A' es 65.

Por lo tanto, 'a' - 'A' es igual a 32.

#include <stdio.h>

int main(void) {
    printf("'A' = %d\n", 'A');
    printf("'a' = %d\n", 'a');
    printf("Gap = %d\n", 'a' - 'A');
    return 0;
}

Conversión manual de mayúsculas y minúsculas

Al conocer que la diferencia es 32, puede convertir minúsculas a mayúsculas restando 32.

Eso es exactamente lo que hace toupper internamente.

#include <stdio.h>

int main(void) {
    char lower = 'm';
    char upper = lower - 32;
    printf("%c becomes %c\n", lower, upper);
    return 0;
}

Caracteres especiales

Los caracteres de control también tienen códigos. El salto de línea '\n' es 10, el tabulador '\t' es 9 y el terminador nulo '\0' es 0.

El carácter de espacio es 32.

#include <stdio.h>

int main(void) {
    printf("newline = %d\n", '\n');
    printf("tab     = %d\n", '\t');
    printf("space   = %d\n", ' ');
    return 0;
}

char almacena números pequeños

Un char normalmente almacena valores de -128 a 127 (con signo) o de 0 a 255 (sin signo).

Puede almacenar enteros pequeños directamente en un char.

#include <stdio.h>

int main(void) {
    char small = 100;
    small = small + 5;
    printf("small = %d\n", small);
    return 0;
}

Crear un desplazamiento César

Al combinar estas ideas, un cifrado César sencillo desplaza cada letra una cantidad fija mediante la aritmética de caracteres.

Aquí desplazamos una letra tres posiciones hacia delante.

#include <stdio.h>

int main(void) {
    char c = 'x';
    char shifted = 'a' + (c - 'a' + 3) % 26;
    printf("%c shifted by 3 = %c\n", c, shifted);
    return 0;
}

Comprobación rápida

Ponga a prueba su comprensión de los caracteres como enteros.

Resumen

Ha aprendido que en C:

  • Un char es un entero pequeño que contiene un código ASCII.
  • %c lo imprime como carácter y %d como número.
  • Los dígitos '0'-'9' y las letras son contiguos, lo que permite realizar operaciones aritméticas.
  • c - '0' convierte un carácter de dígito en su valor, y la diferencia entre mayúsculas y minúsculas es 32.

Preguntas frecuentes

¿La lección «Caracteres como enteros» es gratis?

Sí — el texto completo de «Caracteres como enteros» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Caracteres como enteros»?

Valores ASCII Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C Academy?

No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Caracteres como enteros»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C Academy?

Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Caracteres como enteros
  2. La biblioteca ctype
  3. Lectura de caracteres
  4. Creación de utilidades para caracteres
← Volver a C Academy