You are on page 1of 35

INTRODUCCIN LENGUAJE C

El lenguaje C fue inventado e implementado por primera vez por Dennis Ritchie en un DEC PDP-11 en Bell Laboratories.

En 1978, Brian Kernighan y Dennis Ritchie publicaron el libro The C Programming Language que ha servido hasta la actualidad como definicin eficiente de este lenguaje.
En 1983, el instituto de estndares americanos estableci un estndar que definiera el lenguaje C, conocido como ANSI C. Hoy da, todos los principales compiladores de C llevan implementado el estndar ANSI. El lenguaje C se denomina como un lenguaje de nivel medio, puesto que combina elementos de lenguajes de alto nivel Fortran, Pascal, Basic con el funcionalismo del lenguaje ensamblador. C permite la manipulacin de bits, bytes y direcciones (los elementos bsicos con que funciona la computadora).

INTRODUCCIN LENGUAJE C

palabras clave (C distingue entre las maysculas y minsculas las 32 palabras clave son:

auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto ,if ,int ,long, register, return ,short, signed, sizeof, static, struct switch ,typedef, union, unsigned, void, volatile ,while.

INTRODUCCIN LENGUAJE C

Los programas en C consisten en una o ms funciones. La nica funcin que debe estar absolutamente presente es la denominada main, siendo la primera funcin que es llamada cuando comienza la ejecucin del programa. La forma general de un programa en C es: instrucciones del preprocesador declaraciones globales tipo_devuelto main(lista de parmetros) { secuencia de sentencias } El programa as escrito se denomina programa fuente y puede estar escrito en uno o varios ficheros.

INTRODUCCIN LENGUAJE C

Ejemplo

#include <stdio.h> // se incluye las funciones que est definida en la biblioteca stdio.h. // Este es un programa en C. (// indica comentario) // Imprime un mensaje en la pantalla del ordenador main()
// Es el nombre de una funcin. Es la funcin principal y establece el punto donde comienza la ejecucin del programa.

() Debe aparecer inmediatamente detrs de main. Los parntesis se encuentran siempre despus de un identificador de funcin.

{ }

{}: Indican el principio y el final de todo bloque de programa.

printf(mi primer programa en C); Toda sentencia en C termina con el punto y coma.

INTRODUCCIN LENGUAJE C

Para que el programa pueda ser ejecutado se debe compilar y enlazar (linkar) con todas aquellas funciones de la biblioteca que se necesiten. El proceso de compilar consiste en traducir el programa fuente a cdigo o lenguaje mquina. El proceso de linkaje (enlazado) consiste en aadir rutinas (propias o bibliotecas existentes en el mercado) que tambin estn en cdigo mquina, es decir, estn en objeto. Una vez enlazado el programa objeto, tenemos un programa ejecutable que se puede ejecutar en el microprocesador o Microcontrolador. Estos procesos son realizados por un programa llamado compilador que en nuestro caso es el CCS compliler

ELEMENTOS DEL LENGUAJE C


Comentarios Los comentarios son textos que no son procesados por el compilador. Sirven como informacin al programador. Para que un texto sea comentario debe estar entre los smbolos // (marca el comienzo) Identificadores Se usan para referenciar las variables, las funciones, las etiquetas y otros objetos definidos por el usuario. La longitud del identificador puede variar entre uno o varios caracteres (se recomienda no ms de 31)

El primer carcter debe ser una letra o un smbolo subrayado y los caracteres siguientes pueden ser letras, nmeros o smbolos de subrayado. Las minsculas y las maysculas se tratan como distintas. Un identificador no puede ser igual a una palabra clave de C y no debe tener el mismo nombre que una funcin ya escrita o que se encuentre en la biblioteca de C.

ELEMENTOS DEL LENGUAJE C


Constantes

Las constantes son expresiones con un significado invariable. Nmeros enteros: Su formato es "signo dgitos marcadores". El signo puede ser "-" (negativo) o "+" (positivo, por defecto). Los dgitos se pueden escribir en notacin decimal. 1234 hexadecimal un 0 seguido por una x (o X). 0x1fa2 binario un 0 seguido de una b y nmeros de 0 y 1. 0b10101010 - Nmeros reales (con parte decimal): Su formato es "signo dgitos e signo_exponente exponente marcador". El signo indica el signo de la mantisa. Caracteres: Su forma es carcter (carcter entre apostrofos). a Cadenas de caracteres: Es una secuencia de caracteres (escribibles o de escape) encerrada entre dobles comillas. clase

TIPOS DE DATOS
Variables

Una variable es una posicin de memoria con nombre que se usa para mantener un valor que puede ser modificado en el programa.

Todas las variables deben ser declaradas antes de poder usarlas.


Una variable puede ser fijada a una constante con la sintaxis const tipo identificador = valor (por ejemplo const int a=10).

TIPOS DE DATOS
Operadores

Los operadores son palabras o smbolos que hacen que un programa acte sobre las variables. En C existen seis tipos de operadores. Aritmticos, relacionales, de asignacin, lgico, de direccin y de movimiento.

TIPOS DE DATOS
Operadores

TIPOS DE DATOS
Estructuras: Es una coleccin de variables que se referencia bajo un nico nombre, proporcionando un medio eficaz de mantener junta la informacin relacionada. struct dir { char nombre[30]; char calle[40]; char ciudad [20]; }; Para referir a un elemento individual de la estructura se utiliza el operador punto (.), por ejemplo, dir.nombre = Pedro;

TIPOS DE DATOS
Uniones: es una posicin de memoria que es compartida por dos o ms variables diferentes, generalmente de distinto tipo, en distintos momentos. La definicin es similar a la de la estructura. La palabra clave es union:

union etiq { int i; char ch };

En una variable que este definida del tipo etiq, tanto el entero i como el carcter ch comparten la misma posicin de memoria.

TIPOS DE DATOS
Tipos definidos : C permite definir explcitamente un nuevo nombre de tipo de dato usando la palabra clave typedef. Realmente no se crea una nueva clase de datos, sino que se define un nuevo nombre para un tipo existente. La forma general es: typedef tipo

nombre;

Por ejemplo, typedef float balance;

DECLARACIONES
DECLARACIONES La declaracin de objetos en C tiene como finalidad dar a
conocer el tipo y propiedades de los identificadores. En general la forma de una declaracin es: (durabilidad) tipo identificador (=expresin de inicializacin); Por ejemplo, static int n=10;.

Todos las variables deben ser declaradas. En las declaraciones es


obligado especificar el tipo. De cada objeto en un programa C se puede establecer tres propiedades que le afectan en su relacin: el alcance, la visibilidad y la durabilidad.

DECLARACIONES
Alcance El alcance sirve para saber en qu regin del cdigo una
declaracin de un objeto est activa, es decir, el objeto existe. Si la declaracin es realizada en un bloque de cdigo entre llaves ({}), el alcance es la regin que va entre las llaves. Si se declara en la parte de arriba del archivo (normalmente) o en una parte que no va entre llaves ({}), el alcance se establece en todo el archivo. Los identificadores establecidos con la sentencia #define tienen alcance durante todo el archivo o hasta que lo elimina la sentencia #undef.

DECLARACIONES
Visibilidad La visibilidad nos indica en qu regin del cdigo un objeto est activo. La diferencia con el alcance es que en una misma regin pueden estar dos objetos con el mismo identificador, ocultando un objeto a otro. Durabilidad La durabilidad es el tiempo de ejecucin del programa donde el objeto existe en la memoria. La durabilidad puede ser: Esttica: El objeto perdura desde la compilacin hasta el final. Local: El objeto es creado en la entrada de un bloque y es borrado a la salida.

OPERADORES
OPERADORES C es un lenguaje muy rico en operadores. Se definen seis tipos de operadores aritmticos, relacionales, de asignacin, lgicos, de direccin y de movimiento. Operador asignacin. El operador asignacin permite al programador modificar los valores de las variables y alterar, por tanto, el estado de la memoria del procesador. a = a + 1; Operadores aritmticos

nombre_variable = expresin;

operadores aritmticos con su significado + Suma - Resta * Producto / Cociente de una divisin % Resto de una divisin ++ y -- incremento y decremento

OPERADORES
Operadores relacionales y lgicos. Los operadores relacionales y los operadores lgicos crean expresiones que se evalan como verdaderas o falsas. Operadores lgicos ! Not (no lgico) && And (y lgico) || Or ( lgico) Operadores relacionales == Igual a != No igual a > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que

OPERADORES
OPERADORES COMPUESTOS Combinan la funcionalidad de los distintos operadores.

OPERADORES DE DIRECCIN * Operador de contenido de apuntado u operador de indireccin & Operador de direccin

OPERADORES
Operadores de movimiento Existe un ltimo tipo de operadores, no comentado hasta el momento, los operadores de movimiento (<<, movimiento a la izquierda y >>, a la derecha). Su funcin es desplazar los bits de la palabra de memoria dada tantos espacios como se le indiquen a derecha o izquierda. La forma general es: expresion1<< expresion2 Los dos operandos deben ser del tipo entero, y mueve los bits de la expresion1 tantas posiciones como se lo indique la expresion2 (en este caso hacia la izquierda). Por ejemplo, sea x un entero con representacin interna: 00010001110011000101010111111111 x<<4; da como resultado: 00011100110001010101111111110000

SENTENCIAS
SENTENCIAS Una sentencia es cualquier expresin en C que se espera que tenga alguna consecuencia. Pueden ser asignaciones, operaciones, llamadas a funciones o combinaciones de ellas. Toda sentencia termina con un ";". Una sentencia simple consiste en una expresin acabada en un punto y coma (;). ETIQUETAS DE SENTENCIA Sirven para etiquetar una sentencia de forma que el control del programa pueda ser transferido a ella. Se separan de la sentencia por dos puntos ":". La sintaxis es: etiqueta: sentencia;

SENTENCIAS
Sentencias de seleccin Existen dos tipos, if y switch. Adems, el operador "?" es una alternativa para if en ciertas situaciones.

IF La forma general es: if (expresion) sentencia; else sentencia;

SENTENCIAS
SWITCH

Es una sentencia de seleccin mltiple, que compara sucesivamente el


valor de una expresin con una lista de constantes enteras o de caracteres. Cuando se encuentra una16-correspondencia, se ejecutan las sentencias asociadas con la constante.
La forma general es: switch (expresin) { case constante1: secuencia de sentencias; break; .. .. default: secuencia de sentencias; }

SENTENCIAS
Sentencias de iteracin Tambin denominadas bucles. Permiten realizar un conjunto de instrucciones hasta que se alcance una cierta condicin. FOR

El formato general es: for (inicializacin; condicin; incremento)


sentencia; for(i=1;i<=7;i++) La condicin es una expresin relacional que determina cuando finaliza el bucle. El incremento define como cambia la variable de control cada vez que se repite el bucle. Estas tres secciones principales deben ser separadas por punto y coma (";"). No es obligatoria ninguna de las tres expresiones, por ejemplo, se puede realizar un bucle infinito de la forma: for(;;) printf("este bucle estar siempre ejecutndose.\n");

SENTENCIAS
WHILE Su forma general es: while (condicin) sentencia; La condicin puede ser cualquier expresin, cualquier valor distinto de 0 es cierto.

SENTENCIAS
DO-WHILE A diferencia de los bucles for y while, que analizan la condicin del bucle al principio del mismo, el bucle do-while analiza la condicin al final del bucle. Esto significa que le bucle do-while siempre se ejecuta al menos una vez. La forma general es:

SENTENCIAS
Sentencias de salto C tiene cuatro sentencias que llevan a cabo un salto incondicional adems de goto, y son return, break y continue. RETURN Se usa para volver de una funcin. Se trata de una sentencia de salto porque hace que la ejecucin vuelva al punto en que se hizo la llamada a la funcin.

SENTENCIAS
BREAK Tiene dos usos: para finalizar un case en una sentencia switch y para forzar la terminacin inmediata de un bucle, saltando la evaluacin condicional normal del ciclo. Cuando se encuentra la sentencia break dentro de un bucle, el bucle finaliza inmediatamente y el control sigue en la sentencia posterior al bucle

SENTENCIAS
CONTINUE Una sentencia continue dentro de un bloque de instrucciones de una estructura de iteracin interrumpe la ejecucin de las restantes sentencias iteradas y vuelve al inicio de las sentencias de la estructura de control, si es que la condicin de permanencia as lo permite.

FUNCIONES
FUNCIONES Las funciones son los bloques constructores de C y el lugar donde se da toda la actividad del programa. Definicin La forma general de definicin de una funcin es: tipo nombre(lista de parmetros) { cuerpo de la funcin } El tipo especifica el tipo de valor que devuelve la sentencia return de la funcin. Una funcin puede no tener parmetros, en cuyo caso la lista de parmetros est vaca; sin embargo, los parntesis son necesarios.

FUNCIONES
Declaracin

Cada funcin debe ser declarada.


Su forma general es: tipo nombre funcin (lista de tipos (y nombres) de los argumentos); Si una funcin va usar argumentos, debe declarar variables que acepten los valores de los argumentos. Una funcin es visible para ella misma y otras funciones desde el momento en que se define. Las variables definidas dentro de una funcin son locales (a no ser que las definamos globales) por lo que no conservan su valor de una llamada a otra (excepto si se declaran como static. En C, todas las funciones estn al mismo nivel, es decir, no se puede definir una funcin dentro de otra funcin. Esto es por lo que C no es tcnicamente un lenguaje estructurado por bloques. El cdigo de una funcin es privado a esa funcin y slo se puede acceder a l mediante una llamada a esa funcin.

FUNCIONES
Llamadas a funciones

Las funciones son llamadas para su ejecucin desde cualquier parte del
cdigo, teniendo en cuenta que antes deben haber sido declaradas (y por supuesto definidas). La llamada de una funcin se produce mediante el uso de su nombre en una sentencia, pasando una lista de argumentos que deben coincidir en nmero y tipo con los especificados en la declaracin

ARREGLOS Y CADENAS
Arrays Un array es una coleccin de variables del mismo tipo que se referencian por un nombre comn. A un elemento especfico de un array se accede mediante un ndice. La sintaxis de esa declaracin es la siguiente: tipo nombre_matriz[dim_1][dim_2][dim_N];

ARREGLOS Y CADENAS
CADENAS

El uso ms comn de los arrays unidimensionales es como cadenas de



caracteres. En C una cadena se define como un array de caracteres que termina en un carcter nulo (\0). Para declarar un array de caracteres es necesario un carcter ms que la cadena ms larga que pueda contener, para dejar sitio para el carcter nulo del final de la cadena. Una constante de cadena es una lista de caracteres encerrada entre dobles comillas. Por ejemplo: "hola, que tal"

EJERCICIO
Calcular la suma de los 200 primeros nmeros pares positivos.

You might also like