Resumen pagina en linea

Operadores

Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables para realizar una determinada operación con un determinado resultado. Ejemplos típicos de operadores son la suma (+), la diferencia (-), el producto (*), etc.

OPERADORES ARITMÉTICOS

Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos ellos son operadores binarios. En C se utilizan los cinco operadores siguientes: 
  • Suma: +
  • Resta: –
  • Multiplicación: *
  • División: /
  • Resto: %
Todos estos operadores se pueden aplicar a constantes, variables y expresiones. El resultado es el que se obtiene de aplicar la operación correspondiente entre los dos operandos.

Las expresiones pueden contener paréntesis (...) que agrupan a algunos de sus términos. Puede haber paréntesis contenidos dentro de otros paréntesis. El significado de los paréntesis coincide con el habitual en las expresiones matemáticas.

OPERADORES DE ASIGNACIÓN

Los operadores de asignación atribuyen a una variable –es decir, depositan en la zona de memoria correspondiente a dicha variable– el resultado de una expresión o el valor de otra variable (en realidad, una variable es un caso particular de una expresión).
Su forma general es: 
nombre_de_variable = expresión;
cuyo funcionamiento es como sigue: se evalúa expresion y el resultado se deposita en nombre_de_variable.

Así pues, una variable puede aparecer a la izquierda y a la derecha del operador (=). Sin embargo, a la izquierda del operador de asignación (=) no puede haber nunca una expresión: tiene que ser necesariamente el nombre de una variable. 

Existen otros cuatro operadores de asignación (+=, -=, *= y /=) formados por los 4 operadores aritméticos seguidos por el carácter de igualdad. Estos operadores simplifican algunas operaciones recurrentes sobre una misma variable. 

A continuación se presentan algunos ejemplos con estos operadores de asignación:

distancia += 1;     equivale a:      distancia = distancia + 1;
rango /= 2.0          equivale a:      rango = rango /2.0
x *= 3.0 * y - 1.0  equivale a:      x = x * (3.0 * y - 1.0)

OPERADORES INCREMENTALES

Los operadores incrementales (++) y (--) son operadores unarios que incrementan o disminuyen en una unidad el valor de la variable a la que afectan.
A continuación se presenta un ejemplo de estos operadores:

i = 2;
j = 2;
m = i++; // después de ejecutarse esta sentencia m=2 e i=3
n = ++j; // después de ejecutarse esta sentencia n=3 y j=3
Estos operadores son muy utilizados. Es importante entender muy bien por qué los resultados m y n del ejemplo anterior son diferentes.


OPERADORES RELACIONALES.

Este es un apartado especialmente importante para todas aquellas personas sin experiencia en programación. Los operadores relacionales permiten estudiar si se cumplen o no esas condiciones. Así pues, estos operadores producen un resultado u otro según se cumplan o no algunas condiciones que se verán a continuación.

Los operadores relacionales de C son los siguientes:
  • Igual que: ==
  • Menor que: <
  • Mayor que: >
  • Menor o igual que: <=
  • Mayor o igual que: >=
  • Distinto que: !=
A continuación se incluyen algunos ejemplos de estos operadores aplicados a constantes: 
(2==1)      // resultado=0 porque la condición no se cumple
(3<=3)     // resultado=1 porque la condición se cumple
(3<3)      // resultado=0 porque la condición no se cumple
(1!=1)    // resultado=0 porque la condición no se cumple

OPERADORES LÓGICOS

Los operadores lógicos son operadores binarios que permiten combinar los resultados de los operadores relacionales, comprobando que se cumplen simultáneamente varias condiciones, que se cumple una u otra, etc. Por ejemplo:
(2==1) || (-1==-1)                                                  // el resultado es 1
(2==2) && (3==-1)                                             // el resultado es 0
((2==2) && (3==3)) || (4==0)                            // el resultado es 1
((6==6) ||(8==0)) && ((5==5) && (3==2))      //el resultado es 0

