Operadores Aritméticos Fundamentales
El lenguaje C prroporciona un conjunto robusto de herramientas para realizar cálculos matemáticos básicos:
- + (Suma): Calcula la adición de dos operandos.
- - (Resta): Realiza la sustracción o actúa como operador unario de negación.
- * (Multiplicación): Multiplica dos valores.
- / (División): Divide el primer operando por el segundo. Si ambos son enteros, el resultado será truncado (división entera).
- % (Módulo): Devuelve el resto de una división entera. Es indispensable que ambos operandos sean de tipo integral.
Evaluación de Relaciones y Verdad Lógica
Los operadores relacionales comparan dos valores y devuelven un resultado booleano. En C, no existe un tipo de dato booleano nativo en el estándar original; en su lugar, se utiliza el 0 para representar falso y cualquier valor distinto de cero (generalmente 1) para representar verdadero.
<(Menor que),<=(Menor o igual que)>(Mayor que),>=(Mayor o igual que)==(Igualdad),!=(Desigualdad)
Operadores Lógicos
Permiten combinar múltiples expresiones relacionales:
- && (AND lógico): Verdadero solo si ambos operandos son ciertos.
- || (OR lógico): Verdadero si al menos uno de los operandos es cierto.
- ! (NOT lógico): Invierte el valor de verdad del operando.
Asignación Compuesta
Estos operadores abrevian operaciones donde el destino de la asignación es también uno de los operandos:
x += yequivale ax = x + yx -= yequivale ax = x - yx *= yequivale ax = x * yx /= yequivale ax = x / yx %= yequivale ax = x % y
Incremento y Decremento
Los operadores ++ y -- aumentan o disminuyen el valor de una variable en una unidad, respectivamente. Pueden utilizarse de forma prefija (++a) o postfija (a++), lo cual afecta el orden de evaluación dentro de una expresión compleja.
El Operador Coma
El operador de coma permite encadenar varias expresiones en una sola sentencia. Las expresiones se evalúan secuencialmente de izquierda a derecha, y el valor resultante de toda la sentencia es el valor de la última expresión evaluada.
int x = 5;
int y = 10;
int calculo;
// Se incrementa x, luego se multiplica y, finalmente se suma x + y
calculo = (x++, y *= 2, x + y);
// Resultado: x=6, y=20, calculo=26
Operador Condicional (Ternario)
Es el único operador en C que toma tres operandos. Funciona como una estructura if-else compacta: condición ? expresión_si_cierto : expresión_si_falso.
int nivel_agua = 80;
int alerta = (nivel_agua > 75) ? 1 : 0;
El Operador sizeof
A diferencia de lo que parece, sizeof no es una función, sino un operador en tiempo de compilación que devuelve el tamaño en bytes de un tipo de dato o una variable específica.
// Uso con tipos de datos (requiere paréntesis)
size_t tamano_float = sizeof(float);
// Uso con variables o literales (paréntesis opcionales)
long mi_dato = 100L;
size_t tamano_var = sizeof mi_dato;
size_t tamano_literal = sizeof 5.25;
Precedencia y Asociatividad
La prioridad de los operadores determina el orden en que se ejecutan las operaciones en expresiones mixtas. Por ejemplo, la multiplicación y división tienen mayor precedencia que la suma. Se recomienda el uso de paréntesis para garantizar la claridad del código y evitar errores de lógica dependientes de las reglas de precedencia estándar.