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 |