LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

47
LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos

Transcript of LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Page 1: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

LENGUAJE DE PROGRAMACIÓN C

Programación en C para electrónicos

Page 2: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

2

Índice

Introducción. Estructura de un programa en c. Declaración de variables. Palabras reservadas. Comentarios. Tipos de datos. Constantes.

Page 3: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

4

Lenguaje C

Fue creado por Dennis Ritchie de los laboratorios BELL en 1972, cuando trabajaba junto a Ken Thompson, en el diseño del sistema operativo UNIX.

Se deriva del lenguaje B de Thompson, que a su vez se deriva del BCPL de Martín Richards.

Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.

Page 4: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

5

Características de C

Programación estructurada. Diseño modular. Programas compactos. Rapidez de ejecución. Portable. De relativo bajo nivel. Precisa compilarse.

Page 5: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

6

Edición y compilación

Los pasos necesarios para desarrollar un programa C son los siguientes: Edición: Utilizar un editor para escribir el

programa fuente texto. Compilación: Compilar el programa

fuente, es decir, traducir el programa a lenguaje máquina.

Ejecución: Una vez compilado se procede a la ejecución del programa tecleando el nombre del fichero-programa.

Page 6: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

7

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Estructura de un programa en C

Page 7: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

8

Estructura de un programa en C

Comentarios.Cabecera de archivo Declaración y

Definiciones(Zona de declaraciones)

Funciónprincipal

Instrucciones

Page 8: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

9

La función principal

Todo programa escrito en C consta de una o más funciones, una de las cuales se llama main.

La función main es la función principal del programa. El programa empieza en esa función.

Mediante las llaves se delimita el conjunto de instrucciones que componen el programa.

A main le precede una palabra reservada que indica el tipo de dato que devuelve el programa.

Page 9: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

10

La función principal

Tipo de resultado

Parámetros

Page 10: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

11

Declaraciones y definiciones Antes de la función main se declaran los

elementos que se van a utilizar. Zona de declaraciones

Librerias de cabecera: Archivos (.h) con funciones listas para usar. #include <xxx.h>

Declaración de variables y funciones. Directivas del compilador

Ordenes al compilador. #define PI 3.141592

Page 11: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

12

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Declaración de variables

Page 12: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

13

Declaración de variables

Declarar variables significa reservar celdas de memoria para almacenar datos.

Sintaxis:Tipo_de_dato Nombre_de_la_variable;

El nombre se usa para acceder a los datos almacenados en las celdas de memoria.

El tipo de dato indica: Tamaño de la variable. Operaciones que se pueden realizar con el

dato.

Page 13: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

14

Identificadores

Es el nombre que hace referencia a una función o al contenido de una variable.

Se puede utilizar cualquier combinación de letras, dígitos y el símbolo subrayado '_'. Debemos utilizar nombres identificativos.

El primer carácter debe ser una letra o un subrayado.

Se distinguen mayúsculas de minúsculas. Ejemplo: Valor es distinto de valor, VALOR, vAlor…

Page 14: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

15

Lenguaje de programación C - David Carmona 2010

Ejemplos de identificadores

1Apellido //Empieza por numero

Peso Neto //espacio Pr€cio //contiene € Valor.1 //contiene . Tensión //contiene tilde Tamaño //contiene ñ int //palabra reservada

Válidos No válidos

Letra letra _variable_ peso_neto PesoBruto Apellido1 Apellido_1

Page 15: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

16

Variables locales y globales

Las variables se pueden declarar en dos sitios: Fuera de toda función (Globales)

Se puede acceder a la variable en cualquier parte del programa.

Dentro de una función (Locales) Solo se puede acceder a la variable desde

dentro de la función que declara la variable.

Page 16: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

17

Variables locales y globales

Variables globales

Variable local a main

Page 17: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

18

Declaración múltiple

Se pueden declarar varias variables del mismo tipo en una sentencia.

Los nombres de las diferentes variables se separan por comas (,)

