0Pricing
C Academy · Lección

Conversiones explícitas

Conversiones manuales

Conversiones explícitas es una lección gratuita de C Academy en CoddyKit. Esta es la lección 2 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.

Qué es un cast

Un cast convierte explícitamente un valor a otro tipo mediante (type)value. Indica al compilador exactamente qué desea.

#include <stdio.h>
int main(void) {
    double d = (double)5;
    printf("%.1f\n", d);
    return 0;
}

Forzar la división real

Convierta uno de los operandos a double para que la división conserve la parte fraccionaria.

#include <stdio.h>
int main(void) {
    int a = 7, b = 2;
    double r = (double)a / b;
    printf("%.2f\n", r);
    return 0;
}

Truncar intencionadamente

Convertir un double a int descarta los decimales. En ocasiones, eso es exactamente lo que necesita.

#include <stdio.h>
int main(void) {
    double price = 19.95;
    int dollars = (int)price;
    printf("dollars = %d\n", dollars);
    return 0;
}

Cast frente a conversión implícita

Una conversión implícita ocurre automáticamente; un cast documenta la intención y silencia las advertencias.

#include <stdio.h>
int main(void) {
    long big = 100000L;
    int n = (int)big;
    printf("n = %d\n", n);
    return 0;
}

Casts en expresiones

Un cast solo se aplica al valor que tiene al lado, por lo que el orden y los paréntesis son importantes.

#include <stdio.h>
int main(void) {
    int total = 5, count = 2;
    double avg = (double)total / count;
    printf("avg = %.2f\n", avg);
    return 0;
}

Casts entre char e int

Puede hacer un cast entre char e int para pasar de un carácter a su código y viceversa.

#include <stdio.h>
int main(void) {
    int code = 66;
    char c = (char)code;
    printf("c = %c\n", c);
    return 0;
}

Redondeo mediante un cast

Añada 0.5 antes del cast para redondear un número positivo al entero más cercano.

#include <stdio.h>
int main(void) {
    double d = 2.7;
    int rounded = (int)(d + 0.5);
    printf("rounded = %d\n", rounded);
    return 0;
}

Conversión a unsigned

Puede hacer un cast a unsigned, pero un valor negativo da la vuelta y se convierte en un número positivo grande.

#include <stdio.h>
int main(void) {
    int x = 10;
    unsigned int u = (unsigned int)x;
    printf("u = %u\n", u);
    return 0;
}

Evitar casts innecesarios

Hacer un cast cuando la conversión ya es segura e implícita solo añade ruido. Use casts cuando aclaren la intención o sean necesarios.

#include <stdio.h>
int main(void) {
    int a = 4;
    double d = a;
    printf("%.1f\n", d);
    return 0;
}

Casts en una fórmula

Un cast dentro de un cálculo de porcentajes mantiene la precisión del resultado.

#include <stdio.h>
int main(void) {
    int done = 3, total = 8;
    double pct = (double)done / total * 100.0;
    printf("%.1f%%\n", pct);
    return 0;
}

Casts con funciones matemáticas

Los casts resultan útiles al pasar valores enteros a operaciones matemáticas en coma flotante.

#include <stdio.h>
int main(void) {
    int n = 9;
    double root = (double)n / 3.0;
    printf("%.2f\n", root);
    return 0;
}

Comprobación rápida

Compruebe sus conocimientos sobre los casts explícitos.

Repaso: casts explícitos

Ha aprendido a convertir tipos intencionadamente.

  • La sintaxis es (type)value
  • Haga un cast para forzar la división real
  • Haga un cast para truncar de forma intencionada
  • Los casts documentan la intención y silencian las advertencias
  • El cast solo afecta al valor adyacente, por lo que debe usar paréntesis

Preguntas frecuentes

¿La lección «Conversiones explícitas» es gratis?

Sí — el texto completo de «Conversiones explícitas» 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 «Conversiones explícitas»?

Conversiones manuales 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 2 de 4.

¿Cuánto tiempo toma la lección «Conversiones explícitas»?

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. Conversiones implícitas
  2. Conversiones explícitas
  3. Conversiones entre enteros y flotantes
  4. Errores en conversiones
← Volver a C Academy