Los operadores aritméticos, relacionales y lógicos son fundamentales en C para realizar diversas operaciones matemáticas, comparaciones y evaluaciones lógicas.
#include
int main() {
// Operadores aritméticos
int resultadoSuma = 5 + 3;
int resultadoResta = 8 - 2;
int resultadoMultiplicacion = 4 * 6;
int resultadoDivision = 15 / 3;
int resultadoModulo = 17 % 4;
// Operadores relacionales
int num1 = 10, num2 = 20;
printf("num1 == num2: %d\n", num1 == num2);
printf("num1 != num2: %d\n", num1 != num2);
printf("num1 > num2: %d\n", num1 > num2);
printf("num1 < num2: %d\n", num1 < num2);
printf("num1 >= num2: %d\n", num1 >= num2);
printf("num1 <= num2: %d\n", num1 <= num2);
// Operadores lógicos
int x = 5, y = 7;
printf("(x > 3) && (y < 10): %d\n", (x > 3) && (y < 10));
printf("(x > 3) || (y > 10): %d\n", (x > 3) || (y > 10));
printf("!(x == y): %d\n", !(x == y));
return 0;
}
Los operadores de asignación se utilizan para asignar valores a variables, mientras que los operadores de incremento y decremento se utilizan para aumentar o disminuir el valor de una variable en una unidad.
#include
int main() {
int a = 5;
int b = 3;
// Operadores de asignación
a += 2; // Equivalente a: a = a + 2;
b *= 4; // Equivalente a: b = b * 4;
printf("Después de la asignación: a = %d, b = %d\n", a, b);
// Operadores de incremento y decremento
int c = 10;
int d = 7;
printf("Valor de c antes del incremento: %d\n", c);
c++; // Incremento
printf("Valor de c después del incremento: %d\n", c);
printf("Valor de d antes del decremento: %d\n", d);
--d; // Decremento
printf("Valor de d después del decremento: %d\n", d);
return 0;
}
La precedencia y la asociatividad de los operadores en C determinan el orden en que se evalúan las expresiones y cómo se agrupan los operandos en las expresiones compuestas.
La precedencia establece el orden en que se evalúan los operadores. Los operadores con mayor precedencia se evalúan primero.
()
: Mayor precedencia. Las expresiones dentro de paréntesis se evalúan primero.La asociatividad determina el orden en que se agrupan los operandos cuando hay operadores del mismo nivel de precedencia.
#include
int main() {
int resultado = 10 * 2 + 5; // Primero se multiplica, luego se suma.
printf("Resultado: %d\n", resultado);
int a = 5, b = 3, c = 2;
int expresion = a + b * c; // Se multiplica b * c primero, luego se suma a.
printf("Expresion: %d\n", expresion);
int x = 10, y = 5, z = 3;
int expresionLogica = x > y && y > z; // && tiene mayor precedencia que >
printf("Expresion lógica: %d\n", expresionLogica);
return 0;
}
10 * 2
se evalúa primero debido a su mayor precedencia, luego se suma 5
.b * c
se evalúa primero debido a su mayor precedencia, luego se suma a
.x > y
se evalúa primero debido a su mayor precedencia, luego se evalúa y > z
, y finalmente se evalúa &&
entre ellos.