PDF de programación - El Lenguaje de programación C

Imágen de pdf El Lenguaje de programación C

El Lenguaje de programación Cgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 29 de Diciembre del 2017)
662 visualizaciones desde el 29 de Diciembre del 2017
1,7 MB
218 paginas
Creado hace 8a (01/02/2012)
El Lenguaje de programaci´on C

Sistemas Operativos

Universidade da Coru˜na

Sistemas Operativos

El Lenguaje de programaci´on C

1 / 218

El Lenguaje de programaci´on C I

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Tipos, operadores y expresiones

Nombres de variables
Tipos y tama˜nos de datos
Constantes
Declaraciones de variables
Operadores aritm´eticos
Operadores de relaci´on y l´ogicos

Sistemas Operativos

El Lenguaje de programaci´on C

2 / 218

El Lenguaje de programaci´on C II

Conversiones de tipo
Operadores de bit
Incremento y decremento, asignaci´on y expresiones
Expresi´on condicional
Precedencia y orden e evaluaci´on
Ejercicios

Control de flujo

Sentencias y bloques
if else
else-if
switch
bucleswhile, for y do..while
break y continue
goto y etiquetas
Ejercicios

Funciones y estructura de un programa
Sistemas Operativos

El Lenguaje de programaci´on C

3 / 218

El Lenguaje de programaci´on C III

funciones
funciones que no devuelven enteros
Variables externas
Variables est´aticas
Variables registro
Inicializaci´on
Recursividad
EL preprocesador C
Ejercicios

Arrays y punteros

Punteros y direcciones
Punteros y argumentos a funciones
Operaciones sobre punteros
Arrays y punteros
Arrays de punteros
Arrays multidimensionales

Sistemas Operativos

El Lenguaje de programaci´on C

4 / 218

El Lenguaje de programaci´on C IV
Punteros y arrays multidimensionales
Argumentos en la l´ınea de comando
Punteros a funciones
Ejercicios

Estructuras

Estructuras
Operaciones sobre estructuras
Punteros a estructuras
Arrays de estructuras
Estructuras autoreferenciadas
Uniones
Campos de bits
typedef
Ejercicios

Biblioteca C

Biblioteca C

Sistemas Operativos

El Lenguaje de programaci´on C

5 / 218

El Lenguaje de programaci´on C V

Documentaci´on en l´ınea
Asignaci´on de memoria
Funciones de caracteres
Cadenas de caracteres
Entrada/salida con formato
Entrada/salida con formato a fichero
Entrada/salida con formato a memoria
Entrada/salida sin formato
Ejercicios

Herramientas

Valgrind

Sistemas Operativos

El Lenguaje de programaci´on C

6 / 218

Introducci´on
Tipos, operadores y expresiones
Control de flujo
Funciones y estructura de un programa
Arrays y punteros
Estructuras
Biblioteca C
Herramientas

Sistemas Operativos

El Lenguaje de programaci´on C

7 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

8 / 218

Caracter´ısticas del lenguaje C

(cid:73) Es el lenguaje de programaci´on de prop´osito general asociado

al sistema operativo UNIX

(cid:73) Es un lenguaje de medio nivel. Trata con objetos b´asicos

como car´acteres, n´umeros . . . ; tambi´en con bits y direcciones
de memoria

(cid:73) Posee una gran portabilidad
(cid:73) Se utiliza para la programaci´on de sistemas: construcci´on de

interpretes, compiladores, editores de texto, etc

Sistemas Operativos

El Lenguaje de programaci´on C

9 / 218

(cid:73) El lenguaje C consta de

(cid:73) El lenguaje C propiamente dicho: tipos de datos, expresiones y

estructuras de control

(cid:73) Extensiones en forma de macros y un amplio conjunto de

librer´ıas predefinidas

Sistemas Operativos

El Lenguaje de programaci´on C

10 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

11 / 218

Estructura de un programa C

(cid:73) Un programa e C consta de uno o m´as m´odulos (ficheros

fuentes)

(cid:73) Cada m´odulo puede contener

(cid:73) directivas del precompilador, p.e para “incluir” otros ficheros