Sintaxis:Tipo_de_dato variable1,variable2…;

Cada variable ocupará celdas de memoria distintas y se accederán por su nombre-

Page 18: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

19

Inicialización de variables

Cuando se declara una variable se reserva el espacio de memoria que ocupara, pero no se modifica el contenido de ese espacio.

En la declaración de las variables se puede forzar a que se escriba un valor inicial.

Sintaxis:Tipo_de_dato

variable1=Valor_inicial;

Page 19: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

20

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Palabras reservadas

Page 20: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

21

Palabras reservadas

En C existen una serie de palabras reservadas que el usuario no puede utilizar para dar nombre a variables o funciones.

Estas palabras tienen distintos significados para el compilador: Instrucciones. Definir tipos.

Page 21: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

22

Palabras reservadas

Page 22: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

23

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Comentarios

Page 23: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

24

Comentarios en C

En lenguaje C se pueden utilizar comentarios en el código.

Un comentario es un texto explicativo del funcionamiento o la forma en que está hecha un programa.

El texto de los comentarios es ignorado por el compilador.

Sirven para ayudar al programador o a otros a entender el programa.

Page 24: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

25

Comentarios en C

Se pueden introducir comentarios de dos formas:

Usando //: Cuando escribimos dos barras seguidas (//)

el compilador ignora el texto siguiente hasta el final de la línea:

Usando /* */: Con /* se abre el comentario y el

compilador ignora todo lo escrito hasta que encuentra el cierre de comentario */

Page 25: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

26

Ejemplos de comentarios

Comentarios de una línea:// esto es un comentario de una linea

Comentarios de varias líneas://esto es un

//comentario con//varias lineas.

/*esto es otrocomentario con

varias lineas.*/

Page 26: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

27

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Tipos de datos

Page 27: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

28

Tipos de datos

Sirven para indicar que tipo de valor queremos almacenar en una variable. El tipo indicará al compilador cuanta memoria se

reserva. En C podemos utilizar tres tipos básicos de

datos: Números enteros. Números reales. Caracteres de texto.

De cada tipo de dato básico se tendrán distintos “tamaños”

Page 28: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

29

Tipos de datos

C utiliza palabras reservadas para definir los tipos:

Enteros: int

Reales: float double

Caracteres: char //también puede ser un entero

Page 29: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

30

Tipos de datos

Algunos tipos de datos admiten distintos números de cifras (rango y precisión) y la posibilidad de utilizar o no el signo.

Se utilizan palabras reservadas como modificadores de tipo: short //corto long //largo signed //con signo unsigned //sin signo

Page 30: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

31

Tipos de datos

Los distintos tipos de datos se componen utilizando un tipo de dato fundamental y uno o varios modificadores.

Sintaxis:modificador [modificador2…]

tipo_fundamental Ejemplos:

short int //entero corto

unsigned char //carácter sin signo

signed long int//entero largo con signo

Page 31: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

32

Tipos de datos

Notación completa:

Notación abreviada

Page 32: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

33

Modificadores de tipo

Los modificadores signed y unsigned indican la variable (entera) contendrá valores con signo (signed) o solo positivos (unsigned)

Podemos omitir los modificadores: Si delante del tipo no escribimos ningún

modificador, el compilador por defecto entiende que es signed.

int valor equivale a signed int valor

Page 33: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

34

Rango: Enteros

TIPO BYTESPRECISIÓN

DESDE HASTA

VOID Es NULL, no devuelve nada

signed char 1 -128 127

unsigned char 1 0 255

signed short 2 -32768 32767

unsigned short

2 0 65535

signed int 2 ó 4 -32768 32767

unsigned int 2 ó 4 0 65535

signed long 4 -2147483648 2147483647

unsigned long 4 0 4294967295

Page 34: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

35

Rango: Reales

TIPO BYTESPRECISIÓN

DESDE HASTA

float 4 1.18e-38 3.40e38

double 8 2.23e-308 1.79e308

long double 10 3.37e-4932   1.18e4932

