OPERADORES
C es un lenguaje muy rico en operadores. Se definen seis tipos de operadores aritméticos, relacionales, de asignación, lógicos, de dirección y de movimiento.
Existe otro tipo de operador denominado molde que su función es hacer posible que una expresión sea de un tipo determinado utilizando la sintaxis (tipo) expresión;
Siendo tipo uno de los tipos estándar de C (ver capítulo 4). Por ejemplo, si se quiere asegurar que la expresión x/2 se evalúe de tipo float, se puede escribir: (float) x/2;.
6.1 Operadores aritméticos
Lista de operadores aritméticos con su significado
+ Suma
- Resta
* Producto
/ Cociente de una división
% Resto de una división
6.2 Operadores lógicos
! Not (no lógico)
&& And (y lógico)
|| Or (ó lógico)
6.3 Operadores relacionales
== Igual a
!= No igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
= = =
++ m++ m=m+1
-- m-- m=m-1
+= m+=n m=m+n
-= m-=n m=m-n
*= m*=n m=m*n
/= m/=n m=m/n
%= m%=n m=m%n
Los operadores de asignación ++ y ¿ pueden ir antes o delante de una expresión formando una nueva expresión. Estas expresiones se denominan post-incrementos o pre-incrementos (decrementos si el operador es --) y son expresiones compuestas, normalmente son del tipo y=x++; (y=++x;).
Existen una diferencia entre el post-incremento y el pre-incremento. El post-incremento primero suma uno a la variable (x en el ejemplo) y luego asigna ese valor (y en el ejemplo), mientras con el pre-incremento, la asignación es anterior.
Por ejemplo: y=x++; (y=++x;).
Existen una diferencia entre el post-incremento y el pre-incremento. El post-incremento primero suma uno a la variable (x en el ejemplo) y luego asigna ese valor (y en el ejemplo), mientras con el pre-incremento, la asignación es anterior.
Por ejemplo:
int x=1, y;
y=x++; /* y es 1 y x vale 2 */
int x=1, y;
y=++x; /* x vale 2 e y también vale 2 */
6.5 Operadores de dirección
* Operador de contenido de apuntado u operador de indirección & Operador de dirección
6.6 Operadores de movimiento
Existe un último tipo de operadores, no comentado hasta el momento, los operadores de movimiento (<<, movimiento a la izquierda y >>, a la derecha). Su función es desplazar los bits de la palabra de memoria dada tantos espacios como se le indiquen a derecha o izquierda. La forma general es: expresion1<< expresion2
Los dos operandos deben ser del tipo entero, y mueve los bits de la expresion1 tantas posiciones como se lo indique la expresion2 (en este caso hacia la izquierda).
Por ejemplo, sea x un entero con representación interna: 00010001110011000101010111111111x<<4; da como resultado: 00011100110001010101111111110000 da como resultado: 00011100110001010101111111110000
da como resultado: 00011100110001010101111111110000
6.7 Prioridad y asociatividad de los operadores
Lista en la que se muestra el Operador y la Asociatividad
() [] De izquierda a derecha
- ++ -- ! ~ * & sizeof(tipo) De derecha a izquierda
* / % De izquierda a derecha
+ - De izquierda a derecha
<< >> De izquierda a derecha
< <= > >= De izquierda a derecha
== != De izquierda a derecha
& De izquierda a derecha
&& De izquierda a derecha
|| De izquierda a derecha
?: De derecha a izquierda
= *= /= %= += -= &= <<= >>= De derecha a izquierda
, De izquierda a derecha
Hay 464 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Creación de un microrobot Este es un robot muy sencillo pensado para aquellos que se quieren iniciar en el mundo de la microbótica. La estructura mecánica está realizada con piezas de Lego y como ... [25/02/05] |
|
8.057 | ||
|
Usabilidad web La usabilidad es el principal elemento con el cual debe contar toda página Web. Yo defino Usabilidad como la capacidad de una aplicación de ser agradable, eficiente y fá... [17/07/06] |
|
1.763 | ||
|
Primeros pasos con XML y XSL XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04] |
|
6.827 | ||
Publicar en
del.icio.us
digg
meneame