Documente Academic
Documente Profesional
Documente Cultură
#include <stdio.h>
int main(){
printf("Hola mundo");
return 0;
}
En el ejemplo anterior imprimimos un mensaje de texto, pero también podemos imprimir valores de variables utilizando la misma función
printf(). En el artículo anterior hemos visto los tipos de datos más utilizados en el lenguaje de programación C. Bien, para imprimir valores de
variables utilizando la función printf(), podemos empezar viendo el siguiente ejemplo:
#include <stdio.h>
int main(){
int num1 = 10;
printf("Soy el número %d", num1);
return 0;
}
En el ejemplo vemos que la variable num1 vale 10 y usando la función printf() imprimimos un texto junto al valor de la variable. Y si nos
jamos vemos que hemos indicado la posición en la que se imprimirá el valor de variable utilizando %d y le pasamos como parámetro
separado por coma (,) la variable de la cual queremos imprimir el valor.
A continuación vemos un ejemplo en que imprimiremos diferentes textos junto a valores de variables por pantalla utilizando printf()
pasandole las variables como parámetros.
#include <stdio.h>
int main(){
int num1 = 10;
float pi = 3.141592;
char caracter = 'a';
char mensaje[] = "Hola";
printf("5 + 5 = %d \n", num1);
printf("El número pi es aprox: %f \n", pi);
printf("Se puede usar la palabra '%s' para saludar \n", mensaje);
printf("La primera letra del abecedario es: %c \n", caracter);
return 0;
}
5 + 5 = 10
El número pi es aprox: 3.141592
Se puede usar la palabra 'Hola' para saludar
Utilizamos cookies para mejorar la experiencia de usuario. Si continúas navegando consideramos que aceptas su uso. Aceptar
La primera letra del abecedario es: a
http://www.elladodelgeek.com/printfyscanfenc/ 1/5
2/4/2017 printf y scanf en el lenguaje de programación C
\n se usa para imprimir un salto de línea. De esta forma no se escribe todo el texto en una única línea. También podemos usar
\t para insertar una tabulación en la posición que queramos del mensaje de texto.
De forma que dependiendo del tipo de variable que queremos imprimir en un mensaje usando la función printf(), debemos usar un formato u
otro y indicamos este formato en la posición pertinente.
Tipo de dato Formato
número entero %d
número real %f
carácter %c
cadena de texto %s
En el ejemplo anterior, hemos visto cómo imprimir el valor de una única variable. Pero como ya hemos visto en artículos anteriores, en una
misma función printf() podemos imprimir más de una variable a la vez. Para ello solo debemos pasarle las variables como parámetros
separados por coma. A continuación vemos un ejemplo.
#include <stdio.h>
int main(){
int num1 = 10;
char mensaje[] = "Hola";
printf("%s, soy el número %d. \n", mensaje, num1);
return 0;
}
Cuidado, porque las variables deben estar en el mismo orden que la posición en que se encuentra el ‘marcador de formato’. En este caso, la
primera variable debe ser ‘mensaje’ y no ‘num1’ porque primero imprimimos ‘%s’ y luego ‘%d’. De forma que el siguiente código no es válido:
#include <stdio.h>
int main(){
int num1 = 10;
char mensaje[] = "Hola";
printf("%s, soy el número %d. \n", num1, mensaje);
return 0;
}
Porque en este caso el compilador intentará poner el valor de la variable ‘num1’ en la posición donde hemos puesto ‘%s’ pero como son de
diferentes tipos de datos (%s es para especi car que allí se imprimirá una cadena de texto y no número entero), pues nos daría error.
¿Cómo podemos conseguir la fecha de nacimiento para usarla dentro del programa?
– Preguntándole personalmente
– Preguntando a una persona cercana
– Mirando en su Facebook
– Cotilleándole la cartera
[..]
Bien, todas las opciones anteriores son válidas, vamos a crear nuestro programa sabiendo con anterioridad la fecha de nacimiento:
#include <stdio.h>
int main(){
int fNacimiento = 1993;
int edad = 2014 ‐ fNacimiento;
printf("Tienes %d años.\n", edad);
return 0;
}
En este caso el programa funciona, pero ¿qué pasa si queremos compilarlo y compartirlo con otra persona para calcular su edad basándose
en su fecha de nacimiento? Esa persona puede no haber nacido en el año 1993, de forma que es obvio que debemos mejorar
Utilizamos cookies para mejorar la experiencia de usuario. Si continúas navegando consideramos que aceptas su uso. Aceptar este aspecto del
http://www.elladodelgeek.com/printfyscanfenc/ 2/5
2/4/2017 printf y scanf en el lenguaje de programación C
programa.
¿Podemos mejorar otro aspecto del programa? Sí. Podemos de nir el año “2014” como una constante, ya que no se va a cambiar su valor
dentro del programa.
Vamos a mejorar los dos aspectos del programa y ver la explicación de los cambios:
#include <stdio.h>
#define anioActual 2014 //constante
int main(){
int fNacimiento = 0, edad = 0; //inicializamos las variables a 0
printf("Introduce tu fecha de nacimiento: "); //pedimos la fecha de nacimiento
fflush(stdout); //vacíamos el buffer de salida
scanf("%d",&fNacimiento); //guardamos el valor introducido en la variable
edad = anioActual ‐ fNacimiento; //calculamos la edad
printf("Tienes %d años.\n", edad); //mostrar la edad
return 0;
}
Viendo el ejemplo, utilizamos scanf() para guardar el valor introducido por el usuario en la variable fNacimiento. Y lo hacemos siguiendo la
sintaxis scanf(“tipo_de_dato”,&variable_destino);, donde tipo_de_dato es el formato de información que vamos a capturar y variable_destino
es la variable donde se guardará esta información.
Cuando el valor que queremos capturar es una palabra (cadena) no debemos especi car la variable donde se guardará esta
cadena con el símbolo (&) debemos poder directamente el nombre de la variable porque en el fondo es un array. Vamos a ver
un ejemplo:
#include <stdio.h>
int main(){
char nombre[12];
printf("Introduce tu nombre: ");
fflush(stdout);
scanf("%s",nombre);
printf("Hola, %s :)\n", nombre);
return 0;
}
Si la información que queremos pedir al usuario puede contener espacios, es posible que scanf() no sea la mejor opción. En
su lugar podríamos utilizar la función fgets().
En las próximas publicaciones vamos a ver los operadores aritméticos, relacionales y lógicos que podemos usar en C y cómo utilizarlos para
hacer cálculos y comparar datos en nuestro programa. Nos vemos
« Tipos de datos y variables
en C
Operadores y expresiones
en C »
Twittear Compartir 0
Utilizamos cookies para mejorar la experiencia de usuario. Si continúas navegando consideramos que aceptas su uso. Aceptar
http://www.elladodelgeek.com/printfyscanfenc/ 3/5
2/4/2017 printf y scanf en el lenguaje de programación C
8 COMENTARIOS
Jader arcia
Quiero ayuda para sumar dos números y imprimir por pantalla el mayor de los dos numeros
Hola Jader,
#include <stdio.h>
int main(){
int num1 = 50;
int num2 = 20;
int suma = num1 + num2;
printf("La suma de %d + %d = %d", num1, num2, suma);
if (num1 > num2) {
printf("El primer numero (%d) es mayor que el segundo (%d)", num1, num2);
} else if (num2 > num1) {
printf("El segundo numero (%d) es mayor que el primero (%d)", num2, num1);
} else {
printf("Los numeros son iguales");
}
}
Pablo
Muy bueno, si pusieras un video sería mucho mejor para poder aprenderlo más rápido
Gracias, Pablo.
No dispongo de mucho tiempo libre. De hecho, últimamente no publico nada por este motivo.
Saludos,
Angelica
Buenas Tardes, me podrian ayudar realizar las siguientes operaciones? Por favor :c
http://www.elladodelgeek.com/printfyscanfenc/ 4/5
2/4/2017 printf y scanf en el lenguaje de programación C
Hola Angelica,
De todas formas, con sólo el número 15 no se pueden sacar los datos que necesitas.
Si publicases el ejercicio, te puedo guiar un poco
Gracias
Saludos,
Santiago
Holaaaa, mee gusto tu pagina, me gustaria si me podrias ayudar hacer una calculadora en borland6
Publicar un comentario
Comentario
Síguenos en Facebook!
elladodelgeek.com
49 Me gusta
Me gusta esta página Usar aplicación
Sé el primero de tus amigos en indicar que le
gusta esto.
Buscar...
Publicaciones recientes
http://www.elladodelgeek.com/printfyscanfenc/ 5/5