PDF de programación - Lenguaje C - Tutorial

Imágen de pdf Lenguaje C - Tutorial

Lenguaje C - Tutorialgráfica de visualizaciones

Publicado el 22 de Junio del 2018
260 visualizaciones desde el 22 de Junio del 2018
278,5 KB
81 paginas
Creado hace 3a (17/05/2016)
Lenguaje C

Tutorial

Int. a la Programacion - Int. a la Computacion - Fundamentos de la Informatica

(Ing. Electr. - Prof. en Tec. Electr. - T.U.M - T.U.E. - T.U.G. - T.U.R. - T.U.W. - T.U.T.)

Programacion (Prof. en Tec. Electr. - Ing. Electr. - T.U.M )

Programacion I (T.U.G. - T.U.R.)
Electronica Programable (T.U.E.)

Area de Servicios

Departamento de Informatica

Universidad Nacional de San Luis

2016

Lenguaje C

Indice

1. Introduccion

2. El primer programa

3. Tipos de datos

3.1. Nombres de variables y declaraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. El tipo entero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. El tipo caracter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Constantes enteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Combinando enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. El tipo otante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Combinando otantes con enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Conversion de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

3

4
4
5
6
7
8
9
9
9

4. Operadores

10
4.1. Operadores aritmeticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2. Operadores relacionales
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3. Operadores logicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4. Operadores a nivel de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.5. Operadores de asignacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.6. Operadores de incremento y decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.7. Operador condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5. Control de secuencia

15
5.1. La sentencia de seleccion if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2. La sentencia de seleccion switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3. La sentencia de iteracion while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4. La sentencia de iteracion do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5. La sentencia de iteracion for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.6. Las sentencias break y continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6. Objetos de datos estructurados

22
6.1. Arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2. Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3. Uniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.4. Combinacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7. Funciones

26
7.1. Creacion y utilizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.2. Parametros formales y Parametros reales o actuales . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.3. Tipos de una funcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.3.1. Devolucion de un valor desde una funcion . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.3.2. Funciones de tipo void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.4. Un programa mas complejo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

8. Punteros

30
8.1. Punteros como parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.2. Punteros y arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.3. Aritmetica de punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.4. Punteros a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.4.1. Declaracion de un puntero a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Area de Servicios - Departamento de Informatica - Universidad Nacional de San Luis

1

Lenguaje C

8.4.2. Utilizacion de punteros a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9. Strings

46
9.1. Funciones de strings de biblioteca en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.2. Funciones de strings denidas por el programador . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

10.Entrada y salida estandar

49
10.1. Entrada y Salida Basica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.2. Entrada y Salida Formateada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

11.Archivos

51
11.1. Archivos ASCII y Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.2. Trabajo con los archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.2.1. Archivos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.2.2. Archivos Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

11.3. Ejemplos

12.Administracion dinamica de memoria

13.Parametros del programa

14.Declaraciones de tipos

59

61

62

15.Estructura del programa

62
15.1. Clases de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
15.2. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

16.El preprocesador

A. Precedencia y asociatividad de las operaciones

B. Especicadores de formato

C. Respuestas

65

68

69

70

D. Bibliotecas

76
D.1. Funciones matematicas: math.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
D.2. Funciones de cadenas de caracteres: string.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
D.3. Funciones de utilera: stdlib.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
D.4. Funciones de entrada y salida con archivos: stdio.h . . . . . . . . . . . . . . . . . . . . . . . . . . 78
D.4.1. Lectura y escritura en archivos ASCII o de textos
. . . . . . . . . . . . . . . . . . . . . . 79
D.4.2. Lectura y escritura en archivos binarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Area de Servicios - Departamento de Informatica - Universidad Nacional de San Luis

2

Lenguaje C

1.

Introduccion

El lenguaje C es un lenguaje de programacion que fue denido por Dennis Ritchie en los laboratorios de
la AT&T Bell en 1972. Fue denido en principio para el sistema operativo Unix, pero se ha extendido a casi
todos los sistemas hoy en da. De hecho, el diseño de muchos lenguajes mas modernos se han basado en las
caractersticas del lenguaje C.

El lenguaje C es un lenguaje de programacion de proposito general, que permite la escritura de programas
compactos, ecientes y de alta portabilidad. Provee al programador de un medio conveniente y efectivo para
acceder a los recursos de la computadora. Es un lenguaje de suciente alto nivel para hacer los programas
portables y legibles, pero de relativo bajo nivel para adecuarse al hardware particular.

C es un lenguaje muy simple, con un conjunto de operadores muy bien diseñados. No provee, por ejemplo,
operadores para trabajar con strings ni arreglos en forma completa, no provee mecanismos de administracion
dinamica de memoria, ni forma de trabajar con archivos. Es decir, el lenguaje C es muy pequeño y facil de
describir. Todas las operaciones adicionales tales como las mencionadas, cuya falta hara al lenguaje C muy
restringido en sus aplicaciones, son provistas a traves de funciones presentes en una biblioteca que esta incluso
escrita en el mismo lenguaje C.

El lenguaje fue documentado completamente en 1977 en el libro \El lenguaje de programacion C", de
Kernighan y Ritchie. Fue de hecho el primer estandar. A medida que C fue creciendo en popularidad y fue
implementado en distintos ambientes, perdio su portabilidad, apareciendo una serie de variantes del lenguaje.
En el año 1988 el ANSI (American National Standards Institute) denio un nuevo estandar corrigiendo algunos
errores en su diseño original, y agregando algunas caractersticas que demostraron ser necesarias. El lenguaje,
conocido como ANSI C, es de total aceptacion hoy en da.

2. El primer programa

La mejor forma de comenzar a estudiar C es viendo algunos ejemplos. De hecho, todo programador C escribio
alguna vez el fa
  • Links de descarga
http://lwp-l.com/pdf12058

Comentarios de: Lenguaje C - Tutorial (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad