Diferencia entre revisiones de «C de dentro a fuera»
(No se muestran 15 ediciones intermedias de 2 usuarios) | |||
Línea 4: | Línea 4: | ||
// Esto es un comentario | // Esto es un comentario | ||
+ | |||
Esto ya no; | Esto ya no; | ||
− | === | + | ===En bloque=== |
+ | |||
− | |||
/* Desde el símbolo barra asterisco | /* Desde el símbolo barra asterisco | ||
− | + | ||
− | + | hasta el símbolo asterisco barra | |
− | + | ||
+ | es un comentario */ | ||
+ | |||
==Expresión== | ==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. | 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=== | + | ====Ejemplos==== |
− | + | ||
5 // entero | 5 // entero | ||
Línea 24: | Línea 27: | ||
5.0 // float | 5.0 // float | ||
− | + | ||
− | |||
− | |||
5+10 | 5+10 | ||
1<3 | 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 // 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: | ||
+ | |||
+ | <nowiki> | ||
+ | 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> | ||
+ | |||
</nowiki> | </nowiki> | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <nowiki> | ||
+ | for ( i = <valor_inicial> ; i < <valor_final> ; i++ ) | ||
+ | <sentencia> | ||
+ | </nowiki> | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | [[Categoría:Informática]] |
Revisión actual del 11:38 11 nov 2011
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í:
{}