Menu
Coddy logo textTech

Especificadores de formato

Parte de la sección Fundamentals del Journey de C de Coddy — lección 32 de 63.

La función printf() en C permite un control más preciso sobre el formato de salida utilizando especificadores de formato. Aquí hay algunos especificadores de formato avanzados:

  • %d o %i: Entero
  • %u: Entero sin signo
  • %f: Flotante o doble
  • %e o %E: Notación científica
  • %g o %G: Usa %f o %e, lo que sea más corto
  • %x o %X: Hexadecimal
  • %o: Octal
  • %c: Carácter
  • %s: Cadena
  • %p: Dirección de puntero

También puedes controlar el ancho y la precisión de la salida:

  • %5d: Entero con un ancho de 5
  • %7.2f: Flotante con un ancho de 7 y 2 decimales
  • %-10s: Cadena alineada a la izquierda con un ancho de 10

Ejemplo:

printf("%10.2f\n", 3.14159);  // Salida:      3.14
printf("%.3f\n", 3.14159);   // Salida: 3.142
printf("%+d\n", 42);         // Salida: +42
printf("%x\n", 255);         // Salida: ff
challenge icon

Desafío

Fácil

Escribe un programa en C que demuestre el uso de varios especificadores de formato. Tu programa debe:

  1. Declarar un entero num con el valor 255
  2. Declarar un float pi con el valor 3.14159
  3. Declarar un carácter letter con el valor 'A'
  4. Imprimir num como un número decimal, hexadecimal y octal
  5. Imprimir pi con 2 decimales
  6. Imprimir letter como un carácter y su valor ASCII

Usa los especificadores de formato adecuados para cada salida.

Hoja de referencia

La función printf() utiliza especificadores de formato para un control preciso de la salida:

  • %d o %i: Entero
  • %u: Entero sin signo
  • %f: Punto flotante o doble
  • %e o %E: Notación científica
  • %g o %G: Utiliza %f o %e, el que sea más corto
  • %x o %X: Hexadecimal
  • %o: Octal
  • %c: Carácter
  • %s: Cadena de texto
  • %p: Dirección de puntero

Control de ancho y precisión:

  • %5d: Entero con ancho 5
  • %7.2f: Punto flotante con ancho 7 y 2 decimales
  • %-10s: Cadena alineada a la izquierda con ancho 10
printf("%10.2f\n", 3.14159);  // Salida:      3.14
printf("%.3f\n", 3.14159);   // Salida: 3.142
printf("%+d\n", 42);         // Salida: +42
printf("%x\n", 255);         // Salida: ff

Pruébalo tú mismo

#include <stdio.h>

int main() {
    int num = 255;
    float pi = 3.14159;
    char letter = 'A';
    
    // Tu código aquí
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals