http://lsi.vc.ehu.es/pablogn/docencia/FdI/FdIc/labs/a1/htm/oper.html
Operadores en C
Operadores en C
Operadores de asignación
La operación más importante en cualquier lenguaje de programación es la asignación:
| DdF | C | Descripción |
|---|---|---|
| ← | = | Asignación |
En C hay muchos operadores de asignación que serán en realidad simplificaciones de expresiones más complejas, como las auto-operaciones (+=, -=, *=, /=, &=, ...) y los pre/post incrementos/decrementos (++, --).
En general estas expresiones no podrán ser utilizadas en los diagramas de flujo.
Operadores aritméticos
Cabe destacar que se diferencian la división entera y la división real, según los operandos.
| DdF | C | Descripción |
|---|---|---|
| + | + | Suma, adición |
| - | - | Resta, sutracción |
| . | * | Multiplicación, producto |
| Div | / | Cociente división entera |
| Mod | % | Resto división entera |
| / | / | División |
Operadores relacionales
| DdF | C | Descripción |
|---|---|---|
| > | > | Mayor |
| ≥ | >= | Mayor o igual |
| < | < | Menor |
| ≤ | <= | Menor o igual |
| = | == | Igual |
| ≠ | != | Diferente |
Operadores lógicos
Los operandos son considerados falsos (valor 0) ó ciertos (valor distinto de 0). El resultado siempre es 0 ó 1.
| DdF | C | Descripción |
|---|---|---|
| ^ | && | And, y, conjunción |
| ∨ | || | Or, o, disyunción |
| ¬ | ! | Not, no, negación |
Para estudiar el resultado se utilizan las tablas de verdad.
Operadores bit a bit
Afectan a los operandos bit a bit, por lo que se aplica la operación lógica a cada uno de ellos. El resultado bit a bit es 0 ó 1 pero la composición de estos resultados no tiene porqué ser 0 ó 1, como era el caso en los operadores lógicos.
| DdF | C | Descripción |
|---|---|---|
| AndBB | & | And bit a bit |
| OrBB | | | Or bit a bit |
| CompBB | ~ | Complemento a uno o negación bit a bit |
| XorBB | ^ | O-exclusiva bit a bit |
Las tablas de verdad, aplicadas bit a bit a los operandos, son:
Operador condicional
Es un operador ternario, es decir, tiene tres operandos.
Su funcionamiento es el siguiente: para una ejecución c ? e1 : e2 siendo c, e1 y e2 tres expresiones,
- Se evalúa c
- Si el resultado es cierto (es decir, distinto de cero)
- se evalúa e1 y éste sera el resultado.
- Si no (el resultado es falso o cero)
- se evalúa e2 y éste sera el resultado.
- Si el resultado es cierto (es decir, distinto de cero)
Ejemplos. Para x = 4, y = 2, z = 7:
- La expresión
x >= 5? 1:0se evalúa a1 - La expresión
x >= 5? y:zse evalúa a7 - La expresión
x <= 5? y:zse evalúa a2 - La expresión
x ? z+y:z-yse evalúa a9 - La expresión
x >= 0 ? sqrt(x):0se evalúa a2.0(sqrt: raíz cuadrada, prototipo enmath.h)
| DdF | C | Descripción |
|---|---|---|
| : ? | : ? | Operador condicional c ? e1 : e2 |
No hay comentarios:
Publicar un comentario