Resumen: Entrega nº19 del tutorial "Curso básico de programación en lenguaje C desde cero".
Codificación aprenderaprogramar.com: CU00519F

 

 

OPERADORES RELACIONALES Y OPERADORES LÓGICOS EN C

Se llaman operadores relacionales o de comparación a aquellos que permiten comparar dos valores evaluando si se relacionan cumpliendo el ser menor uno que otro, mayor uno que otro, igual uno que otro, etc. Los operadores lógicos permiten además introducir nexos entre condiciones como “y se cumple también que” ó . “o se cumple que”.

logo lenguaje programacion C

 

Los operadores de comparación o relacionales básicos en C son:

Operador

Significado

Operador <

Menor que

Operador <=

Menor o igual que

Operador >

Mayor que

Operador >=

Mayor o igual que

Operador ==

Igual a

Operador !=

Distinto de ó no igual que

 

 

Es importante tener en cuenta que para comparar si una variable A es igual a otra debemos usar A == B en lugar de A = B. El doble signo igual se usa en comparaciones mientras que el signo igual sencillo se usa en asignaciones.

Para determinar si una variable A tiene distinto contenido que una variable B debemos usar A != B. En C no se admite la sintaxis A <> B que usamos en pseudocódigo.

Suponiendo que la variable A tiene un valor A = 5 y la variable B un valor B = 7 podríamos plantear las siguientes expresiones:

Expresión

Resultado

Ejemplo código

A == B

0 (falso)

printf ("A == B vale %d\n", (A == B) );

A != B

1 (verdadero)

printf ("A != B vale %d\n", (A != B) );

A > B

0 (falso)

printf ("A > B vale %d\n", (A > B) );

A >= B

0 (falso)

printf ("A >= B vale %d\n", (A >= B) );

A < B

1 (verdadero)

printf ("A < B vale %d\n", (A < B) );

A <= B

1 (verdadero)

printf ("A <= B vale %d\n", (A <= B) );

 

 

Hay que tener en cuenta que en C al no tener el tipo booleano entre sus tipos predefinidos el resultado de evaluar estas expresiones es un cero ó un uno, equivaliendo el cero a “falso” y el uno a “verdadero”.

Ejecuta un programa definiendo las variables A y B como de tipo entero, asígnales los valores correspondientes y comprueba las expresiones usando el código de ejemplo que hemos indicado. Define otras variables y haz algunas comprobaciones por tu cuenta.

 

 

OPERADORES LÓGICOS EN C

Los operadores lógicos básicos en C son los siguientes:

Operador

Significado

Operador &&

Operador lógico and

Operador ||

Operador lógico or

Operador !

Operador lógico not

 

 

Suponiendo que tenemos cuatro variables A, B, C y D cuyos valores se han establecido en A = 5, B = 7, C = 2, D = 5 podríamos evaluar estas expresiones:

Expresión

Pregunta equivalente

Resultado

Ejemplo código

(A == B) && (A < B)

¿Es A igual a B y A menor que C?

0 (falso)

printf ("Pregunta (A == B) && (A < B) vale %d\n", (A == B) && (A < B));

(A == 5) || (A > 7)

¿Es A igual a 5 ó es A mayor que 7?

1 (verdadero)

printf ("Pregunta (A == 5) || (A > 7) vale %d\n", (A == 5) || (A > 7));

! ( A == 5 )

¿A es NO igual a 5?

0 (falso)

printf ("Pregunta ! ( A == 5 ) vale %d\n", ! ( A == 5 ));

 

 

Ejecuta un programa definiendo las cuatro variables A, B, C, D como de tipo entero, asígnales los valores correspondientes y comprueba las expresiones usando el código de ejemplo que hemos indicado. Define otras variables y haz algunas comprobaciones por tu cuenta. Es importante que escribas tu propio código y trates de razonar sobre los resultados esperados y los resultados obtenidos. En muchas ocasiones el resultado obtenido no será el esperado y como programador deberás de ser capaz de determinar el por qué de estas divergencias.

Iremos adquiriendo soltura en el uso de estos operadores cuando realicemos ejercicios usando expresiones condionales.

Ten en cuenta que C tiene un gran número de operadores, de los que aquí solo hemos expuesto los más básicos o habituales.

 

 

EJERCICIO

Dadas las variables de tipo entero con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:

a) A > 3                                                            b) A > C                                               c) A < C

d) B < C                                                            e) B != C                                               f) A == 3

g) A * B == 15                                                   h) A * B == -30                                    i) C / B < A

j) C / B == -10                                                    k) C / B == -4                                       l) A + B + C == 5

m) (A+B == 8) && (A-B == 2)                       n) (A+B == 8) || (A-B == 6)

o) A > 3 && B > 3 && C < 3                           p) A > 3 && B >= 3 && C < -3

 

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

 

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: