Dominando los operadores en programación C: guía completa
Operadores en programación C
En este tutorial, aprenderá sobre los diferentes operadores en programación C con la ayuda de ejemplos.
Video: Operadores aritméticos en C
Un operador es un símbolo que opera sobre un valor o una variable. Por ejemplo: + es un operador para realizar adición.
C tiene una amplia gama de operadores para realizar diversas operaciones.
Operadores aritméticos en C
Un operador aritmético realiza operaciones matemáticas como adición, sustracción, multiplicación, división, etc., sobre valores numéricos (constantes y variables).
| Operador | Significado del operador |
|---|---|
| + | adición o más unario |
| - | sustracción o menos unario |
| * | multiplicación |
| / | división |
| % | resto después de división (módulo) |
Ejemplo 1: Operadores aritméticos
// Funcionamiento de operadores aritméticos
#include <stdio.h>
int main() {
int a = 9, b = 4, c;
c = a + b;
printf("a+b = %d \n", c);
c = a - b;
printf("a-b = %d \n", c);
c = a * b;
printf("a*b = %d \n", c);
c = a / b;
printf("a/b = %d \n", c);
c = a % b;
printf("Residuo cuando a dividido por b = %d \n", c);
return 0;
}
Salida
a+b = 13 a-b = 5 a*b = 36 a/b = 2 Residuo cuando a dividido por b=1
Los operadores +, - y * calculan adición, sustracción y multiplicación respectivamente como cabría esperar.
En cálculo normal, 9/4 = 2.25. Sin embargo, la salida es 2 en el programa.
Es porque ambas variables a y b son enteros. Por lo tanto, la salida también es un entero. El compilador descarta el término después del punto decimal y muestra la respuesta 2 en lugar de 2.25.
El operador módulo % calcula el residuo. Cuando a=9 es dividido por b=4, el residuo es 1. El operador % solo puede usarse con enteros.
Suponga a = 5.0, b = 2.0, c = 5 y d = 2. Entonces en programación C,
// Al menos uno de los operandos es un número de punto flotante a/b = 2.5 a/d = 2.5 c/b = 2.5 // Ambos operandos son enteros c/d = 2
Operadores de incremento y decremento en C
La programación C tiene dos operadores: incremento ++ y decremento -- para cambiar el valor de un operando (constante o variable) en 1.
El incremento ++ aumenta el valor en 1, mientras que el decremento -- lo disminuye en 1. Estos dos operadores son operadores unarios, lo que significa que solo operan sobre un solo operando.
Ejemplo 2: Operadores de incremento y decremento
// Funcionamiento de operadores de incremento y decremento
#include <stdio.h>
int main() {
int a = 10, b = 100;
float c = 10.5, d = 100.5;
printf("++a = %d \n", ++a);
printf("--b = %d \n", --b);
printf("++c = %f \n", ++c);
printf("--d = %f \n", --d);
return 0;
}
Salida
++a = 11 --b = 99 ++c = 11.500000 --d = 99.500000
Aquí, los operadores ++ y -- se usan como prefijos. Estos dos operadores también pueden usarse como postfijos como a++ y a--. Visite esta página para aprender más sobre cómo funcionan los operadores de incremento y decremento cuando se usan como postfijo.
Operadores de asignación en C
Un operador de asignación se usa para asignar un valor a una variable. El operador de asignación más común es =
| Operador | Ejemplo | Equivale a |
|---|---|---|
| = | a = b | a = b |
| += | a += b | a = a+b |
| -= | a -= b | a = a-b |
| *= | a *= b | a = a*b |
| /= | a /= b | a = a/b |
| %= | a %= b | a = a%b |
Ejemplo 3: Operadores de asignación
// Funcionamiento de operadores de asignación
#include <stdio.h>
int main() {
int a = 5, c;
c = a; // c es 5
printf("c = %d\n", c);
c += a; // c es 10
printf("c = %d\n", c);
c -= a; // c es 5
printf("c = %d\n", c);
c *= a; // c es 25
printf("c = %d\n", c);
c /= a; // c es 5
printf("c = %d\n", c);
c %= a; // c = 0
printf("c = %d\n", c);
return 0;
}
Salida
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
Operadores relacionales en C
Un operador relacional verifica la relación entre dos operandos. Si la relación es verdadera, devuelve 1; si es falsa, devuelve 0.
Los operadores relacionales se usan en toma de decisiones y bucles.
| Operador | Significado | Ejemplo |
|---|---|---|
| == | Igual a | 5 == 3 se evalúa a 0 |
| > | Mayor que | 5 > 3 se evalúa a 1 |
| < | Menor que | 5 < 3 se evalúa a 0 |
| != | No igual a | 5 != 3 se evalúa a 1 |
| >= | Mayor o igual que | 5 >= 3 se evalúa a 1 |
| <= | Menor o igual que | 5 <= 3 se evalúa a 0 |
Ejemplo 4: Operadores relacionales
// Funcionamiento de operadores relacionales
#include <stdio.h>
int main() {
int a = 5, b = 5, c = 10;
printf("%d == %d es %d \n", a, b, a == b);
printf("%d == %d es %d \n", a, c, a == c);
printf("%d > %d es %d \n", a, b, a > b);
printf("%d > %d es %d \n", a, c, a > c);
printf("%d < %d es %d \n", a, b, a < b);
printf("%d < %d es %d \n", a, c, a < c);
printf("%d != %d es %d \n", a, b, a != b);
printf("%d != %d es %d \n", a, c, a != c);
printf("%d >= %d es %d \n", a, b, a >= b);
printf("%d >= %d es %d \n", a, c, a >= c);
printf("%d <= %d es %d \n", a, b, a <= b);
printf("%d <= %d es %d \n", a, c, a <= c);
return 0;
}
Salida
5 == 5 es 1 5 == 10 es 0 5 > 5 es 0 5 > 10 es 0 5 < 5 es 0 5 < 10 es 1 5 != 5 es 0 5 != 10 es 1 5 >= 5 es 1 5 >= 10 es 0 5 <= 5 es 1 5 <= 10 es 1
Operadores lógicos en C
Una expresión que contiene operador lógico devuelve 0 o 1 dependiendo de si la expresión resulta verdadera o falsa. Los operadores lógicos se usan comúnmente en toma de decisiones en programación C.
| Operador | Significado | Ejemplo |
|---|---|---|
| && | AND lógico. Verdadero solo si todos los operandos son verdaderos | Si c = 5 y d = 2, la expresión ((c==5) && (d>5)) es igual a 0. |
| || | OR lógico. Verdadero solo si al menos un operando es verdadero | Si c = 5 y d = 2, la expresión ((c==5) || (d>5)) es igual a 1. |
| ! | NOT lógico. Verdadero solo si el operando es 0 | Si c = 5, la expresión !(c==5) es igual a 0. |
Ejemplo 5: Operadores lógicos
// Funcionamiento de operadores lógicos
#include <stdio.h>
int main() {
int a = 5, b = 5, c = 10, resultado;
resultado = (a == b) && (c > b);
printf("(a == b) && (c > b) es %d \n", resultado);
resultado = (a == b) && (c < b);
printf("(a == b) && (c < b) es %d \n", resultado);
resultado = (a == b) || (c < b);
printf("(a == b) || (c < b) es %d \n", resultado);
resultado = (a != b) || (c < b);
printf("(a != b) || (c < b) es %d \n", resultado);
resultado = !(a != b);
printf("!(a != b) es %d \n", resultado);
resultado = !(a == b);
printf("!(a == b) es %d \n", resultado);
return 0;
}
Salida
(a == b) && (c > b) es 1 (a == b) && (c < b) es 0 (a == b) || (c < b) es 1 (a != b) || (c < b) es 0 !(a != b) es 1 !(a == b) es 0
Explicación del programa de operadores lógicos
(a == b) && (c > 5)se evalúa a 1 porque ambos operandos(a == b)y(c > b)son 1 (verdaderos).(a == b) && (c < b)se evalúa a 0 porque el operando(c < b)es 0 (falso).(a == b) || (c < b)se evalúa a 1 porque(a = b)es 1 (verdadero).(a != b) || (c < b)se evalúa a 0 porque ambos operandos(a != b)y(c < b)son 0 (falsos).!(a != b)se evalúa a 1 porque el operando(a != b)es 0 (falso). Por tanto, !(a != b) es 1 (verdadero).!(a == b)se evalúa a 0 porque(a == b)es 1 (verdadero). Por tanto,!(a == b)es 0 (falso).
Operadores bit a bit en C
Durante la computación, operaciones matemáticas como adición, sustracción, multiplicación, división, etc., se convierten a nivel de bits lo que hace el procesamiento más rápido y ahorra energía.
Los operadores bit a bit se usan en programación C para realizar operaciones a nivel de bit.
| Operadores | Significado de los operadores |
|---|---|
| & | AND bit a bit |
| | | OR bit a bit |
| ^ | OR exclusivo bit a bit |
| ~ | Complemento bit a bit |
| << | Desplazamiento a la izquierda |
| >> | Desplazamiento a la derecha |
Visite operadores bit a bit en C para aprender más.
Otros operadores
Operador coma
Los operadores coma se usan para vincular expresiones relacionadas. Por ejemplo:
int a, c = 5, d;
El operador sizeof
El sizeof es un operador unario que devuelve el tamaño de datos (constantes, variables, array, estructura, etc).
Ejemplo 6: Operador sizeof
#include <stdio.h>
int main() {
int a;
float b;
double c;
char d;
printf("Tamaño de int=%lu bytes\n", sizeof(a));
printf("Tamaño de float=%lu bytes\n", sizeof(b));
printf("Tamaño de double=%lu bytes\n", sizeof(c));
printf("Tamaño de char=%lu byte\n", sizeof(d));
return 0;
}
Salida
Tamaño de int = 4 bytes Tamaño de float = 4 bytes Tamaño de double = 8 bytes Tamaño de char = 1 byte
Otros operadores como el operador ternario ?:, operador de referencia &, operador de desreferencia * y operador de selección de miembro -> se discutirán en tutoriales posteriores.
Lenguaje C
- Fundamentos de Programación de Microprocesadores
- Operadores en C# – Guía completa de operadores en C#
- Dominando operadores bit a bit y de desplazamiento en C#: Guía completa
- Dominando los Espacios de Nombres en C#: Organización, Ámbito y Mejores Prácticas
- Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
- Cómo Pasar Arrays a Funciones en C++: Guía Práctica
- Cuatro patrones probados para funciones definidas por el usuario en C
- Dominar la programación en C: Tutorial completo para principiantes
- Operadores en Verilog: Aritméticos y de control esenciales para síntesis
- Dominando operadores en Python: Guía completa
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos