22/9/11

Operadores, Expresiones y Estructuras








Hasta ahora, prácticamente hemos visto, como el protocolo esencial, para realizar un programa en C; y algunas funciones muy importantes, como son las funciones de lectura e impresión (scanf y printf, respectivamente).

Ahora veremos, otros aspectos fundamentales, como lo son los operadores, que pueden ser: lógicos, matemáticos, relacionales, etc. Las expresiones, y las estructuras: de secuenciación, de seleccion y de interacción.

Operadores

Un operador, es un símbolo que indica al compilador que se lleve a cabo cuentas, manipulaciones matemáticas o lógicas.

TABLA 3.1

Todos estos operadores se pueden aplicar a constantes, variables y expresiones. El resultado es el que se obtiene de aplicar la operacion correspondiente entre los dos operandos.
Los operandos sobre los que actúan los operadores ariméticos deben ser valores Numéricos, es decir datos enteros, punto flotante o caracter (Int, Float y Char, respectivamente).

Una aclaracion especial, merece el operador "%", que indica el resto de la division entera.
Ejemplo:
si dividimos 30/3, su cociente es 10, y su residuo es 0. Si dividimos 25/3, su cociente es 8, y tiene un residuo de 1. Entonces de lo que se encarga, este operador, es de devolvernos el valor del residuo de una división. Cabe aclarar que los datos deben de ser tipo entero, y su sintaxis es la siguiente:

25%3

NOTA: Este Operador, NO puede aplicarse a los datos de tipo float. Una Expresión, Es un conjunto de variable, constantes y otras expresiones más sencillas, relacionadas por algún tipo de operador. De las cuales hablaremos con más detalle, posteriormente.

Operadores de Relacionales, Lógicos y Unarios

Estos Operadores, los podemos dividir, en varios tipos, entre los cuales están:

1. OPERADORES UNARIOS: C, incluye una clase de operadores que actúan sobre un solo operador para producir un nuevo valor. Por eso el nombre de Unarios, por que para poder funcionar solo necesitan de un operador.

TABLA 3.2

Ejemplo:
int i=1, x=5;
printf("%d",++i);
printf("%d",- -i);

Estos operadores, el incremento y el decremento, pueden utilizarse de dos maneras, eso depende del orden de aparición de los mismos:
-Si el operador precede al operando el valor del operando se modifica antes de ser utilizado.
-Si el operador aparece después del operando, este se modifica después de ser utilizado.

2. OPERADORES RELACIONALES O DE COMPARACIÓN:
TABLA 3.3

3. OPERADORES LÓGICOS: Estos son los que nos permiten unir varias comparaciones: 10>5 y 6==6.
Los operadores lógicos son:
TABLA 3.4

Operador || (OR, en castellano O): Devuelve un 1 si se cumple una de las dos condiciones.
Operador ! (NOT, negación): Si la condición se cumple NOT hace que no se cumpla y viceversa.
Ver el capítulo Sentencias, sección Notas sobre las condiciones para más información. (Tomado de “Curso de C” por Gorka Urrutia).

Operadores de Asignación
Los Operadores de Asignación, como su nombre lo indica, se encargan de atribuirle, asignarle, confinarle, etc a una variable, el resultado de una expresión o el valor de otra variable.
Se utilizan en forma de expresiones de asignación en los que se asigna en el valor de una expresión a un identificador. El operador de asignación más utilizado es “=” y su formato es:

identificador = expresión;

Donde el identificador representa por lo general una variable y una constante, una variable o una
expresión más compleja.

Si los dos operandos de la expresión de asignación son de tipo de datos diferentes el valor de la expresión de la derecha se convertirá automáticamente al tipo de identificador de la izquierda de ésta forma la expresión de asignación será del mismo tipo de datos.

Ejemplo:
*Un valor en coma flotante puede ser truncado, se asigna a un identificador entero.
*Un valor de doble precisión puede ser redondeado si se asigna a un identificador de coma flotante.
En C, están permitidas las asignaciones múltiples, así:
Identificador1 = identificador2 = identificador3.....= identificador=expresión

TABLA 3.5

Los Operadores de asignación tiene menos procedencia que el resto de los operadores y tienen asociatividad de izquierda a derecha.

Ejemplo
Programa que calcula el valor de la expresión X^2+X+1


EXPRESIONES

(Tomado de “Aprenda ANSII C como si estuviera en Primero”, Universidad de Navarra. 1998).
Ya han aparecido algunos ejemplos del lenguaje C en las secciones precedentes. Una Expresión es una combinación de variables y/o constantes, y operadores. La expresión es equivalente al resultado que proporciona al aplicar sus operadores a sus operandos. Por ejemplo 1 + 5 es una expresión formada por dos operandos (1 y 5)y el operador (el +); esta expresión es equivalente al valor 6, por lo cual quiere decir que allí donde esta expresión aparece en el programa, en el momento de la ejecución es evaluada y sustituida por su resultado. Una expresión puede estar formada por otras expresiones más sencillas, y puede contener paréntesis de varios niveles agrupando distintos términos. En C, existen diferentes tipos de expresiones. El cual depende del tipo de operadores que se estén utilizando. Por ejemplo:
Expresiones lógicas, aritméticas, etc.
Se debe hacer hincapié en que, si existen algunas expresiones encerradas entre paréntesis, estas se evalúan primero. Ejemplo:
9*(8+5)
primero sumamos 8+5, cuyo resultado es 13, y este lo multiplicamos por nueve, con lo que la expresión anterior, da cómo resultado: 117.
Si existen expresiones en paréntesis anidadas, es decir, que uno se encuentra dentro de otros paréntesis, se evalúan los más internos. Ejemplo:
2*((20/(12-2))+5)
se evalúa la operación 12-2, que da como resultado 10, luego se divide 20, entre el resultado anterior, es decir 10. el resultado es 2, y a este número se le suma 5, obteniendo 7. ahora se multiplica por dos, para determinar así que la expresión anterior es igual a 14.

Estructuras

Estructuras Secuenciales
Se les denomina así, por que; son estructuras en un programa, que después de ejecutar una instrucción o sentencia, continúan con la otra, hasta llegar al final del programa. Los ejemplos que hemos visto anteriormente, son ejemplos de estructuras secuenciales. Veamos otros ejemplos:

Diseñe un programa que calcula el cuadrado y el cubo de tres números introducidos por el usuario.


Realicen sus practicas y si tienen inquietudes pueden compartirlas en el foro