programacion en lenguaje c
1 Prefacio
6
2 Introducción al Lenguaje C
2.1 Desarrollo del Lenguaje C . . . . . . . . . . . . . . . .
2.1.1 Breve historia del lenguaje C . . . . . . . . . .
2.2 El Lenguaje C y los Sistemas Operativos . . . . . . . .
2.2.1 ¿Qué es un Sistema Operativo? . . . . . . . . .
2.2.2 Gestión de los recursos de la PC . . . . . . . .
2.3 Un programa de ejemplo en Lenguaje C. . . . . . . .
2.3.1 El programa Hello World! . . . . . . . . . . . .
2.4 Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Funciones de Biblioteca . . . . . . . . . . . . .
2.4.2 Creación de bibliotecas de propósito específico
2.5 Editores, Compiladores y Enlazadores . . . . . . . . .
2.5.1 Creación y edición de código fuente . . . . . .
2.5.2 Definición de compilador . .. . . . . . . . . . .
2.5.3 Definición de enlazador (Linker) . . . . . . . .
2.5.4 Lenguaje máquina y Código Objeto . . . . . .
2.5.5 Entornos de Desarrollo Integrados (IDEs) . . .
2.6 Portabilidad de programas . . . . . . . . . . . . . . . .
2.6.1 C y ANSI-C . . . . . . . . . . . . . . . . . . . .
2.6.2 Portabilidad del código fuente . . . . . . . . . .
2.7 Eficiencia de programas . . . .. . . . . . . . . . . . .
2.7.1 Lenguajes de bajo, medio y alto nivel . . . . .
2.7.2 Lenguajes Compilados e Interpretados . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
9
9
10
10
11
11
12
13
13
1313
14
14
15
15
15
16
16
16
3 Variables y Operadores
3.1 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Declaración de variables . . . . . . . . . . . . . . . . . . .
3.2.1 Diferentes formas de declarar e inicializar variables
3.2.2 Nombres válidos de variables . . . . . . . . . . . .
3.3 Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1Tipos Enteros . . . . . . . . . . . . . . . . . . . . .
3.3.2 Constantes char . . . . . . . . . . . . . . . . . . .
3.3.3 Tipos de datos de Punto Flotante . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
18
19
19
2020
21
22
22
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.3.4
3.3.5
3.3.6
3.4
3.5
Arreglos . . . . . . . . . . . . . . . . . . .
Inicialización de Arreglos . . . . . . . . .
Programa:
Desbordamiento de Variables Enteras . .
Operadores . . . . . . . . . . . . . . . . . . . . .
3.4.1 Operadores Unarios, Binarios y Ternarios
3.4.2 OperadoresAritméticos . . . . . . . . . .
3.4.3 Programa: Operadores Aritméticos . . . .
3.4.4 Precedencia de operadores . . . . . . . . .
Conversiones explicitas (cast) . . . . . . . . . . .
3.5.1 Ejemplo de código fuente . . . . . . . . .
. . . . . . . . . . . . . 23
. . . . . . . . . . . . . 24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
26
26
27
28
29
31
31
4 Expresiones
4.1 Sintaxis básica del Lenguaje C . . . . . . .
4.1.1 Tokens . . . . . . . . . . . . . . . . .
4.1.2 Punto y coma...
Regístrate para leer el documento completo.