P. 1
Manual De Programacion Lenguaje C

Manual De Programacion Lenguaje C

4.94

|Views: 175.715|Likes:
Publicado porAnonymous HPFUTT

More info:

Published by: Anonymous HPFUTT on Mar 31, 2007
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/01/2015

pdf

text

original

Programación en C

Autor: J. Carlos López Ardao

Diciembre de 2001

Índice General

1 Introducción

1

2 Estructura y fases de creación de un programa C

2

3 Generalidades

4

3.1 Reglas de ámbito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.2 Palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.4 Variables en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.5 Operadores en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5.1 Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5.2 Operadores relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5.3 Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5.4 Operadores a nivel de bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Directivas del preprocesador

10

4.1 Definición de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2 Inclusión de ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 Compilación condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Tipos de datos en C

14

5.1 Tipos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.2 El tipo “dirección” (punteros) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.4 Relación entre punteros y matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.4.1 Punteros a punteros. Matrices de punteros . . . . . . . . . . . . . . . . . . . . . . 17

5.5 El modificador const . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.6 El tipo void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.7 Conversión de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.7.1 Conversión de tipos explícita: El cast . . . . . . . . . . . . . . . . . . . . . . . . 20

6 Estructuras de datos

22

i

6.1 Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6.2 Uniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.3 Enumeraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.4 Creación de tipos mediante typedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7 Funciones en C

27

7.1 La función main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7.2 Reglas de ámbito de las funciones: Ficheros de cabecera . . . . . . . . . . . . . . . . . . 29

7.3 Ficheros de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.4 Librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7.5 Punteros a funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Tipos de variables. Reglas de ámbito

34

8.1 Variables Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8.2 Variables Globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8.3 Parámetros Formales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

9 Control de flujo en C

38

9.1 Sentencia condicional: if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

9.2 Sentencia switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

9.3 Bucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

9.4 Sentencia do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

9.5 Bucles infinitos con while y do-while . . . . . . . . . . . . . . . . . . . . . . . . . . 41

9.6 Bucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

9.7 Sentencia break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

9.8 Sentencia continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

10 Entrada/Salida en C

44

10.1 E/S por dispositivo estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

10.1.1 Salida formateada: Función printf() . . . . . . . . . . . . . . . . . . . . . . . 44

10.1.2 Entrada formateada: Función scanf() . . . . . . . . . . . . . . . . . . . . . . . 47

10.2 E/S de fichero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

ii

11 Asignación dinámica de memoria

50

12 Otras funciones de la librería estándar

52

12.1 Manejo de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

12.2 Funciones de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

12.3 Utilidades generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

12.4 La librería matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

12.5 Señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

12.5.1 Manejo de señales: Instalación de un handler . . . . . . . . . . . . . . . . . . . . 57

12.5.2 Posibles problemas con señales . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

12.5.3 Generación de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

12.5.4 Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

12.6 Fecha y hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

12.7 Funciones útiles en la red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

13 Herramientas útiles para la programación en C

64

13.1 El editor emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

13.2 Compilación con make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

13.3 El manual en línea: man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

13.4 El depurador: ddd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

14 Comandos Unix/Linux más importantes

68

iii

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->