Pedir datos por teclado con C. Función scanf. Códigos de formato tipos int, long, double, char, string (CU00522F)

Resumen: Entrega nº22 del tutorial "Curso básico de programación en lenguaje C desde cero".
Codificación aprenderaprogramar.com: CU00522F

 

 

PEDIR DATOS POR TECLADO EN C

Una tarea con la que nos enfrentamos con frecuencia como programadores es la de pedir datos al usuario. Por ejemplo, que introduzca un número o que introduzca una palabra. La sintaxis básica para pedir datos al usuario a través de teclado se basa en la función scanf y es la siguiente:

logo lenguaje programacion C

 

 

scanf ("%codigoFormato", &nombreVariableQueAlmacenaLaEntrada);

 

 

El indicador de tipo de dato (código de formato o cadena de control) hace explícito el tipo de dato que se espera recibir en la entrada. Se usan los mismos códigos para mostrar datos en pantalla con printf. Los indicadores de tipos principales son los siguientes:

Código de formato

Significado

%d

Tipo entero (int)

%ld

Tipo entero largo (long)

%lf

Tipo decimal doble precisión (double)

%c

Tipo carácter

%s

Tipo cadena alfanumérica (array de caracteres)

 

 

Existen más códigos de formato (por ejemplo %e, %f ó %g para tipo float) y es posible introducir modificadores para especificar precisión decimal o longitud de los datos, pero con estos códigos básicos nos resultará suficiente para las construcciones más habituales en programas.

Un ejemplo básico de uso de esta sentencia lo vemos a continuación. Ejecuta este código y comprueba el resultado:

#include <stdio.h>
#include <stdlib.h>
// Ejemplo aprenderaprogramar.com
int main() {
    int valorUsuario;
    printf("Introduzca un numero entero: ");
    scanf("%d", &valorUsuario);
    printf("Gracias");
    return 0;
}

 

 

Un aspecto que puede resultar curioso es que si bien C no incluye el tipo predeterminado de dato cadena alfanumérica (String), sí aporta herramientas para un tratamiento más cómodo de cadenas de caracteres, como el código de formato %s.

scanf es una instrucción que se usa comúnmente junto a printf como veremos en ejemplos de código.

 

 

EJERCICIO

Dado el siguiente código:

#include <stdio.h>
#include <stdlib.h>
// Ejercicio aprenderaprogramar.com
int main() {
    int valorUsuario;
    printf("Introduzca su peso en kg como valor numerico: ");
    scanf("%s", &valorPeso);
    printf("Gracias");
    return 0;
}

 

Responde estas preguntas:

a) ¿Por qué es incoherente el siguiente código? Señala qué errores contiene.

b) ¿Cómo podemos hacerlo coherente?

 

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación