Home
Username:
Password:
C Programming (Español) Tutorials

Programa Básico del C / Variables

Subtitles of the Movie

El programa "Hello World" es muy sencillo. Veamos como hacerlo un poco mas sofisticado. En esta seccion veremos el concepto de variables. Voy a agregar algunas lineas de codigo al programa "Hello World". Primero voy a escribir esta otra linea: "printf("My age is 36");". En caso de que le interese, mi edad es de hecho 36 anos. Esta es una sencilla linea que como la anterior despliega la frase "My age is 36". Compilamos el programa, lo ejecutamos y obtenemos el texto "My age is 36". Esto es excelente. Al pulsar la tecla "Enter" la ventana desaparece. El programa aun es muy sencillo y funciona correctamente. Ahora veamos el numero 36. Es claro que este programa siempre desplegara el numero 36. Veamos como podemos desplegar una edad que varie cada vez. Esta puede ser 36, 38, 12, 115, etc., es decir, vamos a introducir el concepto de variable. Lo haremos de esta manera. Primero adicionamos esta otra linea: "age = 36" y un punto y coma. Observe que el numero 36 es de color azul. Esta es otra funcion del Entorno Integrado de Desarrollo Dev C++ en la que todos los numeros son de color azulÉ para no tener que preocuparnos por diferenciarlos. Modificamos la funcion "printf" para que despliegue otro texto ademas de "My age is 36". Queremos que de alguna manera obtenga el valor desde aqui. Veremos como hacerlo en un momento; por ahora nos aseguramos de que el programa funciona. Conservamos el texto "My age is" y queremos que sea leido el valor del elemento "age". Veamos como insertar este elemento "age" en esta linea. Lo hacemos de esta manera. Incluimos un signo de porcentaje y al final agregamos el elemento "age". La funcion "printf" funciona de esta manera: se despliega la frase "My age is", y al encontrar el signo de porcentaje, esta reconoce que debe examinar la variable al final. En particular, esta examina el signo de porcentaje y la letra "d" que significa que buscamos un numero decimal. Esto no es exactamente lo que ocurre, pero es suficiente. El numero decimal examinadoÉ se encuentra dentro del elemento "age" al cual en la linea anterior se le ha asignado el valor 36. Veamos si funciona. Se que esto no va a funcionar porque he omitido un elemento deliberadamente, pero veamoslo de cualquier manera. Hacemos clic en el boton "Compile Project" y obtenemos tres errores. Veamoslos. El error "Age undeclared, first use in this function" indica que el elemento "age"É no es reconocido por el compilador. Asignamos el valor 36 al elemento "age", pero Àque es "age"? ÀQue es este elemento "age" que estamos utilizando? No lo hemos inventado; debemos inventar un elemento antes de utilizarlo y una palabra comun para designar este proceso es la declaracion. Solo tenemos que declarar el elemento "age" de esta manera: vamos a la parte superior de la funcion, pues es muy importante declarar alli las variables; escribimosÉ "int age" y un punto y coma. Esta es la declaracion de la variable "age". Ademas declaramos que "age" es de tipo "int", pero Àque es un "int"? "int" se refiere a un numero entero, asi que la variable "age" se ha declarado como tal. Un entero es un numero integralÉ que puede ser negativo, cero, positivoÉ y que no puede tener un componente decimal o fraccionario. Simplemente es un numero completo. Veamos lo que ocurre al compilar. No obtenemos ningun error, asi que lo ejecutamos. Obtenemos el texto "My age is 36". No parece haber ninguna diferencia con el programa anterior, pero observe que esta vez la edad fue leida a partir de la variable "age". Hemos visto una primera revision de la utilizacion de las variables. Para quienes no conozcan las variables o quienes nunca han programado, aqui tenemos una vision general al respecto. Es dificil describir una variable. Tecnicamente, es una pequena parte de la memoria con un nombre a la cual podemos asignar valores. El nombre en particular de este ejemplo es "age", asi que tenemos una variable llamada "age"É o una parte de la memoria llamada "age" a la cual podemos asignar un valor. En este caso le asignamos el valor 36. La variable "age" es un ejemplo clasico de las variables. Si esta definicion no es suficiente, veamos esta otra. Por supuesto, estos valores pueden cambiar. Una vez asignamos el valor 36 a la variable "age", podemos luego asignarle otro valor si queremos. Esta es una decision del programador. Es por esto que se les denomina variables: sus valores pueden cambiar o variar. Sin embargo, las variables pueden verse como cajas que pueden contener algun elemento. Esto es como si tuvieramos una caja. Imagine una caja pequena y que en la parte frontal esta tiene una etiqueta. Esa etiqueta es el nombre de la variable. La caja es la variable y la etiqueta es su nombre; luego ingresamos elementos a la caja. Imagine que tenemos la variable "age". Tenemos una caja llamada "age" y dentro de ella ingresamos el numero 36. Me agrada pensar de esta manera. Podemos tomar el valor 36 e ingresar otro valor o sumar otros valores a 36. Podemos agregar 3 y obtener 39, asi que el contenido de la caja varia con el tiempo. En cuanto a los nombres de las variables, veamos unos aspectos importantes. Existen normas para los nombres de las variables. A esta variable la llamamos "age"É y esto esta bien. Existen normas que deciden los nombres que podemos o no utilizarÉ y aqui tenemos una de ellas: todas las variables deben tener nombres unicos; no podemos tener 2 variables con el nombre "age"É o el compilador no podra diferenciarlas. Esto es cierto a medias. Al aprender mas acerca de las funciones veremos que podemos tener dos variables "age" en dos funciones diferentes, pero no por ahora. Los nombres solo pueden contener caracteres, letras en mayuscula y minuscula, digitos y el caracter de subrayado. No podemos utilizar los signos de dolar, de adicion, etc. porque estos no son permitidos en el C, aunque tal vez lo son en otros lenguajes. Los nombres no pueden comenzar con un digito, pero si con cualquier otro caracter permitido. Veamos lo que ocurre si utilizamos un nombre no valido. Por ejemplo, cambiamos la variable "age" por "36age"É en estas tres lineas y veamos lo que ocurre al compilar el programa. Obtenemos 23 errores; no cometimos tantos errores, pero el programaÉ claramente no funciona. El error "Nondigits in number and not hexadecimal"É indica que hemos confundido al compilador. El compilador no sabe que hacer en este caso. Deshacemos la accion y regresamos al punto inicial. Los nombres de las variables no pueden comenzar con un digito. Veamos lo que ocurre si incluimos los mismos digitos en otro lugar del nombre de la variable. Ahora el nombre de la variable es "age36". No obtenemos ningun error, asi que este nombre funciona correctamente. No utilizaremos el nombre "age36". Este nombre no es apropidadoÉ porque implica que la edad siempre va a ser 36 aunque vamos a cambiarla cada vez. Finalmente, tenemos otra norma para los nombres de las variables: estos deben tener menos de 31 caracteres. Debemos describir la variable con 31 caracteres o menos. Algunos compiladores permiten mas de 31 caracteres; sin embargo, los primeros 31 caracteres de dichos nombres deben ser distintos. No podemos tener un nombre de variables comoÉ "anextremelyverylongvariablenameone" o "aextremelylongvariablenametwo"É que exceden el limite de 31 caracteres al llegar a las letras "one" y "two". Estas dos variables serian consideradas como la misma variable, lo cual no es conveniente. De cualquier manera, no debemos crear variables con nombres tan largos. Veamos otros aspectos relacionados. Ya vimos el tipo de variables "int" para un numero entero. Existen muchos tipos de variables, los cuales veremos en el proximo capitulo. Por ahora veremos el termino "int". Esta es una norma muy importante: las variables deben ser configuradas antes de poder ser leidas. Debemos agregar elementos a la caja antes de averiguar su contenido. Este proceso se denomina inicializacion. Aqui hemos inicializado la variable "age" con el valor 36, es decir, le hemos asignado ese valor. Hemos asignado el valor 36 a la variable y luego, en la sentencia "printf", hemos revisado su contenido, es decir dicho valor 36, y lo hemos desplegado. Debemos ingresar un elemento a la caja antes de revisar su contenido, pero muchos programadores que se equivocan en este aspecto, incluso yo mismo. Todos los programadores alguna vez se han equivocado en este aspecto, pues este es uno de los "bugs" mas comunes. Debemos inicializar las variables antes de intentar revisar su contenido. Aqui no lo he hecho, pero prometo que lo hare en adelante. Al desarrollar un programa del C, aunque realizamos este proceso una y otra vez, a veces olvidaremos hacerlo. Lo haremos en mayor o menor medida, pero alguna vez lo olvidaremos. Le aseguro que alguna vez olvidara hacerlo. Veamos lo que ocurre si no inicializamos una variable. Esta es la linea que inicializa la variable: "age = 36". Veamos lo que ocurre si eliminamos esta linea. Ya esta. Vamos a ejecutar el programa sin antes inicializar la variable. Lo hacemos asi. Ahora vamos a compilar. El programa se compila sin errores; tal vez piense que no cometimos ningun error, pero algo no funciona bien. Ejecutamos el proyectoÉ y obtenemos el texto "My age is 575". ÀPor que obtenemos el valor 575 y no 0, 36 u otro valor? La respuesta es que cualquier variable que no haya sido inicializada explicitamente va a contener un numero aleatorio. Este no es un generador de numeros aleatorios, pues recuerde que una variable es solamente una parte de la memoria. Cuando separamos una parte de la memoria y le asignamos un nombre, dicha memoria ya contiene algun valor aun si pensamos que le agregamos o no algun elemento. La memoria siempre contiene algun valor. Esta parte de la memoria llamada "age" contiene el numero 575É y ese es simplemente un numero aleatorio que se encuentra alli. Creo que no debemos utilizar este termino porque este es un numero que no podemos conocer, pero ya que este puede ser cualquier numero, lo llamamos numero aleatorio. Aqui vemos claramente que es peligroso no inicializar las variables. Simplemente estamos desplegando el numero, asi que aqui no ocurre nada malo en particular, pero algunas variables son mas cruciales en la correcta ejecucion de un programaÉ que la variable "age" que hemos creado. Si insertamos un numero aleatorio dentro de la variable, el programa podria bloquease facilmente. Esto es todo en cuanto a la inicializacion de las variables. Vamos a ingresar de nuevo la linea de codigo. Ahora la variable "age" contiene el valor 36. La siguiente norma es que a las variables les asignamos valores utilizando el signo de igualdad. Veamos este aspecto. Aqui tenemos el signo de igualdad, asi que estamos ingresando este valor dentro de la caja. Podemos hacerlo de nuevo al copiar y pegar este codigo. Vamos a comprobar la variacion de las variables. Copiamos estas dos lineas y las pegamos aqui. Esta vez asignamos el valor 37 y ejecutamos el programa. Debemos obtener tres lineas, es decir, una linea con el valor 36 seguida por otra linea con el valor 37. Veamos si funciona. Compilamos, no obtenemos errores y ejecutamos. Obtenemos el texto "My age is 36" y "My age is 37". Excelente. Vamos a resumir los conceptos de la declaracion de las variables. Las variables deben ser declaradas antes de poder ser utilizadas. Intentamos compilar el programa "Hello World" antes de incluir la lineaÉ al inicio del programa con la sentencia "int age" y este no se compilo. Esta norma es obvia y el compilador nos indicara si hemos cometido ese error. Asi mismo, debemos declarar las variables al inicio de la funcion. Esto significa que no podemos declarar una variable arbitrariamente justo antes de utilizarla o en medio de una funcionÉ o el compilador generara un error. Al obtener dicho error debemos ubicar la declaracion al inicio de la funcion a la cual pertenece. Esto es muy sencillo. Finalmente, resumamos como declarar una variable. Especificamos el tipo, en este caso "int" o entero, y luego el nombre de la variable, en este caso "age" seguido por un punto y coma. Con esto concluimos el tema de las variables.

Tutorial Information

Course: C Programming (Español)
Author: Mark Virtue
SKU: 33759
ISBN: 1-933736-81-X
Release Date: 2007-04-16
Duration: 21.5 hrs / 139 lessons
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 98,729 Video Tutorials (23,265 free)
  • Video Available as Flash or QuickTime
  • Over 1026 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available