Lenguaje c
a
Seminario de Sistemas Embebidos - FIUBA
Alan Kharsansky (akharsa@gmail.com)
Octubre - 2011
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
1 / 57
´
Indice I
1
2
3
4
5
6
Introducci´n
o
Conceptos b´sicos del lenguaje C
a
Hello, world!
Directivas de pre-procesador
Variables ytipos de datos
Generalidades
Tipos de datos
Derivados
Tama˜os de los tipos de datos
n
Operadores
Generalidades
Precedencia de operadores
Estructuras de control de flujo
Condicionales
Repetitivas
Funciones
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
2 / 57
´
Indice II
Forma general
Retorno
Parametros
7
PunterosPunteros y arrays
Punteros a estructuras
8
Strings
Definici´n
o
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
3 / 57
Introducci´n
o
Introducci´n
o
El objetivo de esta clase es repasar los conceptos claves del lenguaje C que
utilizaremos a lo largo del Seminario de Sistemas Embebidos. Para una
referencia completa del lenguajese recomienda consultar:
The C Programming Language: Kernighan; Dennis M. Ritchie
(March 1988)
En esta presentaci´n solo se utilizar´n aquellas funciones y estructuras del lenguaje que
o
a
se utilizan con m´s frecuencia para la programaci´n de microcontroladores. No es una
a
o
definici´n completa del lenguaje desde ning´n punto de vista.
o
u
Alan Kharsansky (akharsa@gmail.com) ()Conceptos b´sicos del lenguaje C
a
Octubre - 2011
4 / 57
Conceptos b´sicos del lenguaje C
a
Hello, world!
Hello, World!
La estructura b´sica de un programa en C se puede ver en el siguiente
a
ejemplo:
#i n c l u d e < s t d i o . h>
i n t main ( ) {
// E s t e e s un c o m e n t a r i o de una l i n e a
p r i n t f ( ” h e l l o , w o r l d \n” ) ;
return 0;
/∗ E s t ee s un c o m e n t a r i o
m u l t i l i n e a ∗/
}
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
5 / 57
Conceptos b´sicos del lenguaje C
a
Hello, world!
Hello, World!
Donde lo primero que nos encontramos es una directiva del
pre-procesador: el Include.
#i n c l u d e < s t d i o . h>
Esta directiva, insertar´ de maneraexacta el contenido del archivo stdio.h
a
al comienzo de nuestro programa. Notar la diferencia de utilizar:
Par´ntesis angulares
e
Comillas dobles ””
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
6 / 57
Conceptos b´sicos del lenguaje C
a
Hello, world!
Hello, World!
Luego nos encontramos con la implementaci´n de una funci´n.En este
o
o
caso el main que debe existir en toda aplicaci´n escrita en lenguaje C. Una
o
funci´n se declara de la siguiente manera:
o
[ t i p o de d a t o de r e t o r n o ] nombre ( [ param1 ] , [ param2 ] , . . . ) {
// I m p l e m e n t a c i o n
}
Que en este caso es:
i n t main ( v o i d ) {
// I m p l e m e n t a c i o n
}
Alan Kharsansky (akharsa@gmail.com) ()Conceptos b´sicos del lenguaje C
a
Octubre - 2011
7 / 57
Conceptos b´sicos del lenguaje C
a
Hello, world!
Hello, World!
Y por ultimo nos encontramos con una llamada a una funci´n a la que se
´
o
le pasa un par´metro, comentarios, y la sentencia return. Algunas cosas
a
importantes a tener en cuenta:
Los bloques de c´digo deben ir entre llaves { }
o
Las sentencias debenterminarse en punto y coma ;
Unicidad del main()
Alan Kharsansky (akharsa@gmail.com) ()
Conceptos b´sicos del lenguaje C
a
Octubre - 2011
8 / 57
Conceptos b´sicos del lenguaje C
a
Directivas de pre-procesador
Directivas del pre-procesador
Las m´s importantes y que utilizaremos con m´s frecuencia son:
a
a
#d e f i n e NOMBRE [ VALOR ]
#i n c l u d e
” l e d D r i v e r...
Regístrate para leer el documento completo.