Operadores
C es un lenguaje muy rico en operadores incorporados, de hecho, C dota de un mayor significado a los operadores mas que los otros lenguajes de computadora. C define cuatro clases de operadores:
- Aritméticos
- Relacionales
- Lógicos
- A nivel bits
El operador de asignación
En C se pude usar el operador de asignación en cualquier expresión válida. Este no es el caso de la mayoría de los demás lenguajes (Pascal, Basic, Fortran), que tratan el operador de asignación como un caso especial de sentencia . La forma general del operador de asignación es:
nombre_de_variable=expresión;
donde la expresión puede ser tan simple como una constante o tan compleja como se requiera. El lenguaj C utiliza únicamente un signo de igualdad para señalar la asignación
Asignación Múltiple
C permite asignar a muchas variables el mismo valor utilizando asignaciones multiples en una sola sentencia. Por ejemplo el siguiente fragmento asigna el valor 0 a las variables x,a,w:
x = a = w = 0;
Operadores Aritméticos
Operador Accion
- Resta, también menos monario
+ Suma
* Multiplicación
/ División
% División Modular
-- Decremento
++ Incremento
Los operadores +,-,*,/ operan en C como en la mayoría de los lenguajes de computadora. Pueden aplicarse a casi todos los tipos de datos predefinidos en C. Cuando se aplica / a un entero o a un carácter, cualquier resto es truncado. Por ejemplo 5/2 sera 2 en una división de números enteros.
En el lenguaje C, el operador % de división en modulo, obtiene el resto de una división entera. Por ello, % no puede ser aplicado a los datos de tipo flotante.
Incremento y Decremento
C contiene dos operadores muy útiles que generalmente en otros lenguajes de computadora no están presentes.
El operador ++ añade 1 a su operando y -- le resta 1. En otras palabras:
x = x + 1; es la misma expresión que ++ x; y x = x - 1; es igual que - - x; , el orden entre el operando y el operador no tiene importancia, es lo mismo escribir ++ x; ó x + +;
La mayoría de los compiladores de C generan un código objeto muy rápido y eficiente para las operaciones de incremento y decremento, por esta razón, se deben usar los operadores siempre que sea posible.
Los operadores del mismo nivel de precedencia (jerarquía) son evaluados por el compilador de izquierda a derecha: Por supuesto, se pueden utilizar paréntesis para alterar el orden de evaluación, estos fuerzan a que una operación o un conjunto de operaciones tengan un nivel de precedencia mayor.
La precedencia (jerarquía) de los operadores aritméticos es la siguiente:
mayor ++ --
-
* / %
menor + -
Operadores Lógicos y Relacionales
Operadores relacionales
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
= = Igual
! = Diferente de
Operadores lógicos
Operador Acción
& & (Y)
| | (O)
! (NO)
En el termino operador relacional la palabra relacional se refiere a la relación entre unos valores y otros. En el termino operador lógico, la palabra lógico se refiere a las formas en que esas relaciones pueden conectarse entre si.
La clave de los conceptos de operadores lógicos y relacionales es la idea de Cierto-TRUE o Falso-FALSE. En C, es cierto cualquier valor distinto de cero. Falso es 0. Las expresiones que utilizan los operadores relacionales y lógicos devuelven el valor 1 en caso de cierto y 0 en caso de falso.
La tabla de verdad para los operadores lógicos se muestra aquí usando unos y ceros.
p q p&&q p||q !p
0 0 0 0 1
0 1 0 1 1
1 1 1 1 0
1 0 0 1 0
Tanto los operadores relacionales como los lógicos tienen un nivel de precedencia menor que los operadores aritméticos. Esto significa que la expresión 10 > 1+12 se evalúa como si se hubiera escrito
10> (1+12), el resultado en cualquier caso es Falso.
La precedencia de los operadores relacionales y lógicos es la siguiente:
mayor !
> >= < <=
== !=
&&
menor | |
Como en el caso de las expresiones aritméticas, se pueden usar paréntesis para alterar el orden natural de evaluación en una expresión racional o lógica.
El operador ?
C contiene un operador muy potente y conveniente que puede usarse para sustituir ciertas sentencias de la forma if-then-else. El operador ternario ? toma la forma
Exp 1 ? Exp 2 : Exp 3
donde Exp1, Exp2 y Exp 3 son expresiones, el operador ? actúa de la siguiente forma: evalúa Exp 1. Si es cierta, evalúa Exp2 y toma ese valor para la expresión. Si Exp1 es falsa, evalúa Exp3 tomando su valor para la expresión. Por ejemplo, en :
x = 10
y = x > 9 ? 100 : 200;
a y se le asigna el valor de 100. Si x hubiera valido menos que 9, y habría recibido el valor de 200.
Constantes
Las constantes en C se refieren a valores fijos que no pueden ser alterados por el programa. Pueden ser cualquier tipo de datos básicos, la forma en que se representa cada constante depende de su tipo.
Ejemplos:
const float pi = 3.1416;
const char vocales[ ] = “a,e,i,o,u”;
Constantes en Cadena
C soporta otro tipo de constante: la cadena. Una cadena es una secuencia de caracteres encerrados en dobles comillas. Por ejemplo, "esto es una prueba", es una cadena, pero aunque C permite definir constantes de cadena, no tiene formalmente un tipo de datos cadena. No deben confundirse las cadenas con los caracteres. Una constante de carácter ira entre comillas irá entre comillas simples, como 'a', sin embargo, "a" es una cadena que contiene solo una letra.
Variables
Una variable es una posición de memoria con nombre que se usaba para mantener un valor que pude ser modificado por el programa. Todas la variables en C han de ser declaradas antes de poder usarlas. La forma general de declaración es:
tipo lista_de_variables;
Aquí, tipo debe ser un tipo de dato válido de C con cualquier modificador y lista_de_variables puede consistir en uno o mas nombres de identificadores separados por comas.
El nombre de una variable en C no tiene nada que ver con su tipo.
Donde se declaran las variables
Existen tres sitios básicos donde se pueden declarar variables: dentro de las funciones, en la definición de parámetros de funciones y fuera de todas las funciones. Estas variables son respectivamente, las variables locales, los parámetros formales y las variables globales.
Variables Locales
Las variables que se declaran dentro de una función, se denominan variables locales. Este tipo de variables no son reconocidas fuera de su propio bloque de código, recordando que un bloque de código comienza con unas llaves abiertas y concluye con unas cerradas.
Las variables locales sólo existen mientras se está ejecutando el bloque de código en el que son declaradas. Es decir, la variable local se crea al entrar en el bloque y se destruye al salir de el.
Parámetros formales
Si una función va a usar argumentos, debe declarar las variables que van a aceptar los valores de los argumentos. Esas variables son los parámetros formales de la función. Se comportan como cualquier otra variable local de la función.
Variables Globales
Las variables globales se conocen a lo largo de todo el programa y se pueden usar en cualquier parte del código. Ademas mantienen su valor durante toda la ejecución del programa. Las variables globales se crean al declararlas en cualquier parte fuera de la función. Pueden ser accedidas por cualquier expresión independientemente de la función en la que se encuentre la expresión.
Inicialización de variables
Colocando el signo igual y una constante después del nombre de una variable, se puede dar en C, a la mayoría de las variables, un valor a la vez que se declaran. La forma general de la inicialización es la siguiente:
tipo nombre_de_variable= constante
No hay comentarios:
Publicar un comentario