PDF de programación - Lenguaje C - Tutorial

Imágen de pdf Lenguaje C - Tutorial

Lenguaje C - Tutorialgráfica de visualizaciones

Publicado el 23 de Mayo del 2018
669 visualizaciones desde el 23 de Mayo del 2018
313,5 KB
81 paginas
Creado hace 6a (08/05/2015)
Lenguaje C

Tutorial

Int. a la Programacion - Int. a la Computacion - Fundamentos de la Informatica

(Ing. Electr. - Prof. en Tec. Electr. - T.U.M - T.U.E. - T.U.G. - T.U.R. - T.U.W. - T.U.T.)

Programacion (Prof. en Tec. Electr. - Ing. Electr. - T.U.M )

Programacion I (T.U.G. - T.U.R.)
Electronica Programable (T.U.E.)

Area de Servicios

Departamento de Informatica

Universidad Nacional de San Luis

2015

Lenguaje C

Indice

1. Introducción

2. El primer programa

3. Tipos de datos

3.1. Nombres de variables y declaraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. El tipo entero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. El tipo caracter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Constantes enteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Combinando enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. El tipo flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Combinando flotantes con enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Conversión de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

2

3
3
4
5
6
7
8
8
8

4. Operadores

9
9
4.1. Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Operadores relacionales
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4. Operadores a nivel de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.5. Operadores de asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.6. Operadores de incremento y decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.7. Operador condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5. Control de secuencia

14
5.1. La sentencia de selección if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2. La sentencia de selección switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3. La sentencia de iteración while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4. La sentencia de iteración do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5. La sentencia de iteración for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6. Las sentencias break y continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6. Objetos de datos estructurados

21
6.1. Arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2. Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.3. Uniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.4. Combinación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7. Funciones

25
7.1. Creación y utilización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2. Parámetros formales y Parámetros reales o actuales . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.3. Tipos de una función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.3.1. Devolución de un valor desde una función . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.3.2. Funciones de tipo void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.4. Un programa más complejo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

8. Punteros

29
8.1. Punteros como parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.2. Punteros y arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.3. Aritmética de punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4. Punteros a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4.1. Declaración de un puntero a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis

1

Lenguaje C

8.4.2. Utilización de punteros a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

9. Strings

45
9.1. Funciones de strings de biblioteca en Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.2. Funciones de strings definidas por el programador . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

10.Entrada y salida estándar

48
10.1. Entrada y Salida Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.2. Entrada y Salida Formateada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

11.Archivos

50
11.1. Archivos ASCII y Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.2. Trabajo con los archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.2.1. Archivos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.2.2. Archivos Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

11.3. Ejemplos

12.Administración dinámica de memoria

13.Parámetros del programa

14.Declaraciones de tipos

58

60

61

15.Estructura del programa

61
15.1. Clases de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
15.2. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

16.El preprocesador

A. Precedencia y asociatividad de las operaciones

B. Especificadores de formato

C. Respuestas

64

67

68

69

D. Bibliotecas

75
D.1. Funciones matemáticas: math.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
D.2. Funciones de cadenas de caracteres: string.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
D.3. Funciones de utilería: stdlib.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
D.4. Funciones de entrada y salida con archivos: stdio.h . . . . . . . . . . . . . . . . . . . . . . . . . . 77
D.4.1. Lectura y escritura en archivos ASCII o de textos
. . . . . . . . . . . . . . . . . . . . . . 78
D.4.2. Lectura y escritura en archivos binarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis

2

Lenguaje C

1.

Introduccion

El lenguaje C es un lenguaje de programación que fue definido por Dennis Ritchie en los laboratorios de
la AT&T Bell en 1972. Fue definido en principio para el sistema operativo Unix, pero se ha extendido a casi
todos los sistemas hoy en día. De hecho, el diseño de muchos lenguajes más modernos se han basado en las
características del lenguaje C.

El lenguaje C es un lenguaje de programación de propósito general, que permite la escritura de programas
compactos, eficientes y de alta portabilidad. Provee al programador de un medio conveniente y efectivo para
acceder a los recursos de la computadora. Es un lenguaje de suficiente alto nivel para hacer los programas
portables y legibles, pero de relativo bajo nivel para adecuarse al hardware particular.

C es un lenguaje muy simple, con un conjunto de operadores muy bien diseñados. No provee, por ejemplo,
operadores para trabajar con strings ni arreglos en forma completa, no provee mecanismos de administración
dinámica de memoria, ni forma de trabajar con archivos. Es decir, el lenguaje C es muy pequeño y fácil de
describir. Todas las operaciones adicionales tales como las mencionadas, cuya falta haría al lenguaje C muy
restringido en sus aplicaciones, son provistas a través de funciones presentes en una biblioteca que está incluso
escrita en el mismo lenguaje C.

El lenguaje fue documentado completamente en 1977 en el libro “El lenguaje de programación C”, de
Kernighan y Ritchie. Fue de hecho el primer estándar. A medida que C fue creciendo en popularidad y fue
implementado en distintos ambientes, perdió su portabilidad, apareciendo una serie de variantes del lenguaje.
En el año 1988 el ANSI (American National Standards Institute) definió un nuevo estándar corrigiendo algunos
errores en su diseño original, y agregando algunas características que demostraron ser necesarias. El lenguaje,
conocido como ANSI C, es de total aceptación hoy en día.

2. El primer programa

La mejor forma de comenzar a estudiar C es viendo algunos ejemplos. De hecho, todo programador C
escribió alguna vez el famoso programa que se muestra a continuación, cuyo único objetivo es imprimir las
palabras “Hola mundo” en la pantalla.

#include <stdio.h>

int main() {

printf("Hola mundo\n");
return(0);

}

Los programas en C están compuestos por funciones. Normalmente, se tiene la libertad de dar cualquier
nombre a las funciones pero la función main, cuya definición aparece en este pequeño programa, es una función
especial: es el punto donde comienza le ejecución del programa.

El encabezamien
  • Links de descarga
http://lwp-l.com/pdf11234

Comentarios de: Lenguaje C - Tutorial (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