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.

    30 Respuestas a “Curso – Lenguaje C Variables y entrada de datos por teclado

    1. Joselyn 13 junio, 2021 en 5:00 PM

      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»);
      }

    2. Marcela futinico 24 May, 2020 en 8:25 AM

      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…

    3. Joey 10 septiembre, 2018 en 4:01 PM

      Me pareció buen post, sigue así quien quiera que seas. Me gusta como explicas. 👍👍👍

    4. Nursing Test Bank 10 julio, 2017 en 3:01 AM

      Hi, its good piece of writing about media print, we all be aware of media is a
      fantastic source of facts.

    5. Juan Ramón Sánchez Fajardo 22 abril, 2017 en 4:36 PM

      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

    6. Estudiante 22 marzo, 2017 en 7:01 PM

      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

    7. merit gomez lopez 4 marzo, 2016 en 8:15 AM

      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

    8. yahaira 3 octubre, 2014 en 9:01 PM

      hola quería saber en teoría que es la lectura de datos en el lenguaje C, y la impresión de mensajes

    9. angel 20 May, 2014 en 5:54 PM

      alguien que este por hay me puede decir las carateristica de una varible es que tengo que hacer un deber

    10. Felipe Antonio Valenzuela Cruzat 15 abril, 2014 en 9:48 PM

      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

    11. claro 17 marzo, 2014 en 12:19 PM

      practica 1

      #include
      int main ()
      {
      int a;
      printf(«introdusca su edad\n»);
      scanf(«%i»,&a);
      printf(«su edad es: %i\n», a);
      return 0;
      }

    12. Anonimo 21 julio, 2013 en 10:45 AM

      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.

      • Gcreativa 21 julio, 2013 en 2:19 PM

        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..

        • Anonimo 22 julio, 2013 en 11:00 AM

          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 🙂

          • Gcreativa 22 julio, 2013 en 12:40 PM

            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…

      • ivan 3 septiembre, 2013 en 7:33 AM

        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

    13. Rafael 26 May, 2013 en 1:14 AM

      Si no entendiste nada, el pendejo no es precisamente el autor de la entrada.

    14. Su 5 febrero, 2013 en 10:23 PM

      printf(«introdusca un numero\n»); //le pedimos al usuario un dato
      Cambia la letra s por z, introduzca

    15. Isabel Bernardita 6 octubre, 2011 en 2:40 PM

      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.

      • Lupita 7 octubre, 2011 en 5:32 PM

        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..

    16. Romeo 3 May, 2011 en 1:48 PM

      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!!!!!!!!!!!!!!!!!!!!!!!!!

    17. Hernan Cano 10 abril, 2011 en 1:48 PM

      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 ]]

    18. theneowriter 3 febrero, 2011 en 11:53 AM

      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

      • Lupita 4 febrero, 2011 en 2:11 PM

        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….

    Replica a Anonimo Cancelar la respuesta