PDF de programación - Fundamentos de Programación I - Apuntes de la Asignatura

Fundamentos de Programación I - Apuntes de la Asignaturagráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Diciembre del 2017)
502 visualizaciones desde el 7 de Diciembre del 2017
3,6 MB
241 paginas
Creado hace 6a (24/07/2013)
Dpto. de Ingeniería Telemática

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Fundamentos de Programación I

Apuntes de la Asignatura

Índice general

I Teoría

1

1. Introducción a la Programación

1-1
Arquitectura Básica de los computadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Introducción a los Sistemas Operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Introducción a los Lenguajes de Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

2. Programación Estructurada

2-1
Resolución de Problemas y Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Introducción al Lenguaje C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10

3. Codicación de la Información

3.1.

3-1
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1.1. Los Sistemas Posicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2. Codicación de Enteros sin Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.2.1. La aritmética binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.2.2. Otras Bases de Numeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.2.3. El Desbordamiento en los Enteros sin Signo . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.3. Codicación de los Enteros con Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.3.1. Codicación en Complemento a Dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.3.2. El Desbordamiento en los Enteros con Signo
. . . . . . . . . . . . . . . . . . . . . . . 3-7
3.4. Codicación de Números con Decimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

4. Tipos, Constantes y Variables

4-1
4.1. Tipos de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1.1. Los Tipos de Datos en C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.2. Tipos Enteros sin Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.3. Tipos Enteros con Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.4. Tipos con Decimales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.1.5. Tipo Lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.1.6. Tipo Carácter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.2.1. Constantes enteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.2.2. Constantes en coma otante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

4.2. Constantes

i

ii

20132014

4.3. Variables

4.2.3. Constantes de carácter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
4.2.4. Cadenas de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.3.1. Declaración de Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.3.2. Utilización del Valor de una Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
4.3.3. Asignación de Valores a Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
4.3.4. Tiempo de Vida de las Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.3.5. Visibilidad de las variables

5. Expresiones

5.1.
5.2. Operadores Aritméticos

5-1
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2.1. Operaciones con valores de tipo char . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.3. Operadores Relacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.3.1. Precisión de los Números con Decimales . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.4. Operadores Lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.5. Operadores de Manejo de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.6. Asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.7. Asignación Compacta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.8. Conversión Forzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.9. Operadores de Autoincremento y Autodecremento . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.9.1. Efectos secundarios de ++ y -- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.10. Operador Condicional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.11. Operador sizeof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
5.12. Reglas de Prioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12

6. Estructuras de Control

6-1
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.1.
6.2. Estructuras Secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.3. Estructuras Selectivas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.3.1. Estructura Selectiva Simple: if else . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.3.2. Sentencias Selectivas Simples Anidadas
. . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.3.3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
6.3.4. Estructura Selectiva Múltiple: switch . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
6.4.1. Sentencia while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
6.4.2. Sentencia do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
6.4.3. Sentencia for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
6.5. Ejemplos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
6.5.1. Lectura del teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
6.5.2. Solución de una ecuación de primer grado . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

6.4. Estructuras Repetitivas

7. Funciones

7-1

20132014

iii

7.1. Funciones: Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.1.1. La función main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2. Denición de una Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2.1. El identicador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.2. Los parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.3. El Cuerpo de la Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.4. El Tipo de la Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.3. Declaración de una Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.4. Utilización de una Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.4.1. Correspondencia de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.5. Recursividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
7.6. Compilación Separada y Descomposición en Ficheros . . . . . . . . . . . . . . . . . . . . . . . 7-8
7.6.1. Funciones y cheros de cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
7.7.1. La directiva include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
7.7.2. La directiva define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
7.7.3. Directivas condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13

7.7. El preprocesador de C.

7.8. Resultado nal

8. Punteros

8.1.

8.2.1. Prioridades de los Operadores de Punteros

8-1
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
8.1.1. Declaración de Punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
8.1.2. El valor NULL en los Punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
8.2. Operadores Especícos de Punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
. . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.3. Aritmética de punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
8.3.1. Operaciones entre punteros y enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
8.3.2. Resta de dos Punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
8.3.3. Comparaciones de Punteros . . . . . . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf7791

Comentarios de: Fundamentos de Programación I - Apuntes de la Asignatura (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