Lenguaje C
albercarr14 de Marzo de 2012
16.778 Palabras (68 Páginas)476 Visitas
CURSO BASICO DE PROGRAMACION EN C
Apoyo a Investigación C. P. D.
Servicios Informáticos U. C. M.
CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-1-
1 INDICE
1 INDICE _________________________________________________________ 1
2 INTRODUCCION _________________________________________________ 3
3 ELEMENTOS ____________________________________________________ 5
3.1 Comentarios ____________________________________________________ 5
3.2 Identificadores __________________________________________________ 5
3.3 Constantes______________________________________________________ 5
3.4 Variables _______________________________________________________ 6
3.5 Operadores _____________________________________________________ 6
3.6 Sentencias ______________________________________________________ 6
3.7 Macros del preprocesador__________________________________________ 6
4 TIPOS___________________________________________________________ 7
5 DECLARACIONES________________________________________________ 9
5.1 Alcance ________________________________________________________ 9
5.2 Visibilidad ______________________________________________________ 9
5.3 Durabilidad _____________________________________________________ 9
6 OPERADORES __________________________________________________ 11
6.1 Operadores aritméticos ___________________________________________ 11
6.2 Operadores lógicos ______________________________________________ 11
6.3 Operadores relacionales __________________________________________ 11
6.4 Operadores de asignación _________________________________________ 12
6.5 Operadores de dirección __________________________________________ 12
6.6 Operadores de movimiento ________________________________________ 12
6.7 Prioridad y asociatividad de los operadores ___________________________ 13
7 SENTENCIAS ___________________________________________________ 14
7.1 Etiquetas de sentencia ____________________________________________ 14
7.2 Sentencias compuestas ____________________________________________ 14
7.3 Sentencias de selección ___________________________________________ 14
7.4 Sentencias de iteración ___________________________________________ 16
7.5 Sentencias de salto _______________________________________________ 17
8 FUNCIONES ____________________________________________________ 19
8.1 Definición _____________________________________________________ 19
8.2 Declaración ____________________________________________________ 19
8.3 Llamadas a funciones ____________________________________________ 20
CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-2-
9 ARRAYS Y CADENAS ____________________________________________ 21
9.1 Arrays unidimensionales __________________________________________ 21
9.2 Cadenas _______________________________________________________ 21
9.3 Arrays multidimensionales ________________________________________ 22
9.4 Inicialización de arrays ___________________________________________ 22
10 PUNTEROS _____________________________________________________ 23
10.1 Asignación de punteros ___________________________________________ 23
10.2 Aritmética de punteros ___________________________________________ 23
10.3 Punteros y arrays _______________________________________________ 24
10.4 Arrays de punteros ______________________________________________ 24
10.5 Indirección múltiple _____________________________________________ 25
10.6 Funciones de asignación dinámica, malloc() y free() _____________________ 25
11 ENTRADA Y SALIDA ____________________________________________ 27
11.1 E/S por consola _________________________________________________ 27
11.2 E/S por archivos ________________________________________________ 29
12 PREPROCESADOR ______________________________________________ 31
13 LIBRERIAS_____________________________________________________ 33
14 EJERCICIOS____________________________________________________ 34
15 BIBLIOGRAFIA _________________________________________________ 51
CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-3-
2 INTRODUCCION
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 1983, 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,
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:
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:
instrucciones del preprocesador
declaraciones globales
tipo_devuelto main(lista de parámetros)
{
secuencia de sentencias
}
CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-4-
tipo_devuelto función_1(lista de parámetros)
{
secuencia de sentencias
}
tipo_devuelto función_2(lista de parámetros)
{
secuencia de sentencias
}
.....
.....
tipo_devuelto función_n(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.
CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-5-
3 ELEMENTOS
3.1 Comentarios
Los comentarios son textos que no son procesados por el compilador. Sirven como
información al programador.
Para que un texto sea comentario debe estar entre
...