Tipos de datos y formato de salida en C y C++
En esta lección vas a declarar variables enteras y decimales y a mostrarlas con el formato correcto tanto en C como en C++.
Introducción
C y C++ comparten los tipos numéricos básicos, como int para los enteros y double para los números decimales. Sin embargo, el formato de salida es distinto: C usa la cadena de formato de printf, y C++ los flujos de salida (streams) con las herramientas de la biblioteca iomanip.
Puntos importantes
- Activa los avisos del compilador (compiler warnings) y corrígelos todos.
- Entiende bien el tipo y la vida útil (lifetime) de cada valor.
- Comprueba siempre los datos de entrada y los límites de los índices de los arreglos.
Ejemplos de código C y C++
#include <stdio.h>
int main(void) {
int items = 7;
double price = 3.5;
printf("items=%d total=%.2f\n", items, items * price);
return 0;
}
items=7 total=24.50
#include <iomanip>
#include <iostream>
int main() {
int items = 7;
double price = 3.5;
std::cout << "items=" << items << " total="
<< std::fixed << std::setprecision(2) << items * price << '\n';
}
items=7 total=24.50
Comparación entre C y C++
Con printf, cada valor necesita un especificador que le corresponda, por ejemplo %d para un int y %.2f para un número con 2 decimales. Si el especificador no coincide con el tipo, el resultado es incorrecto. En C++, std::cout elige cómo mostrar cada valor según su tipo, y std::fixed junto con std::setprecision controlan el número de decimales.
C usa funciones procedurales pequeñas y muestra abiertamente cómo se representan los datos en memoria.
C++ sigue permitiendo trabajar a bajo nivel, pero añade tipos de biblioteca y abstracciones más seguras.
Ejercicios de práctica
Ejecuta las dos versiones y después modifica el código para ver la diferencia de seguridad que aporta cada lenguaje.
- Prueba entradas no válidas y valores límite.
- Compila con las opciones -Wall -Wextra -Wpedantic para activar más avisos.
- Pon las declaraciones comunes en un archivo de cabecera y la implementación en un archivo aparte.
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Horas, minutos y segundos Convierte una duración en segundos a una cadena legible y compacta. Fácil
- Celsius a Fahrenheit Convierte una temperatura de grados Celsius a grados Fahrenheit. Fácil