620 likes | 1.32k Views
Lenguaje de programación c. Programación en C para electrónicos. Índice. Introducción. Estructura de un programa en c. Declaración de variables. Palabras reservadas. Comentarios. Tipos de datos. Constantes. Lenguaje C.
E N D
Lenguaje de programación c Programación en C para electrónicos
Índice • Introducción. • Estructura de un programa en c. • Declaración de variables. • Palabras reservadas. • Comentarios. • Tipos de datos. • Constantes. Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Características de C • Programación estructurada. • Diseño modular. • Programas compactos. • Rapidez de ejecución. • Portable. • De relativo bajo nivel. • Precisa compilarse. Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Estructura de un programa en C Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
Estructura de un programa en C Comentarios. Cabecera de archivo Declaración y Definiciones (Zona de declaraciones) Instrucciones Función principal Lenguaje de programación C - David Carmona 2010
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 maines 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. Lenguaje de programación C - David Carmona 2010
La función principal Tipo de resultado Parámetros Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
Declaración de variables Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
Declaración de variables • Declarar variables significa reservar celdas de memoria para almacenar datos. • Sintaxis: Tipo_de_datoNombre_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. Lenguaje de programación C - David Carmona 2010
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… Lenguaje de programación C - David Carmona 2010
Ejemplos de identificadores Válidos No válidos • 1Apellido //Empieza por numero • Peso Neto //espacio • Pr€cio//contiene € • Valor.1 //contiene . • Tensión //contiene tilde • Tamaño //contiene ñ • int //palabra reservada • Letra • letra • _variable_ • peso_neto • PesoBruto • Apellido1 • Apellido_1 Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Variables locales y globales Variables globales Variable local a main Lenguaje de programación C - David Carmona 2010
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_datovariable1,variable2…; • Cada variable ocupará celdas de memoria distintas y se accederán por su nombre- Lenguaje de programación C - David Carmona 2010
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_datovariable1=Valor_inicial; Lenguaje de programación C - David Carmona 2010
Palabras reservadas Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Palabras reservadas Lenguaje de programación C - David Carmona 2010
Comentarios Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
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 */ Lenguaje de programación C - David Carmona 2010
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 otro comentario con varias lineas.*/ Lenguaje de programación C - David Carmona 2010
Tipos de datos Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
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” Lenguaje de programación C - David Carmona 2010
Tipos de datos • C utiliza palabras reservadas para definir los tipos: • Enteros: • int • Reales: • float • double • Caracteres: • char//también puede ser un entero Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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 unsignedchar//carácter sin signo signedlongint//entero largo con signo Lenguaje de programación C - David Carmona 2010
Tipos de datos • Notación completa: • Notación abreviada Lenguaje de programación C - David Carmona 2010
Modificadores de tipo • Los modificadores signedy unsignedindican 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 equivaleasignedint valor Lenguaje de programación C - David Carmona 2010
Rango: Enteros Lenguaje de programación C - David Carmona 2010
Rango: Reales Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Constantes Lenguaje de programación C Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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 Lenguaje de programación C - David Carmona 2010
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. Lenguaje de programación C - David Carmona 2010
Secuencias de escape Lenguaje de programación C - David Carmona 2010
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) Lenguaje de programación C - David Carmona 2010
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 : Hola Mundo! Lenguaje de programación C - David Carmona 2010
Resumen de constantes Lenguaje de programación C - David Carmona 2010