En las operaciones de decremento e incremento, en función de la posición del operador, se consigue un preincremento (++A) o un postincremento (A++).
2.6.3 Relacionales
< | Menor que |
> | Mayor que |
>= | Mayor o igual que |
<= | Menor igual que |
== | Igual |
!= | Distinto |
?: | Expresión condicional |
2.6.4 Lógicos
! | NOT |
&& | AND |
|| | OR |
2.6.5 De bits
~ | Complemento a 1 |
& | AND |
^ | OR EXCLUSIVA |
| | OR |
» | Desplazamiento a derechas |
« | Desplazamiento a izquierdas |
2.6.6 Punteros
& | Directión |
* | Indirectión |
-> | Puntero a estructura |
Orden de precedencia de los operadores:
2.7 Funciones
Las funciones son bloques de sentencias; todas las sentencias se deben enmarcar dentro de las funciones. Al igual que las variables, las funciones deben definirse antes de utilizarse.
Una función puede ser invocada desde una sentencia de otra función. Una función puede devolver un valor a la sentencia que la ha llamado. El tipo de dato se indica en la definición de la función; en el caso de no indicarse nada se entiende que es un int8 y en el caso de no devolver un valor se debe especificar el valor VOID. La función, además de devolver un valor, puede recibir parámetros o argumentos.
La estructura de una función es:
Tipo_Dato Nombre_Funcion (tipo param1, param2,….)
La forma de devolver un valor es mediante la sentencia RETURN:
Donde expresión debe manejar el mismo tipo de dato que el indicado en la definición de la función. En el caso de no devolver nada se finaliza con RETURN, al encontrar esta sentencia el compilador vuelve a la ejecución de la sentencia de llamada. También se puede finalizar la función sin RETURN, tan sólo con la llave de cierre “}”.
Las funciones pueden agruparse en ficheros de librerías <fichero.h>, que se pueden utilizar mediante la directiva #include <fichero.h>.
2.8 Declaraciones de control
Las declaraciones son usadas para controlar el proceso de ejecución del programa. Las que admite CCS son:
•If-Else.
•While.
•Do-While.
•For.
•Switch-Case.
•Return.
•Break, Continue y Goto.
2.8.1 IF-ELSE
Con la ayuda de IF-ELSE se pueden tomar decisiones.
NOTA |
Los elementos que se encuentran entre corchetes [ ] son opcionales. |
Primero se evalúa la EXPRESIÓN y si es cierta (TRUE o 1) ejecuta la SENTENCIA_1, en el caso contrario (FALSE o 0) ejecuta la SENTENCIA_2.
Pueden anidarse los IF-ELSE dando lugar a los ELSE-IF; esto permite tomar decisiones múltiples.
En este caso las EXPRESIONES se evalúan en orden, si alguna de ellas es cierta la SENTENCIA asociada a ella se ejecutará y se termina la función. En caso contrario se ejecuta la SENTENCIA del ELSE. En ambos casos si existen varias sentencias para ejecutar se deben utiliza las llaves { }:
Ejemplos:
2.8.2 SWITCH
Switch es un caso particular de una decisión múltiple
Evalúa la expresión y en orden a la CONSTANTE adecuada realiza las sentencias asociadas. Si ninguno de los CASE corresponde a la CONSTANTE se ejecuta DEFAULT (este comando es opcional).
El comando BREAK provoca la salida de SWITCH, de lo contrario se ejecuta el siguiente CASE.
NOTA |
No pueden existir dos CASE con la misma CONSTANTE. |
Ejemplo:
2.8.3 FOR
Se usa para repetir sentencias.
En las expresiones del FOR la inicialización es una variable a la cual se le asigna un valor inicial con el que controlar el bucle. La condición de finalización sirve para evaluar ANTES de ejecutar las sentencias si es cierta o no, en el caso de ser cierta se ejecutan las sentencias y en caso contrario se sale del FOR. Por último, la expresión de incremento o decremento modifica la variable de control DESPUÉS de ejecutar el bucle.
NOTA |
Se pueden anidar bucles FOR utilizando
|