C de dentro a fuera

De Wiki Asqueados
Revisión del 11:38 11 nov 2011 de Mu (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Comentarios

Una línea

// Esto es un comentario

Esto ya no;

En bloque

/* Desde el símbolo barra asterisco

hasta el símbolo asterisco barra

es un comentario */

Expresión

Una expresión es algo que tiene un valor. El valor puede ser un número entero, real (lo que en C es float) o carácter, básicamente.

Ejemplos

5 // entero

'a' // carácter

5.0 // float

5+10

1<3

Variables

Las variables permiten almacenar un valor y asociarlo con un nombre.

Los nombres de las variables empiezan por una letra y contienen letras, números y guiones bajos (_). Atención con dos cosas:

  1. Las mayúsculas y las minúsculas se distinguen en todas las cosas de C.
  2. No valen caracteres "raros", sólo los del inglés (nada de eñes ni de acentos).

Las variables son una expresión que contiene el valor asociado.

Ejemplos

variable // las variables son expresiones en sí

variable == 3 //En C se compara con ==

Sentencias

Son las partes del programa que tienen sentido. Acaban en punto y coma (;), con excepciones que veremos adelante.

Hay bastantes tipos.

Asignación

El valor de una expresión se puede guardar en una variable. Para asignar se usa =. No confundir con == que es el operador de igualdad (esto provoca muchísimos quebraderos de cabeza, porque a veces queremos comparar con algo y lo asignamos).

Ejemplos

variable = 5;

variable_caracter='a';

variable_float=5; //C transforma el 5 en 5.0 si es necesario

variable_float = variable + 3.0; //ahora transforma el entero en float

variable = variable +1; // aumenta en 1 el valor que tenía la variable

Abreviación

El último ejemplo también puede expresarse así:

variable +=1;

También se pueden usar -=, *=, /=, etc.

Nota:

Las asignaciones también son expresiones. Devuelven el nuevo valor de la variable

variable = 5; // devuelve 5

variable *=2; // ahora devuelve 10

variable2 = variable = 5; /* como la asignación es una expresión, una asignación también puede asignarse. Sirve para dar a varias variables el mismo valor.*/


Sentencias de control

Hacen variaciones sobre el flujo normal del programa (que consiste en ejecutar las sentencias una tras otra).

Enumero las más importantes:

 
if (<condicion>) 
  <sentencia>  //Se ejecuta si <condicion> es verdadera (distinto de 0).

if (<condicion>) 
  <sentencia1>
else
  <sentencia2>  //Se ejecuta si no se cumple la condicion

while (<condicion>)
   <sentencia>  //Se ejecuta mientras la condicion sea cierta

for ( <inicializacion> ; <condicion> ; <paso> )
   <sentencia>


Esta es más complicada. Al principio del bucle se hace <inicializacion>. Cada iteración se hace <paso> y se ejecuta la <sentencia>. Se sale del bucle cuando deje de cumplirse la condición. <inicializacion> y <paso> son sentencias, y <condicion> es una expresión numérica.

Casi siempre se usa el for de esta forma, que se verá mucho más clara:

 
for ( i = <valor_inicial> ; i < <valor_final> ; i++ )
   <sentencia>

Esto ejecuta la sentencia con i desde el valor inicial hasta el final. Nota: El operador ++ que aparece por la i se llama autoincremento y sirve para incrementar la variable después de usarla.

Llamadas a funciones

La llamada a una función es una sentencia. Ya hablaremos más adelante sobre las funciones.


Bloques

Un bloque permite agrupar sentencias y definir variables que sólo van a usar esas sentencias. Equivalen a lo que en PL/SQL eran bloques anónimos.

Un bloque tiene la siguiente forma:

 
{
<declaración de variables>

<sentencia1>
<sentnecia2>
 .
 .
 .
<sentenciaN>
}

Tanto la declaración como las sentencias son opcionales. Un bloque podría ser así:

 
{}