Académique Documents
Professionnel Documents
Culture Documents
Programacin I
Historia
C es un lenguaje de programacin de propsito general, asociado a UNIX. Rene caractersticas de programacin intermedia entre los lenguajes ensambladores y los lenguajes de alto nivel; con gran podero basado en sus operaciones a nivel de bits y la mayora de los elementos de la programacin estructurada de los lenguajes de alto nivel. Las ideas principales de C provienen de BCPL, a travs del lenguaje B.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 7
Historia
En 1971 Dennis Ritchie, con base en el lenguaje B desarrollo NB que luego cambio su nombre por C; en un principio sirvi para mejorar el sistema UNIX por lo que se le considera su lenguaje nativo. Su diseo incluy una sintaxis simplificada, la aritmtica de direcciones de memoria (permite al programador manipular bits, bytes y direcciones de memoria) y el concepto de apuntador.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 8
Identificadores
Un identificador es una secuencia de letras y dgitos, donde el primer carcter debe de ser una letra o subguin. Letras maysculas son distintas de las minsculas. Los identificadores pueden tener cualquier longitud, pero solo los primeros 31 caracteres son significativos.
FCC - BUAP
Primavera 2012
Palabras Reservadas
FCC - BUAP
Primavera 2012
10
Primer programa en C
/* Un primer programa en C */ #include <stdio.h> main() { printf(''Hola Puebla); }
Comentario Archivo de cabecera Funcin principal Sentencia
FCC - BUAP
Primavera 2012
11
Estructura de un programa en C
#include #define Directivas del preprocesador Constantes Declaraciones globales Prototipos de funciones Variables Funcin principal main Declaraciones locales Sentencias } Tipo1 funcion1 () { }
MC Beatriz Beltrn Martnez
main() {
FCC - BUAP
Primavera 2012
12
Tipos de Datos
Los tipos bsicos del lenguaje son:
Carcter: Se declara con la palabra reservada char, ocupa un byte en memoria, que puede representar 256 smbolos posibles. Real: Se declara con la palabra reservada double o float, ocupa 8 o 4 bytes de memoria, respectivamente. Entero: Se declara con la palabra reservada int y short, y ocupa 2 bytes de memoria. En algunos compiladores ocupa 4 bytes de memoria.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 13
Combinaciones
char unsigned char signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int float double long double
MC Beatriz Beltrn Martnez
8 caracteres ASCII -128 a 127 8 caracteres ascii 0 a 255 8 caracteres ascii -128 a 127 16 bits -32768 a 32767 16 bits 0 a 65535 16 bits -32768 a 32767 16 bits -32768 a 32767 8 bits 0 a 255 0 a 65535
16 bits -32768 a 32767 32 bits -2147483648 a 2147483647 32 bits -2147483648 a 2147483647 32 bits 0 a 4294967295 32 bits 6 dgitos de precisin 3.4E-38 a 3.4E+38 64 bits 12 dgitos de precisin 1.7E-308 a 1.7E+308 64 bits 12 dgitos de precisin 1.7E-308 a 1.7E+308
FCC - BUAP Primavera 2012 14
Comentarios
Los comentarios en C son cadenas arbitrarias de smbolos colocados entre los delimitadores /* y */ Ejemplo: /* Comentarios */ /* Este es un comentario muy largo ya que ocupa * mas de un rengln */
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 15
Cadenas
Una cadena es una secuencia de caracteres entre comillas . Si el carcter () tiene que aparecer en una cadena, se precede por el carcter \. Ejemplos:
Una cadena de texto z x-x-0-.1-basura Una cadena con \ comillas a+b=suma; x=cos(y) /* cadena nula */
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 16
Constantes
Una constante (cualquier tipo de constante) en C se define de la siguiente manera (utilizando la palabra reservada define y anteponindole el smbolo #): #define ENTERO 10 #define REAL 1.09982 #define CAD Se define una constante cad #define CAR a
FCC - BUAP
Primavera 2012
17
Variables
Las variables y las constantes son los objetos que manipulan un programa. En general se deben de declarar las variables antes de poderlas usar. Por ejemplo: int i, j, k=0; float largo, ancho; char c;
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 18
Expresiones
Las expresiones son combinaciones de constantes, variables, operandos y llamados a funciones. Algunos ejemplos de expresiones son: a+b*3.0*x-9.3242 3.77+sen(3.14*98.7) tan(1.8)
FCC - BUAP
Primavera 2012
19
Expresiones
El signo de igualdad (=) es el operador bsico de asignacin en C. Un ejemplo de una expresin de asignacin es: i=7. A la variable i se le asigna el valor de 7 y la expresin como un todo toma ese valor. Cuando la expresin va seguida de un punto y coma (;) se convierte en una proposicin.
FCC - BUAP
Primavera 2012
20
Expresiones
Se tienen operadores: Aritmticos (-(unario), *, /, %, +, -) Relacionales (>, >=, <, <=, ==, !=, !, &&, ||) De incremento y decremento (++, --) Lgicos (~, &, |, ^, <<, >>) Asignacin (=, +=, -=, *=, /=,%=,<<=, >>=, &=, |=, ^=) Cada operador guarda una precendencia.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 21
FCC - BUAP
Primavera 2012
22
Un nico carcter Decimal Decimal Notacin cientfica Decimal en punto flotante Usa %e o %f, el ms corto Octal Cadena de caracteres Decimales sin signo Hexadecimales Imprime smbolo %% Muestra un puntero El argumento asociado es un puntero a entero al que se asigna el nmero de caracteres escritos hasta entonces FCC - BUAP Primavera 2012 23
FCC - BUAP
Primavera 2012
24
Estructura de Secuencia
En C se tienen proposiciones: Una proposicin simple es una nica instruccin. Una proposicin compuesta son dos o ms instrucciones, en este caso es necesario que stas se encuentren entre corchetes { } Cada instruccin ser ejecutada una despus de la otra, a menos que se tenga una instruccin de decisin o iteracin. Cada instruccin termina con ;.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 26
Estructuras de Decisin
Condicional simple if (condicin) Proposicin Condicin doble if (condicin) Proposicin verdadera else Proposicin falsa
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 27
Estructuras de Decisin
Expresin condicional ?: Expresin1 ? Expresin2 : Expresin3 Expresin1 es evaluada primero. Si es verdadero, entonces la Expresin2 es evaluada. De otra forma Expresin3 se evala. Ejemplo: z = (a > b) ? a : b; /* z = max (a, b) */ En C, una condicin verdadera, es distinta de cero, una condicin falsa es igual a cero.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 28
Estructuras de Decisin
Else if
if (condicin) proposicin else if (condicin) proposicin else if (condicin) proposicin else proposicin
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 29
Estructuras de Decisin
Decisin mltiple
switch (expresin) { case exp_const1: proposicin1 break; case exp_const2: proposicin2 break; [default : proposicinn] }
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 30
Estructuras de Iteracin
Ciclo for
for (expresin1; expresin2; expresin3) for (inicializacin; cond_paro; dec/inc)
Que es equivalente a:
expresin1 while (expresin2) { proposicin expresin3 }
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 31
Estructuras de Iteracin
Ciclo while while (condicin) proposicin Alguna de las instrucciones dentro de la proposicin debe de modificar la condicin, de otra forma se tendra un ciclo infinito.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 32
Estructuras de Iteracin
Ciclo do while do proposicin while (condicin); Alguna de las instrucciones dentro de la proposicin debe de modificar la condicin, de otra forma se tendra un ciclo infinito.
MC Beatriz Beltrn Martnez FCC - BUAP Primavera 2012 33