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.
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 |
| DdF | C | Descripción |
|---|---|---|
| > | > | Mayor |
| ≥ | >= | Mayor o igual |
| < | < | Menor |
| ≤ | <= | Menor o igual |
| = | == | Igual |
| ≠ | != | Diferente |
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.
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:
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,
Ejemplos. Para x = 4, y = 2, z = 7:
x >= 5? 1:0 se evalúa a 1
x >= 5? y:z se evalúa a 7
x <= 5? y:z se evalúa a 2
x ? z+y:z-y se evalúa a 9
x >= 0 ? sqrt(x):0 se evalúa a 2.0
(sqrt: raíz cuadrada, prototipo en math.h)
| DdF | C | Descripción |
|---|---|---|
| : ? | : ? | Operador condicional c ? e1 : e2 |