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)
1.132 visualizaciones desde el 7 de Diciembre del 2017
3,6 MB
241 paginas
Creado hace 10a (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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad