PDF de programación - Fundamentos de programación en C

Fundamentos de programación en Cgráfica de visualizaciones

Actualizado el 29 de Noviembre del 2017 (Publicado el 14 de Enero del 2017)
1.783 visualizaciones desde el 14 de Enero del 2017
2,4 MB
222 paginas
Creado hace 6a (11/08/2013)
Fundamentos de programación en C, por Nacho Cabanes



Fundamentos de programación en C



Este texto es una introducción a la programación de ordenadores en lenguaje C.

Se ha revisado con la intención que su nivel sea el razonable para una asignatura de
"Fundamentos de programación" o similar, aunque quizá algunos centros (especialmente
universitarios) exijan un nivel más alto que el que se cubre.

Está organizado de una forma ligeramente distinta a los libros de texto "convencionales",
procurando incluir ejercicios prácticos lo antes posible, para evitar que un exceso de teoría en los
primeros temas haga el texto pesado de seguir.

Aun así, este texto no pretende "sustituir a un profesor", sino servir de apoyo para que los
alumnos no pierdan tiempo en tomar apuntes. Pero es trabajo del profesor aclarar las dudas que
surjan y proponer muchos más ejercicios que los que figuran aquí.


Este texto ha sido escrito por Nacho Cabanes. Si quiere conseguir la última versión, estará en mi
página web:


www.nachocabanes.com



Este texto es de libre distribución ("gratis"). Se puede distribuir a otras personas libremente,
siempre y cuando no se modifique.

Este texto se distribuye "tal cual", sin garantía de ningún tipo, implícita ni explícita. Aun así, mi
intención es que resulte útil, así que le rogaría que me comunique cualquier error que
encuentre.

Para cualquier sugerencia, no dude en contactar conmigo a través de mi web. Si se trata de
dudas sobre programación, suele ser fácil localizarme en los foros de


www.AprendeAProgramar.com



Revisión actual: 0.95

Revisión 0.95– Página 1

Fundamentos de programación en C, por Nacho Cabanes

Contenido

0. Conceptos básicos sobre programación __________________________________________________________________ 6

0.1. Lenguajes de alto nivel y de bajo nivel. _______________________________________________________________ 6

0.2. Ensambladores, compiladores e intérpretes _________________________________________________________ 7

0.3. Pseudocódigo ____________________________________________________________________________________________ 8

1. Toma de contacto con C ____________________________________________________________________________________ 10

1.1 Escribir un texto en C ___________________________________________________________________________________ 11
1.1.1. Cómo probar este programa en Linux ______________________________________________________________ 13
1.1.2. Cómo probar este programa en Windows __________________________________________________________ 18

1.2. Mostrar números enteros en pantalla _______________________________________________________________ 23

1.3. Operaciones aritméticas básicas _____________________________________________________________________ 24
1.3.1. Orden de prioridad de los operadores _____________________________________________________________ 24
1.3.2. Introducción a los problemas de desbordamiento ________________________________________________ 25

1.4. Introducción a las variables: int ______________________________________________________________________ 25
1.4.1. Definición de variables: números enteros __________________________________________________________ 25
1.4.2. Asignación de valores _______________________________________________________________________________ 25
1.4.3. Mostrar el valor de una variable en pantalla _______________________________________________________ 26

1.5. Identificadores _________________________________________________________________________________________ 28

1.6. Comentarios ____________________________________________________________________________________________ 29

1.7. Datos por el usuario: scanf ____________________________________________________________________________ 30

2. Tipos de datos básicos ______________________________________________________________________________________ 32

