miércoles, 16 de septiembre de 2009
jueves, 27 de agosto de 2009
viernes, 12 de septiembre de 2008
OPERADORES LOGICOS
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<>= Mayor o igual que<= Menor o igual que
6.4 Operadores de asignación
= = =++ 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
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<>= Mayor o igual que<= Menor o igual que
6.4 Operadores de asignación
= = =++ 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
TIPO DE DATOS EN C
TIPOS
Cuando en C, se dice que un objeto es de un tipo, se quiere decir que ese objeto pertenece a un conjunto específico de valores con los cuales se pueden realizar un conjunto de operaciones también determinadas.
Existen cinco tipos básicos: carácter, entero, coma flotante, coma flotante de doble precisión y void.
Los demás tipos se basan en alguno de estos tipos básicos. El tamaño y el rango de estos tipos de datos varían con cada tipo de procesador y con la implementación del compilador de C.
El tipo void, o bien declara explícitamente una función como que no devuelve valor alguno, o bien crea punteros genéricos.
La siguiente tabla muestra todas las combinaciones que se ajustan al estándar ANSI junto con sus rangos mínimos y longitudes aproximadas en bits.
Tipo: Tamaño en bits Rangochar: 8 -127 a 127unsigned char: 8 0 a 255signed char: 8 -127 a 127int: 16 -32767 a 32767unsigned int: 16 0 a 65535signed int: 16 -32767 a 32767short int: 16 -32767 a 32767unsigned short int: 16 0 a 65535signed short int: 16 -32767 a 32767long int: 32 -2147483647 a 2147483647signed long int: 32 -2147483647 a 2147483647unsigned long int: 32 0 a 4294967295float: 32 seis dígitos de precisióndouble: 64 diez dígitos de precisiónlong double: 64 diez dígitos de precisión
Cuando en C, se dice que un objeto es de un tipo, se quiere decir que ese objeto pertenece a un conjunto específico de valores con los cuales se pueden realizar un conjunto de operaciones también determinadas.
Existen cinco tipos básicos: carácter, entero, coma flotante, coma flotante de doble precisión y void.
Los demás tipos se basan en alguno de estos tipos básicos. El tamaño y el rango de estos tipos de datos varían con cada tipo de procesador y con la implementación del compilador de C.
El tipo void, o bien declara explícitamente una función como que no devuelve valor alguno, o bien crea punteros genéricos.
La siguiente tabla muestra todas las combinaciones que se ajustan al estándar ANSI junto con sus rangos mínimos y longitudes aproximadas en bits.
Tipo: Tamaño en bits Rangochar: 8 -127 a 127unsigned char: 8 0 a 255signed char: 8 -127 a 127int: 16 -32767 a 32767unsigned int: 16 0 a 65535signed int: 16 -32767 a 32767short int: 16 -32767 a 32767unsigned short int: 16 0 a 65535signed short int: 16 -32767 a 32767long int: 32 -2147483647 a 2147483647signed long int: 32 -2147483647 a 2147483647unsigned long int: 32 0 a 4294967295float: 32 seis dígitos de precisióndouble: 64 diez dígitos de precisiónlong double: 64 diez dígitos de precisión
INTRODUCCION A C
El lenguaje C fue inventado e implementado por primera vez por Dennis Ritchie en un DEC PDP-11 en Bell Laboratories. Es el resultado de un proceso de desarrollo comenzado con un lenguaje anterior denominado B, inventado por Ken Thompson. En los años 70 el lenguaje B llevó al desarrollo del C. En 1978, Brian Kernighan y Dennis Ritchie publicaron el libro The C Programming Language que ha servido hasta la actualidad como definición eficiente de este lenguaje.
Durante muchos años el estándar de C fue la versión proporcionada con la versión cinco del sistema operativo UNIX. En 983, el instituto de estándares americanos estableció un estándar que definiera el lenguaje C, conocido como ANSI C. Hoy día, todos los principales compiladores de C llevan implementado el estándar ANSI.
El lenguaje C se denomina como un lenguaje de nivel medio, puesto que combina elementos de lenguajes de alto nivel Fortran, Pascal, Basic¿) con el funcionalismo del lenguaje ensamblador.
C permite la manipulación de bits, bytes y direcciones (los elementos básicos con que funciona la computadora).
Otras características del C es que posee muy pocas palabras clave (32, donde 27 fueron definidas en la versión original y cinco añadidas por el comité del ANSI, enum, const, enum, const, signed, void y volatile). Todas las palabras clave de C están en minúsculas (C distingue entre las mayúsculas y minúsculas). En la siguiente tabla se muestran las 32 palabras clave: d, void y volatile). Todas las palabras clave de C están en minúsculas (C distingue entre las mayúsculas y minúsculas). A continuación se muestran las 32 palabras clave: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while.
Los programas en C consisten en una o más funciones. La única función que debe estar absolutamente presente es la denominada main, siendo la primera función que es llamada cuando comienza la ejecución del programa. Aunque main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: main, siendo la primera función que es llamada cuando comienza la ejecución del programa. Aunque main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: instrucciones del preprocesadordeclaraciones globalestipo_devuelto main(lista de parámetros){secuencia de sentencias}
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
El compilador en las máquinas Alpha del C. P. D. es el DEC OSF/1 Versión 4.0. Para compilar y enlazar un programa con este compilador basta con hacer cc nombre_del_programa.c para crear, si no hay errores, un ejecutable (a.out). Existen múltiples opciones en el compilador que se pueden comprobar con el comando de ayuda de los sistemas operativos.
Los ejemplos del curso siguen la sintaxis aceptada por el estándar ANSI, con lo que son portables con cualquier otro compilador que lo lleve implementado.
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
El compilador en las máquinas Alpha del C. P. D. es el DEC OSF/1 Versión 4.0. Para compilar y enlazar un programa con este compilador basta con hacer cc nombre_del_programa.c para crear, si no hay errores, un ejecutable (a.out). Existen múltiples opciones en el compilador que se pueden comprobar con el comando de ayuda de los sistemas operativos.
Los ejemplos del curso siguen la sintaxis aceptada por el estándar ANSI, con lo que son portables con cualquier otro compilador que lo lleve implementado.
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
Durante muchos años el estándar de C fue la versión proporcionada con la versión cinco del sistema operativo UNIX. En 983, el instituto de estándares americanos estableció un estándar que definiera el lenguaje C, conocido como ANSI C. Hoy día, todos los principales compiladores de C llevan implementado el estándar ANSI.
El lenguaje C se denomina como un lenguaje de nivel medio, puesto que combina elementos de lenguajes de alto nivel Fortran, Pascal, Basic¿) con el funcionalismo del lenguaje ensamblador.
C permite la manipulación de bits, bytes y direcciones (los elementos básicos con que funciona la computadora).
Otras características del C es que posee muy pocas palabras clave (32, donde 27 fueron definidas en la versión original y cinco añadidas por el comité del ANSI, enum, const, enum, const, signed, void y volatile). Todas las palabras clave de C están en minúsculas (C distingue entre las mayúsculas y minúsculas). En la siguiente tabla se muestran las 32 palabras clave: d, void y volatile). Todas las palabras clave de C están en minúsculas (C distingue entre las mayúsculas y minúsculas). A continuación se muestran las 32 palabras clave: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while.
Los programas en C consisten en una o más funciones. La única función que debe estar absolutamente presente es la denominada main, siendo la primera función que es llamada cuando comienza la ejecución del programa. Aunque main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: main, siendo la primera función que es llamada cuando comienza la ejecución del programa. Aunque main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: main no forma técnicamente parte del lenguaje C, hay que tratarla como si lo fuera, pues si se emplea para nombrar una variable, probablemente confundirá al compilador.
La forma general de un programa en C es: instrucciones del preprocesadordeclaraciones globalestipo_devuelto main(lista de parámetros){secuencia de sentencias}
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
El compilador en las máquinas Alpha del C. P. D. es el DEC OSF/1 Versión 4.0. Para compilar y enlazar un programa con este compilador basta con hacer cc nombre_del_programa.c para crear, si no hay errores, un ejecutable (a.out). Existen múltiples opciones en el compilador que se pueden comprobar con el comando de ayuda de los sistemas operativos.
Los ejemplos del curso siguen la sintaxis aceptada por el estándar ANSI, con lo que son portables con cualquier otro compilador que lo lleve implementado.
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
El compilador en las máquinas Alpha del C. P. D. es el DEC OSF/1 Versión 4.0. Para compilar y enlazar un programa con este compilador basta con hacer cc nombre_del_programa.c para crear, si no hay errores, un ejecutable (a.out). Existen múltiples opciones en el compilador que se pueden comprobar con el comando de ayuda de los sistemas operativos.
Los ejemplos del curso siguen la sintaxis aceptada por el estándar ANSI, con lo que son portables con cualquier otro compilador que lo lleve implementado.
El programa así escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.
Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten.
El proceso de compilar consiste en traducir el programa fuente a código o lenguaje máquina.
El proceso de linkaje (enlazado) consiste en añadir rutinas (propias o bibliotecas existentes en el mercado) que también están en código máquina, es decir, están en objeto.
Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el ordenador.
Estos procesos son realizados por un programa llamado compilador.
Suscribirse a:
Comentarios (Atom)