Page 35: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

36

Otros modificadores

Sintaxis:modificador tipo_fundamental

const: El valor no puede ser modificado por el

programa. Debe inicializarse en la declaración.

volatile: Obligamos a consultar el valor de la

variable en memoria cada vez que se deba acceder a ella

Page 36: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

37

Tipos de almacenamiento

C dispone de modificadores de tipo que permiten indicar al compilador como debe utilizar la memoria.

auto: modificador por defecto

extern: La definición de la variable está en otro fichero fuente.

static: Se le asigna una dirección fija. Su valor permanece

register: Se almacena en un registro de la CPU, si es posible.

Page 37: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

38

Lenguaje de programación C - David Carmona 2010

Lenguaje de programación C

Constantes

Page 38: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

39

Constantes

Las constantes o valores literales, son valores numéricos o de texto dados explicitamente en el código del programa.

Estos valores no pueden ser modificados una vez compilado el programa. No reservan memoria como las variables, se

codifican en el código ejecutable. Tipos:

Enteras. Reales. Caracteres.

Page 39: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

40

Constantes enteras

Por defecto se codifican como un int. Ocupan 2 bytes (ó 4) del código ejecutable.

Se puede expresar una constante entera mediante una secuencia de dígitos. 3246855 por ejemplo. Se puede indicar el signo. (-)

-1235 Por defecto es positivo.

1234 = +1234 No se pueden utilizar otros caracteres

2.654

Page 40: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

41

Constantes enteras

También se pueden expresar números enteros en otros sistemas de numeración: Hexadecimal:

Se indica delante del entero con 0x 0xff = 255 en decimal

Octal: Se indica con un cero delante del entero. 010 = 8 en decimal (001000)

Se puede “obligar” al compilador a utilizar tipo de dato para codificar una constante. Con L al final del valor se codifica como un long sino

como un int. 127L

Page 41: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

42

Constantes reales

Por defecto se codifican como un double. Ocupan 8 bytes del código ejecutable.

Dos formatos: parte entera y decimal, separadas por un

punto(.)1.234

Notación científica (mantisa y exponente) separados por e o E.1e-3 = 0.001-0.12E3 = 120

Page 42: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

43

Constantes reales

Se puede “obligar” al compilador a utilizar el tipo float para codificar una constante real. Se utiliza F al final de la constante.

1.235F ocupará 4 bytes en lugar de 8. También se puede utilizar F para indicar al

compilador que una constante entera debe ser codificada como float.12F se codifica como si se hubiese escrito 12.0F

Se puede utilizar el modificador L

Page 43: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

44

Constantes Carácter

Se representan encerrados en comillas simples (‘’).

Se pueden representar caracteres del código ASCII extendido (8 bits). Caracteres imprimibles.

Letras, digitos, signos…‘a’, ‘H’, ‘!’, …

No imprimibles o secuencias de escape. Dos caracteres encerrados entre comillas simples

empezando por \. Representan símbolos con significado especial.

Page 44: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

45

Secuencias de escape

Page 45: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

46

Caracteres y enteros

Un carácter tiene como codificación un número binario (8 bits), que es un número entero.

En C los caracteres se pueden manejar como números enteros.

La tabla del código ASCII representa el código numérico de cada carácter. Por ejemplo:

‘A’ equivale a 65 en decimal o a 0x41 (HEX)

Page 46: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

47

Cadenas de caracteres

Las cadenas de caracteres son conjuntos de caracteres alfanumericos encerrados entre comillas dobles (“”). Cada carácter de una cadena es una concatenación

de cacateres. Las cadenas terminan con el carácter nulo ‘\0’. Se pueden utilizar secuencias de escape en las

cadenas escribiendo el código como un carácter más: “Hola\nMundo!” representa :HolaMundo!

Page 47: LENGUAJE DE PROGRAMACIÓN C Programación en C para electrónicos.

Lenguaje de programación C - David Carmona 2010

48

Resumen de constantes