2.1. Tipo de datos entero ___________________________________________________________________________________ 32
2.1.1. Tipos de enteros: signed/unsigned, short/long _____________________________________________________ 32
2.1.2. Problemática: asignaciones y tamaño de los números; distintos espacios ocupados según el
sistema _____________________________________________________________________________________________________ 33
2.1.3. Unidades de medida empleadas en informática (1): bytes, kilobytes, megabytes... ______________ 34
2.1.4. Unidades de medida empleadas en informática (2): los bits ______________________________________ 35
2.1.5. Sistemas de numeración: 1- Sistema binario _______________________________________________________ 37
2.1.6. Sistemas de numeración: 2- Sistema octal _________________________________________________________ 39
2.1.7. Sistemas de numeración: 3- Sistema hexadecimal _________________________________________________ 40
2.1.8. Formato de constantes enteras: oct, hex ___________________________________________________________ 43
2.1.9. Representación interna de los enteros _____________________________________________________________ 43
2.1.10. Incremento y decremento _________________________________________________________________________ 45
2.1.11. Operaciones abreviadas: += _______________________________________________________________________ 46
2.1.12. Modificadores de acceso: const, volatile __________________________________________________________ 47

2.2. Tipo de datos real ______________________________________________________________________________________ 47
2.2.1. Simple y doble precisión ____________________________________________________________________________ 48
2.2.2. Mostrar en pantalla números reales ________________________________________________________________ 48

2.3. Operador de tamaño: sizeof ___________________________________________________________________________ 50

2.4. Operador de molde: (tipo) operando _________________________________________________________________ 51

2.5. Tipo de datos carácter _________________________________________________________________________________ 52
2.5.1. Secuencias de escape: \n y otras. ___________________________________________________________________ 53
2.5.2. Introducción a las dificultades de las cadenas de texto ____________________________________________ 54

3. Estructuras de control ______________________________________________________________________________________ 55

3.1. Estructuras alternativas _______________________________________________________________________________ 55
3.1.1. if ______________________________________________________________________________________________________ 55
3.1.2. if y sentencias compuestas __________________________________________________________________________ 56
3.1.3. Operadores relacionales: <, <=, >, >=, ==, != _______________________________________________________ 57
3.1.4. if-else ________________________________________________________________________________________________ 58
3.1.5. Operadores lógicos: &&, ||, ! _______________________________________________________________________ 60
Revisión 0.95– Página 2

Fundamentos de programación en C, por Nacho Cabanes

3.1.6. Cómo funciona realmente la condición en un "if" _________________________________________________ 61
3.1.7. El peligro de la asignación en un "if" ________________________________________________________________ 62
3.1.8. Introducción a los diagramas de flujo ______________________________________________________________ 64
3.1.9. Operador condicional: ? _____________________________________________________________________________ 66
3.1.10. switch _______________________________________________________________________________________________ 67

3.2. Estructuras repetitivas ________________________________________________________________________________ 69
3.2.1. while _________________________________________________________________________________________________ 69
3.2.2. do ... while ___________________________________________________________________________________________ 70
3.2.3. for ____________________________________________________________________________________________________ 71

3.3. Sentencia break: termina el bucle ____________________________________________________________________ 75

3.4. Sentencia continue: fuerza la siguiente iteración __________________________________________________ 75

3.5. Sentencia goto __________________________________________________________________________________________ 78

3.6. Más sobre diagramas de flujo. Diagramas de Chapin. ______________________________________________ 79

3.7. Recomendación de uso de los distintos tipos de bucle _____________________________________________ 81

4. Entrada/salida básica ______________________________________________________________________________________ 83

4.1. printf _____________________________________________________________________________________________________ 83

4.2. scanf _____________________________________________________________________________________________________ 86

4.3. putchar __________________________________________________________________________________________________ 87

4.4. getchar __________________________________________________________________________________________________ 87

5. Arrays y estructuras ______________________________________________________________________________________ 89

5.1. Conceptos básicos sobre tablas _______________________________________________________________________ 89
5.1.1. Definición de una tabla y acceso a los datos _______________________________________________________ 89
5.1.2. Valor inicial de una tabla __________________________________________
  • Links de descarga
http://lwp-l.com/pdf288

Comentarios de: Fundamentos de programación en C (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