Ejercicio 01 — Pedir nombre al usuario y saludar con printf
Dificultad: verde · Módulo 01 (Variables, tipos y entrada/salida)
Enunciado
Pedir nombre al usuario y saludar con printf.
Diagrama de flujo

Cómo se resuelve
Un texto en C se guarda en un array de char. Declaramos char nombre[50]: 50 casillas, de sobra para un nombre normal contando el terminador.
printf("¿Cómo te llamas? ")— unprintfsin\ndeja el cursor en la misma línea, como una pregunta que espera respuesta.scanf("%49s", nombre)— lee una palabra del teclado. Dos detalles clave:- Con
%sla variable es un array y no lleva&delante (a diferencia de uninto unfloat): el nombre del array ya es su dirección en memoria. - El
49limita la lectura a 49 caracteres para dejar sitio al'\0'final y no desbordar el array de 50. Escribir%sa secas es la puerta a un fallo de seguridad clásico.
- Con
printf("¡Hola, %s!\n", nombre)—%sinserta la cadena leída.
Trampa habitual: scanf("%s") corta en el primer espacio, así que “Ana María” solo captura “Ana”. Para leer la línea entera se usa fgets, que verás más adelante.
Para practicar — cópialo en Dev-C++
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
/*
* Curso de C — Modulo 01: Variables, tipos y entrada/salida
* Ejercicio 01 — PRACTICA (rellena los TODO)
* Enunciado: Pedir nombre al usuario y saludar con printf.
* Dificultad: verde
* Compilar: gcc -std=c11 -Wall ej01_practica.c -o ej01 && ./ej01
*/
#include <stdio.h>
int main(void) {
// TODO: declara un array de char de 50 posiciones llamado 'nombre'
// TODO: usa printf para mostrar el mensaje "¿Cómo te llamas? "
// (sin salto de línea al final, para que el cursor quede en la misma línea)
// TODO: usa scanf con el formato "%49s" para leer el nombre
// (los arrays NO llevan & en scanf)
// TODO: usa printf para mostrar "¡Hola, <nombre>!\n"
// Pista: el formato de cadena es %s
return 0;
}Solución — cópiala y ejecútala
/*
* Curso de C — Modulo 01: Variables, tipos y entrada/salida
* Ejercicio 01 — MODELO (resuelto)
* Enunciado: Pedir nombre al usuario y saludar con printf.
* Dificultad: verde
* Compilar: gcc -std=c11 -Wall ej01_modelo.c -o ej01 && ./ej01
*/
#include <stdio.h>
int main(void) {
char nombre[50];
// Pedimos el nombre al usuario
printf("¿Cómo te llamas? ");
scanf("%49s", nombre); // 49 = tamaño - 1 para dejar espacio al '\0'
// Saludamos usando el nombre leido
printf("¡Hola, %s!\n", nombre);
return 0;
}Cómo usarlo
Dev-C++ (Windows): Archivo → Nuevo → Código fuente, pega el código y pulsa F11 (compilar y ejecutar). Si ves los acentos raros en la consola, escribe chcp 65001 y vuelve a ejecutar.