(#include) y “definir” constantes y macros (#define)

(cid:73) declaraciones de variables y prototipos de funciones
(cid:73) una o m´as funciones
(cid:73) comentarios

(cid:73) Cada funci´on puede contener
(cid:73) directivas del precompilador
(cid:73) declaraciones
(cid:73) uno o m´as bloques
(cid:73) comentarios

Sistemas Operativos

El Lenguaje de programaci´on C

12 / 218

(cid:73) Cada bloque puede contener

(cid:73) directivas del precompilador
(cid:73) declaraciones
(cid:73) una o m´as sentencias
(cid:73) comentarios

Sistemas Operativos

El Lenguaje de programaci´on C

13 / 218

(cid:73) Cada sentencia debe estar terminada por ;
(cid:73) Cada bloque de sentencias se encierra entre llaves {. . . }
(cid:73) La funci´on denominada main es la que primero se ejecuta
(cid:73) Los comentarios pueden aparecer en cualquier lugar del c´odigo

y se insertan entre /* y */ as´ı

/* esto es un comentario*/

(cid:73) o entre // y final de l´ınea

// esto es otro comentario

Sistemas Operativos

El Lenguaje de programaci´on C

14 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

15 / 218

Primeros ejemplos

#include <stdio.h>
main()
{

printf("hola, primer programa en C\n");

}

Sistemas Operativos

El Lenguaje de programaci´on C

16 / 218

#include <stdio.h>
main()
{

int fahr, celsius;
int lower, upper, step;
lower=0;
upper=300;
step=20;
fahr=lower;
while(fahr<=upper)
{

celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;

}

}

Sistemas Operativos

El Lenguaje de programaci´on C

17 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

18 / 218

Compilaci´on de un programa

(cid:73) Normalmente invocamos al compilador con cc o gcc (el

compilador de gnu)

(cid:73) Cuando tecleamos cc programa.c para generar un ejecutable

a partir de un fichero fuente obtenemos un ejecutable,
t´ıpicamente denominado a.out. Sin embargo se realizan tres
tareas

(cid:73) Paso por el preprocesador C. Es el que procesa las l´ıneas que

comienzan con # (pe #include, #define. . . ). Puede
invocarse directamente con cpp

(cid:73) La compilaci´on propiamente dicha. Genera ficheros objeto (.o)

a partir de los ficheros fuente. Puede invocarse como cc -c

(cid:73) El enlazado. Realizado por ld

Sistemas Operativos

El Lenguaje de programaci´on C

19 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

20 / 218

Directivas del precompilador

#include Incluye el fichero, cuyo nombre se indica, para su compilaci´on

con el resto del c´odigo

(cid:73) Si el nombre del fichero va entre <...> se busca en el

directorio include del sistema (/usr/include). Por ejemplo
#include <stdio.h>
hace que el fichero /usr/include/stdio.h se incluya en ese
punto para ser compilado con nuestro fichero fuente

(cid:73) El nombre se puede poner entre comillas (“) y el sistema lo
buscar´a en el directorio actual (tambi´en se puede poner una
ruta absoluta)

(cid:73) Los ficheros se suelen denominar .h y contienen declaraciones

de tipos, variables y prototipos de funciones (son ficheros
fuente que pueden verse)

Sistemas Operativos

El Lenguaje de programaci´on C

21 / 218

#define Define un s´ımbolo, es decir cada ocurrencia de ese s´ımbolo es

sustituida por su definici´on. Por ejemplo

(cid:73) El C distingue entre may´usculas y min´usculas, aunque la

costumbre es utilizar may´usculas para los s´ımbolos definidos
por el preprocesador

(cid:73) ejemplo

#define MAX 1024
hace que todas las ocurrencias de la cadena MAX dentro del
c´odigo son sustituidas por 1024

(cid:73) El c´odigo que se compila lleva 1024 donde iba MAX
(cid:73) Si MAX iba dentro de comillas ’’...‘‘, no se sustituye

Sistemas Operativos

El Lenguaje de programaci´on C

22 / 218

#include <stdio.h>
#define UPPER 300
#define LOWER 0
#define STEP 20
main()
{

int fahr, celsius;
fahr=LOWER;

while(fahr<=UPPER)
{

celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+STEP;

}

}

Sistemas Operativos

El Lenguaje de programaci´on C

23 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

24 / 218

Depuraci´on

(cid:73) Para depurar programas disponemos del depurador, que nos

permite ejecutar los programas en un entorno controlado

(cid:73) Para usar el depurador

a Compilamos con cc -g

$gcc -g ejercicio1.c

b Invocamos el depurador pas´andole el ejecutable como

par´ametro
antonio@abyecto:~$ gdb a.out
GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 Free Software Foundation, Inc.
.......
(gdb)

(cid:73) Dentro del depurador podemos establecer puntos de ruptura

con break (break numerol´ınea o break nombrefunci´on),
ejecutar paso a paso con step o next, ver variables con
display . . . . El depurador dispone de ayuda en l´ınea,
mediante help

Sistemas Operativos

El Lenguaje de programaci´on C

25 / 218

Introducci´on

Caracter´ısticas del lenguaje C
Estructura de un programa C
Primeros ejemplos
Compilaci´on de un programa
Directivas del precompilador
Depuraci´on
make
Ejercicios

Sistemas Operativos

El Lenguaje de programaci´on C

26 / 218

make

(cid:73) Facilita el proceso de generaci´on y actualizaci´on de un

programa.

(cid:73) Determina autom´aticamente qu´e partes de un programa

deben recompilarse ante una actualizaci´on de algunos m´odulos
y las recompila.

(cid:73) Se crean un archivo Makefile con las dependencias entre los

ficheros: un fichero debe actualizarse si alguna de sus
dependencias
  • Links de descarga
http://lwp-l.com/pdf8085

Comentarios de: El Lenguaje de programación 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