OTROS OPERADORES

  • Operador menos (–).
    El efecto de este operador en una expresión es cambiar el signo de la variable o expresión que le sigue. R
  • Operador más (+).
    Este es un nuevo operador unario introducido en el ANSI C, y que tiene como finalidad la de servir de complemento al operador (–) visto anteriormente. 

  • Operador sizeof().
    Este es el operador de C con el nombre más largo. Puede parecer una función, pero en realidad es un operador. La finalidad del operador sizeof() es devolver el tamaño, en bytes, del tipo de variable introducida entre los paréntesis. 
  • Operador negación lógica (!).
    Este operador devuelve un cero (false) si se aplica a un valor distinto de cero (true), y devuelve un 1 (true) si se aplica a un valor cero (false).
  • Operador coma (,).
    Los operandos de este operador son expresiones, y tiene la forma general:
    expresion = expresion_1, expresion_2

Expresiones

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. 

EXPRESIONES ARITMÉTICAS

Están formadas por variables y/o constantes, y distintos operadores aritméticos e incrementales (+, -, *, /, %, ++, --). C Por ejemplo, la solución de la ecuación de segundo grado: 
se escribe, en C en la forma: 
x=(-b+sqrt((b*b)-(4*a*c)))/(2*a);

EXPRESIONES LÓGICAS

Los elementos con los que se forman estas expresiones son valores lógicosverdaderos (true, o distintos de 0) y falsos (false, o iguales a 0), y los operadores lógicos ||, && y !. También se pueden emplear los operadores relacionales (<, >, <=, >=, ==, !=) para producir estos valores lógicos a partir de valores numéricos. Estas expresiones equivalen siempre a un valor 1 (true) o a un valor 0 (false). Por ejemplo:
a = ((b>c)&&(c>d))||((c==e)||(e==b));
donde de nuevo la expresión lógica es lo que está entre el operador de asignación (=) y el (;). La variable a valdrá 1 si b es mayor que c y c mayor que d, ó si es igual a e ó e es igual a b.

EXPRESIONES GENERALES

Recuérdese que el resultado de una expresión lógica es siempre un valor numérico (un 1 ó un 0); esto permite que cualquier expresión lógica pueda aparecer como sub-expresión en una expresión aritmética. Recíprocamente, cualquier valor numérico puede ser considerado como un valor lógico: true si es distinto de 0 y false si es igual a 0. Esto permite introducir cualquier expresión aritmética como sub-expresión de una expresión lógica. Por ejemplo:

(a - b*2.0) && (c != d)

Reglas de precedencia y asociatividad

El resultado de una expresión depende del orden en que se ejecutan las operaciones. El siguiente ejemplo ilustra claramente la importancia del orden. Considérese la expresión: 
3 + 4 * 2

Tabla 4.1. Precedencia y asociatividad de los operadores de C.

Sentencias

Las sentencias son unidades completas, ejecutables en sí mismas. Ya se verá que muchos tipos de sentencias incorporan expresiones aritméticas, lógicas o generales como componentes de dichas sentencias.

SENTENCIAS SIMPLES
Una sentencia simple es una expresión de algún tipo terminada con un carácter (;). Un caso típico son las declaraciones o las sentencias aritméticas. Por ejemplo:

float real;
espacio = espacio_inicial + velocidad * tiempo;

SENTENCIA VACÍA Ó NULA

En algunas ocasiones es necesario introducir en el programa una sentencia que ocupe un lugar, pero que no realice ninguna tarea. A esta sentencia se le denomina sentencia vacía y consta de un simple carácter (;). 

SENTENCIAS COMPUESTAS O BLOQUES

Una sentencia compuesta es un conjunto de declaraciones y de sentencias agrupadas dentro de llaves {...}. También se conocen con el nombre de bloques. Una sentencia compuesta puede incluir otras sentencias, simples y compuestas. Un ejemplo de sentencia compuesta es el siguiente: 
{
   int i = 1, j = 3, k;
   double masa;
   masa = 3.0;
   k = y + j;
}

Comentarios