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

Imágen de pdf Fundamentos de programación en C

Fundamentos de programación en Cgráfica de visualizaciones

Actualizado el 15 de Noviembre del 2020 (Publicado el 5 de Julio del 2017)
5.701 visualizaciones desde el 5 de Julio del 2017
1,5 MB
198 paginas
Creado hace 14a (06/01/2010)
Fundamentos de programación en C, por Nacho Cabanes



Fundamentos de programación en C



Este texto pretende ser 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.



Revisión actual: 0.90

Revisión 0.90– 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 __________________________________________ 12
1.1.2. Cómo probar este programa en Windows _______________________________________ 14

1.2. Mostrar números enteros en pantalla ____________________________________________ 15

1.3. Operaciones aritméticas básicas ________________________________________________ 16
1.3.1. Orden de prioridad de los operadores __________________________________________ 16
1.3.2. Introducción a los problemas de desbordamiento _________________________________ 17

1.4. Introducción a las variables: int ________________________________________________ 17
1.4.1. Definición de variables: números enteros _______________________________________ 17
1.4.2. Asignación de valores ______________________________________________________ 17
1.4.3. Mostrar el valor de una variable en pantalla _____________________________________ 18

1.5. Identificadores_______________________________________________________________ 19

1.6. Comentarios ________________________________________________________________ 20

1.7. Datos por el usuario: scanf_____________________________________________________ 21

2. Tipos de datos básicos _____________________________________________________________ 22

2.1. Tipo de datos entero __________________________________________________________ 22
2.1.1. Tipos de enteros: signed/unsigned, short/long ____________________________________ 22
2.1.2. Problemática: asignaciones y tamaño de los números; distintos espacios ocupados según el
sistema _______________________________________________________________________ 23
2.1.3. Unidades de medida empleadas en informática (1): bytes, kilobytes, megabytes...________ 24
2.1.4. Unidades de medida empleadas en informática (2): los bits _________________________ 25
2.1.5. Sistemas de numeración: 1- Sistema binario _____________________________________ 26
2.1.6. Sistemas de numeración: 2- Sistema octal _______________________________________ 28
2.1.7. Sistemas de numeración: 3- Sistema hexadecimal_________________________________ 29
2.1.8. Formato de constantes enteras: oct, hex_________________________________________ 31
2.1.9. Representación interna de los enteros __________________________________________ 32
2.1.10. Incremento y decremento___________________________________________________ 34
2.1.11. Operaciones abreviadas: += _________________________________________________ 35
2.1.12. Modificadores de acceso: const, volatile _______________________________________ 35

2.2. Tipo de datos real ____________________________________________________________ 36
2.2.1. Simple y doble precisión ____________________________________________________ 36
2.2.2. Mostrar en pantalla números reales ____________________________________________ 36

2.3. Operador de tamaño: sizeof ____________________________________________________ 38

2.4. Operador de molde: (tipo) operando_____________________________________________ 39

2.5. Tipo de datos carácter ________________________________________________________ 40
2.5.1. Secuencias de escape: \n y otras. ______________________________________________ 41
2.5.2. Introducción a las dificultades de las cadenas de texto _____________________________ 41

3. Estructuras de control_____________________________________________________________ 42

3.1. Estructuras alternativas _______________________________________________________ 42
3.1.1. if_______________________________________________________________________ 42
3.1.2. if y sentencias compuestas ___________________________________________________ 43
3.1.3. Operadores relacionales: <, <=, >, >=, ==, !=____________________________________ 43
3.1.4. if-else ___________________________________________________________________ 44

Revisión 0.90– Página 2

Fundamentos de programación en C, por Nacho Cabanes

3.1.5. Operadores lógicos: &&, ||, ! _________________________________________________ 46
3.1.6. Cómo funciona realmente la condición en un “if” _________________________________ 46
3.1.7. El peligro de la asignación en un “if” __________________________________________ 47
3.1.8. Introducción a los diagramas de flujo __________________________________________ 50
3.1.9. Operador condicional: ? _____________________________________________________ 52
3.1.10. switch __________________________________________________________________ 53

3.2. Estructuras repetitivas ________________________________________________________ 54
3.2.1. while ___________________________________________________________________ 54
3.2.2. do ... while _______________________________________________________________ 55
3.2.3. for______________________________________________________________________ 56

3.3. Sentencia break: termina el bucle _______________________________________________ 59

3.4. Sentencia continue: fuerza la siguiente iteración ___________________________________ 60

3.5. Sentencia goto _______________________________________________________________ 62

3.6. Más sobre diagramas de flujo. Diagramas de Chapin. ______________________________ 63

3.7. Recomendación de uso de los distintos tipos de bucle _______________________________ 65

4. Entrada/salida básica_____________________________________________________________ 67

4.1. printf ______________________________________________________________________ 67

4.2. scanf _______________________________________________________________________ 69

4.3. putchar_____________________________________________________________________ 70

4.4. getchar _____________________________________________________________________ 71

5. Arrays y estructuras _____________________________________________________________ 73

5.1. Conceptos básicos sobre tablas _________________________________________________ 73
5.1.1. Definición de una tabla y acceso a los datos _____________________________________ 73
5.1.2. Valor inicial de una tabla ____________________________________________________ 74
5.1.3. Recorriendo los elementos de una tabla_________________________________________ 74

5.2. Cadenas de caracteres ________________________________________________________ 75
5.2.1. Definición. Lectura desde teclado _____________________________________________ 75
5.2.2. Cómo acceder a las letras que forman una cadena _________________________________ 76
5.2.3. Longitud de la cadena. ______________________________________________________ 77
5.2.4. Entrada/salida para cadenas: gets, puts _________________________________________ 78
5.2.5. Asignando a una cadena el valor de otra: strcpy, strncpy; strcat ______________________ 78
5.2.6. Comparando cadenas: strcmp ________________________________________________ 80
5.2.7. Otras funciones de cadenas: sprintf, sscanf, strstr, … ______________________________ 82
5.2.8. Valor inicial de una cadena de texto ___________________________________________ 83

5.3. Tablas bidimensionales________________________________________________________ 84

5.4. Arrays indeterminados. _______________________________________________________ 85

5.5. Estructuras _________________________________________________________________ 85
5.5.1. Definición y acceso a los datos _______________________________________________ 85
5.5.2. Arrays de estructuras _______________________________________________________ 87
5.5.3. Estructuras anidadas________________________________________________________ 87

5.6 Ejemplo completo ____________________________________________________________ 88

5.7 Ordenaciones simples _________________________________________________________ 92

6. Manejo de ficheros _________
  • Links de descarga
http://lwp-l.com/pdf4876

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