Diferencia entre revisiones de «C de dentro a fuera»
Línea 131: | Línea 131: | ||
==Bloques== | ==Bloques== | ||
− | Un bloque permite agrupar sentencias y definir variables que sólo van a usar esas sentencias. | + | 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: | ||
+ | |||
+ | <nowiki> | ||
+ | { | ||
+ | <declaración de variables> | ||
+ | |||
+ | <sentencia1> | ||
+ | <sentnecia2> | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | <sentenciaN> | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | Tanto la declaración como las sentencias son opcionales. Un bloque podría ser así: | ||
+ | <nowiki> | ||
+ | {} | ||
+ | </nowiki> |
Revisión del 03:38 14 mar 2006
Contenido
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:
- Las mayúsculas y las minúsculas se distinguen en todas las cosas de C.
- 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í:
{}