Aprendiendo Programación
Un blog enfocado al aprendizaje de la programación para newbies o principiantes y otras hierbas relacionadas
Curso – Lenguaje C Variables y entrada de datos por teclado
La informacion es parte de nuestras vidas a diario, y mas aun cuando la revolución digital o tecnológica esta en su época de oro.
La programación informática, tiene el objetivo de aplicar al tratamiento automático de la informacion.
Los ordenadores pueden almacenar informacion en su memoria principal gracias a las variables.
- ?Que es una variable¿
Una variable podemos describirla como un espacio o celda en la memoria principal del ordenador, en este espacio podemos almacenar datos o informacion, como números, letras, símbolos, etc…
Las variables son volátiles, es decir, cuando almacenamos el dato «Ruben» en la variable «NOMBRE» y después queremos almacenar el dato «Lupita» en la misma variable «NOMBRE», el dato anterior se borra. Las variables pueden cambiar de dato o contenido durante la ejecución del programa.
Cuando programamos o creamos un programa, es necesario indicarle al ordenador que variables o espacios en la memoria vamos a necesitar. Esto lo hacemos por medio de la declaración de variables.
Los contenidos de las variables se relacionan a un tipo de dato. En el lenguaje de programación C los tipos de datos son:
- int – Sirve para declarar una variable de tipo entero es decir puede almacenar solo números enteros tanto negativos o positivos
- float – Sirve para declarar una variable de tipo decimal o coma flotante, es decir, puede almacenar números con factores decimales por ejemplo: 16.50 etc. El tipo float acepta hasta 7 factores decimales.
- double – Sirve para declarar una variable de tipo decimal pero mas precisa, ya que acepta hasta 15 factores decimales.
- char – Sirve para declarar una variable de tipo carácter, es decir, puede almacenar un solo carácter como la letra «A» O «b» etc.
- Como declarar una variable
Las variables en el lenguaje C se declaran así.
tipo nombre_variable;
Donde «tipo» puede ser uno de los tipos de datos que el lenguaje de C, y «nombre_variable» sera el nombre que queramos asignarle a nuestra celda o variable en la memoria para poder utilizarla y procesar su contenido.
- Los nombres de las variables
Los nombres de las variables no pueden contener caracteres extraños, solo el signo «_» ni comenzar por un numero.
también se pueden almacenar los datos o asignarles datos alas variables al declararlas, es decir en la misma linea o después, es decir, en otra linea con el operador de asignacion o símbolo de igual «=».
Un ejemplo practico.
int cantidad_productos = 4; //reservamos un espacio en la memoria llamado cantidad_productos que puede almacenar numeros y de una ves le asignamos el dato o contenido 4 float precio_producto; //declaramos o reservamos la variable/espacio en la memoria llamado precio producto precio_producto = 25.6; //le asignamos el dato o valor 25.6 a la variable precio_producto con el simbolo =
- Variables locales y globales
Las variables pueden ser locales o globales dependiendo el lugar donde se declaren.
- Variable local
Las variables locales son las que se declaran dentro de la función principal main() o cualquier otra función (Mas adelante veremos mas sobre funciones), es decir dentro de los corchetes. Ejemplo.
#include <stdio.h>//declaramos las librerias necesarias int main() //declaramos la funcion principal main() { //las variables que esten dentro de estos corchetes seran locales para la funcion main() int ejemplo_varlocal; }
- Variables globales
Las variables que están fuera de la función main() o cualquier otra son globales. Mas delante veremos mas sobre las variables locales y globales.
Ejemplo de variable global.
#include <stdio.h>//declaramos las librerias que necesitamos int variable_global; //variable global main() //declaramos la funcion principal { int variable_local; //variable local }
- Imprimir valor de las variables
Veamos como podemos imprimir el valor de las variables con la función printf();, antes vista.
La forma de imprimir una variable en el lenguaje C con la función printf();, es.
printf("el valor de la variable es: clave", variable);
Donde «clave» puede ser uno de los siguientes codigos, que nos permiten imprimir el valor de una variable. Y variable despues de las comillas dobles, es la variable a imprimir.
- %i – Sirve para imprimir variables de tipo int o entero.
- %d – Sirve para imprimir igual variables de tipo int o entero.
- %c – Sirve para imprimir variables de tipo char o caracter.
- %f – Sirve para imprimir variables de tipo float o double.
Veamos unos ejemplos prácticos.
#include <stdio.h> int main() { int puntos = 40; float vida_porciento 34.6; char letra_opcion 'a'; //aqui ponemos la letra o valor a asignar con comilla simple //vamos a imprimir los valores printf("la variable puntos tiene un valor de: %i\n", puntos); //el valor %i se remplaza por el contenido de la variable puntos printf("la variable vida_porciento tiene un valor de: %f\n", vida_porciento); //remplaza %f por el contenido de vida_porciento printf("la variable opcion es: %c", opcion); //remplaza %c por el contenido o valor de opcion }
Lo cual mostraría en pantalla.
la variable puntos tiene un valor de: 40
la variable vida_porciento tiene un valor de: 34.6
la variable opción es: a
La linea \n en la función printf(); es para crear un salto de linea.
- La función scanf();
La función scanf(); se encuentra en la librería stdio.h, esta función del lenguaje C nos permite leer un dato introducido por el usuario y almacenarlo en una variable.
El formato de la función scanf(); es:
int a; //declaramos una variable de tipo numérica printf("introdusca un numero\n"); //le pedimos al usuario un dato scanf("%i", &a); //guardamos el dato en la variable a con el simbolo & printf("el dato que introducio fue: %i\n", a); //imprimimos el valor
El símbolo & sirve para indicarle a la pc que nos almacene el dato en la dirección de la variable «a».
Bueno hasta aquí llega este post algo largo y teórico. Les recomiendo que hagan pequeñas practicas haciendo mini scripts o programas para leer varios datos y imprimirlos.
Resumen
Una variable es un espacio en la memoria que puede almacenar un dato y puede cambiar su contenido durante el largo de la ejecución del programa.
Los tipos de datos en el lenguaje C son: int, float, double, char.
La funcion scanf(); nos permite leer un dato introducido por el usuario y guardarlo en una variable, gracias al símbolo «&».
Les dejo estos ejercicios y espero verlos en los comentarios…..
Cualquier duda, corrección, consejo, etc comenten….
Practica 1
Crear un programa que pida al usuario su edad y luego la muestre en pantalla.
Practica 2
Crear un programa que pida al usuario su edad, peso, estatura y año de nacimiento y después imprima los datos.
su articulo me ayudo mucho, pero aun tengo problemas compilar mi tarea no se que es lo que estoy haciendo mal, tengo que hacer un programa donde tenga que digitar un código para poder acceder 😦 me pueden ayudar por favor
#include
int main() {
int 24680;
printf(«Digite su codigo\n»);
scanf(«%d, &24680»);
while(24680);
printf(«Acceso denegado»);
printf(«Digite su codigo\n»);
printf(«\nBievenido»);
}
La explicación está muy bien pero yo quiera saber cómo se hace para encontrar el número mayor y el promedio. Y también las tablas… Ayuda…
Me pareció buen post, sigue así quien quiera que seas. Me gusta como explicas. 👍👍👍
Hi, its good piece of writing about media print, we all be aware of media is a
fantastic source of facts.
Buenas, yo declaré unas variables con tipo Int y String pero a la hora de introducirles datos no me guarda esos datos en la memoria
QUIERO SABER COMO HACER UN PROGRAM EN C++ QUE AL PRESIONAR UNA TECLA ME APARESCA MI NOMBRE, AL PRESIONAR OTRA ME APARESCA MI APELLIDO, Y ASI SEGUIR PRESIONANDO OTRAS Y QUE APARESCAN OTRAS COSAS
lo que yo quiero saber es como hacerlo, debido a que mi maestra se puso de diva y ya no nos quiere explicar, creo que la información esta bien pero me quería desahogar
hola quería saber en teoría que es la lectura de datos en el lenguaje C, y la impresión de mensajes
alguien que este por hay me puede decir las carateristica de una varible es que tengo que hacer un deber
El texto tiene un par de errores como es la parte de imprimir un char int y float deveria quedar asi
#include
int main()
{
int puntos = 40;
float vida_porciento = 34.6;
char letra_opcion = ‘a’; //aqui ponemos la letra o valor a asignar con comilla simple
//vamos a imprimir los valores
printf(«la variable puntos tiene un valor de: %i\n», puntos); //el valor %i se remplaza por el contenido de la variable puntos
printf(«la variable vida_porciento tiene un valor de: %f\n», vida_porciento); //remplaza %f por el contenido de vida_porciento
printf(«la variable opcion es: %c\n», letra_opcion); //remplaza %c por el contenido o valor d
return 0;
}
De forma contraria no te imprime nada
practica 1
#include
int main ()
{
int a;
printf(«introdusca su edad\n»);
scanf(«%i»,&a);
printf(«su edad es: %i\n», a);
return 0;
}
es %d no %i
no funciona con ese comando
Disculpa tengo una duda y tal vez digas que soy ignorante o algo asi, pero es que apenas voy dando el primer gateo en esto, Cuando te expresaste en los ejercicios en donde dice, »crear un programa» te referias a hacer uno de verdad? O solo poner la expresion en lenguaje C de como hacer el programa. Si tengo que hacer el programa, hay alguna aplicacion o algo asi con la cual pueda realizar esto, Perdona mi ingnorancia eh, Esque la verdad no se nada. Solo tengo 14 años pero me gustaria aprender muchas cosas sobre este tema, Gracias.
Saludos.
Hola amigo, no para nada nadie nace sabiendo… Me refiero a crear la expresion o poner la expresion en lenguaje c de como hacer ese programa de las practicas 1 y 2…
Respeto al programa para crear programas existen varios pero no es el caso en esta situacion, cuando la gente desarrolla un programa de computo como por ejemplo mozilla, chrome, microsoft word o power point, o por ejemplo cuando desarrollan videojuegos para consolas o pc como, GTA, Call Of duty, halo entre otros, todo esto se desarrolla o se crean con lenguajes de programacion como en este caso es el lenguaje C del que habla este post, literalmente los programas se escriben o forman con expresiones de lenguajes… no existen programas para crear programas, existen programas que ayudan a crearlos pero son como herramientas para poder editar las expresiones o codigos de una manera mas rapida… saludos..
Ahhh, De acuerdo, muy bien, muchas gracias. Me ah servido de gran ayuda.
Otra duda, me dijeron que hay otro lenguaje llamado Visual Basic y que este es mucho mas facil y de echo con ello pueden hacerse algunas practicas,Es cierto esto?
Bueno por lo demas de verdad muchas gracias me has sacado mucho de dudas.
Gracias 🙂
Hola, bueno yo creo que aqui para empezar a programar depende de hasta donde quieras llegar con esto.
Cuales son los lenguajes que existen y para que areas pueden aplicarse?
Los lenguajes C y C++, python, java, entre otros incluso hasta el visual basic principalmente estos lenguajes son usados para crear programas avanzados como por ejemplo videojuegos para consolas como xbox, nintendo, wii o otras consolas, para programas como por ejemplo word, excel, power point, messenger, ares, utorrent, photoshop, illustrator etc. El lenguaje C es considerado como el padre de los lenguajes, es decir fue uno de los primeros lenguajes que existieron para crear programas y se uso como base para crear los otros lenguajes incluso el mismo visual basic es hijo de C… este lenguaje tiene la carateristica que permite tener un acceso a bajo nivel, esto quiere decir que permite programar por ejemplo los movimientos de un robot o hacer prender tu pc, es decir acceso la hardware de tu pc, el lenguaje C tambien se usa para crear los sistemas operativos como microsoft windows, linux o mac os de apple, incluso algunos sistemas para moviles tambien.
Los lenguajes como PHP, Ruby On rails, entre otros… son usados para la creacion de sitios webs, de hecho este mismo blog esta hecho en php, wikipedia, entre otros….
Que es visual basic?
Visual basic es un lenguaje de una serie de lenguajes los cuales son: C# (Csharp) Visual Basic, entre otros… Estos lenguajes son parecidos a C pero para crear programas en estos, se usa un programa llamado visual studio, el cual puede decirse que es un programa que proporciona ayudas visuales para crear programas de computo, ya con interfaz es decir, botones, textos, secciones, pestañas etc, esto se puede hacer en visual studio incluso simplemente escojiendo los menus o botones y arrastrarlos encima del programa… y asi crear un programa de manera funcional, claro se tiene que configurar cada accion de cada boton o elemento pero puede realizarse con asistentes del mismo visual studio o con codigo visual studio si asi se decia… y con esto contesto a tu duda si ees mucho mas facil en teoria…
Ahora.. seguramente te han dicho que para empezar a programar es mejor aprender con C ya que como ya explique todos los demas lenguajes heredan del C y por ende si aprendes C te sera mas facil aprender los otros lenguajes lo cual tiene mucho de cierto, pero tambien debemos de aceptar que por ejemplo yo cuando iniciaba con esto (ya deje de programar en c, ahora manejo php) me daba cierta desesperacion al ver que el lenguaje solo me daba resultados en consola, puro texto y hasta cierto punto tenia un limite para hacer, por que bueno no me puse a aprender mas de C. y no podia realizar estas interfaces, (Ojo en C tambien se puede realizar estas interfaces pero ocupa algo de experiencia y conocimiento).
Mi opinion y consejo es que dependiendo de hasta donde quieras llegar, por ejemplo si en un futuro quieres crear videojuegos tarde o temprano tendras que aprender C y C++ avanzado, si quieres crear webs entonces los que mencione antes, y asi… yo te recomiendo que sea lo que sea a que te quieras dedicar, te recomiendo aprender un poco de todos los lenguajes del area que escojas y probarlos un poco y escojas un lenguaje en el que te sientas agusto programando o mas comodo, si ocupas realizar algo muy rapido pues puedes aprender visual basic, finalmente si aprendes este lenguaje, procura tambien por ejemplo aprender a crear con codigo de visual basic lo que puedes hacer usando los asistentes de visual basic, incluso crear la interfaz con codigo, esto te lo digo para evitar depender de los asistentes y en un futuro evitarte problemas…
Bueno espero te sirva y no te haya hecho mas bolas la cabeza ajjaaj… bueno saludos y aqui, estare, haber si retomo el blog solo que me falta tiempo…
Vale Muy bien, Muchas Gracias de nuevo me ah servido de gran ayuda tu respuesta. Espero sigas subiendo mas blogs sobre los lenguajes de programacion para asi ir viendo uno por uno y aprender mas. Hasta conformarme con uno. Gracias. 🙂
Ok, alli te envie un correo, finalmente seme olvido decirte que lo importante tambien fuera del lenguaje que escojas, es importante saber lo que es programar en su, es decir la logica de la programacion… te recomiendo este pdf: http://blog.utp.edu.co/programacionmecatronica/files/2012/07/EsenciaLogica.pdf saludos…
De acuerdo lo checare. Muchas Gracias por el dato.
hola talvs no sabre mucho de esto pero mira cuando dice que va a crear un programa es por que en realidad al estar programando en C ya estas creando un programa minimo pero ya es un programa y pues no seria una aplicacion como tal en general puedes programar en linux usando a terminal y el comando pico o nano y para hacer correr el programa lo tienes que compilar ejemplo con gcc que es otro comando que tienes que meter y asi ya corre el programa mira si tienes dudas puedes contactarte por face conmigo buscame como ivan koka o por el correo credack_brow@hotmail.com apenas estoy empesando en esto pero te puedo ayudar en algo saludos espero le ayas entendido
Si no entendiste nada, el pendejo no es precisamente el autor de la entrada.
printf(«introdusca un numero\n»); //le pedimos al usuario un dato
Cambia la letra s por z, introduzca
Buenas tardes, por lo que leí, decimos que para leer un dato cualquiera, de entrada, se ocupará un scanf(«%d»,&variable); pero, ¿Cómo sería para varios datos que se ingresarán en línea recta, cada uno asignado a una variable?
¿Sería correcto de esta forma?
scanf(«%d,%d,%d»,&variable_1,&variable_2,&variable_3);
Te pregunto porque al momento de ingresar un dato, este a pesar de no tener límite, (puede ser 12412515123412312) además leí por ahí que scanf() sólo sirve para un dato..
Muchas gracias de antemano, que tengas un buen día.
Hola scanf asi es.. solo sirve para un dato mm hace rato que deje de programar en c y nose si todavia continue con este curso.. pero si mal no recuerdo por ejemplo si pones scanf(«%d,%d,%d
«,&variable,&variable,$variable); y escribes algo como 663483383 no te va a almacenar todo el numero ya que si te fijas todas las variables o parametros de scanf estan separados por coma pero esta juntos es decir no estan separados por ejemplo %d, %d, … parametro coma y espacio..
entonces lo que se podria hacer por ejemplo esto… scanf(“%d, %d, %d”, &variable_1, &variable_2, &variable_3);
y podrias por ejemplo almacenar tres datos asi 523456543 243533465 33454433 cada ves qe das un espacio podras almacenar en la variable distinta
pero la verdad ya no recuerdo bien jajaja ya que deje de usar c y ya casi no recuerdo nada jajaja igual mira aqui te dejo en la seccion de mi blog en recursos tienes links a cursos si completos de c y en los cuales me estava basando para crear el mio… aqui tienes
https://aprendiendoprogramacion.wordpress.com/libreria/ y esto tambien http://www.youtube.com/user/JazzOn10 este canal tienes tutos de c…
siento no poderte ayudar mas pero la verdad es que ya seme olvido C Dx jajaja saludos y espero te sirva de guia por lo menos..
Buenas tardes!!!!!!!!!!!!!!!!!
Soy relativamente nuevo en esto de la programación mas en el lenguaje C.
He tratado de investigar la forma de comprobar que tipo de dato esta guardado en una variable. Hata ahora he encontrado varias opiniones y las he probado sin ningun resultado satisfactorio.
El programa que estoy realizando es sencillo, el usuario introduce 3 numero y e programa dice cual es el mayor de los 3, fácil y sencillo por ahora, todo esto lo meti en un ciclo Do While para dar la opcion al usuario de repetir las comparaciones hasta que se canse o se cumpla la condicion que lo saque del ciclo.
Ahora, en donde llevaba clases de programación, el maestro siempre nos decia que nuestros programas deben estar habilitados para todos los posibles errores u horrores que un usuario pueda cometer.
Así que intente que si el usuario en vez de meter un numero en la primera vez que se lo pide mete una letra, le madara un mensaje de error y se terminara el programa y asi con cada vez que meta un numero.
Lo hice de la siguiente manera:
if ((num1%num1)!=0) break; //dentro de las operaciones de num1 utilice todos los operadores
/*pero el ciclo no se rompe, ya realice muchas modificaciones al codigo y a veces si me saca el mensaje de error pero me sigue pidiendo los demas datos, encontre que en javascript utilizan lo que es is_numeric, is_string, pero creo que en c no sirve a menos que tenga que incluir alguna libreria para poder utilizarlos */
Agradeceria me ayudara con este problema.
Saludos!!!!!!!!!!!!!!!!!!!!!!!!!
Hola Hernan Cano, he visto que tenias el mismo problema que tengo yo ahora, como lo solucionaste?
Gracias de antemano!
Perdon, estoy con el mobil y me equivoqué al leer el nombre Romeo. Espero noticias tuyas!
Gracias.
Buenos días, colegas.
Estoy interesado en desarrollar en C++. Para ello he escogido dos IDE, que son “Dev C++” y “CodeBlocks”.
Estoy necesitando un tutorial que me enseñe a desarrollar un formulario como el de la imagen. Por el momento sólo necesito la interfaz, después analizaría lo referente a leer y alimentar datos en el archivo de datos.
¿Me informan de alguno?
Sé que Dev C++ tiene “Archivo – Nuevo – Proyecto – Basic – Windows Application”, pero no sé avanzar más allá, si es por aquí.
Igualmente en CodeBlocks está “File – New – Project – Win32 GUI Project”, así como “File – New – Project – wxWidgets Project”, así como “wxSmith”, pero tampoco sé cómo avanzar más allá, si es por aquí.
He estado leyendo varios tutoriales y algo de información donde se menciona que además de DevC++ o de CodeBlocks también debo descargar e instalar otros instaladores como MigW, wxSmith, wxWidget, GNU CC, Package Manager, y varias cosas más (unos documentos mencionan uno, otro documento menciona otro diferente, y así). ¿Acaso al descargar e instalar el DevC++ o el CodeBlocks no viene completo?
Otra más: sólo veo tutoriales que enseñan a escribir aplicaciones de consola. Pero creo que desde hace más de dos décadas un programador debe estar pensando en desarrollar en ambiente Windows. ¿Por qué hay tanta referencia (considero que toda, incuso las que tienen algo sobre apps Windows) a programar para DOS (consola)? ¿Por qué son tan escasas las referencias a aplicaciones Windows?
Gracias.
HERNAN CANO MARTINEZ
jhernancanom en hotmail
[[ imagen ]]
Hola, que sepas que sigo leyendo tu blog, un poco desactualizao je je.
Me gusta el diseño nuevo, no se si ya te lo dije en algún otro comentario.
Un saludo y buenos tutoriales, todo muy machacadito para principiantes
Hola theneowriter
ejjejeje Asi es no e podido actualizar mucho ejejje
Igualmente yo e estado viendo tu blog y me alegra espero sigas con el curso de C
Saludos….