clase_2

26
Lenguaje de Programación I Docente: Ing. Carolina Robelo [email protected] Universidad Tecnológica La Salle León, Nicaragua Unidad I: Introducción al Lenguaje de Programación C

Upload: kevin-moreira

Post on 07-Mar-2016

227 views

Category:

Documents


2 download

DESCRIPTION

Clase_2 de programación

TRANSCRIPT

Page 1: Clase_2

Lenguaje de Programación I

Docente: Ing. Carolina Robelo

[email protected]

Universidad Tecnológica La Salle León, Nicaragua

Unidad I: Introducción al Lenguaje de Programación C

Page 2: Clase_2

Primer Contacto con C

Un poco de Historia

El lenguaje de programación C fue desarrollado por Dennis Ritchie en los Laboratorios Bell de la empresa de comunicaciones AT&T, en 1972.

C fue creado inicialmente con un propósito muy concreto: el diseño del sistema operativo UNIX.

Se revelo como un lenguaje muy potente y flexible, lo que provoco que su uso se extendiese rápidamente, incluso fuera de los Laboratorios Bell. De esta forma, programadores de todo el mundo empezaron a usar el lenguaje C para escribir programas de todo tipo.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J. Lenguaje de Programación I

Page 3: Clase_2

Primer Contacto con C

Un poco de Historia

Durante años, el estándar del lenguaje C fue el definido en el libro El lenguaje de programación C, escrito por Brian Kernighan y Dennis Ritchie en 1978.

En 1989 el Instituto Nacional de Estándares Americano

estableció el estándar ANSI C. Una definición no ambigua e

independiente de la arquitectura interna de cualquier

ordenador.

El lenguaje C debe su nombre a su predecesor, el

lenguaje B desarrollado por Ken Thompson, también en

los Laboratorios Bell. Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 4: Clase_2

Características del Lenguaje C

Razones que hacen de C el preferido de muchos programadores:

Potencia y flexibilidad

Popularidad

Portabilidad

Sencillez

Estructura y modularidad.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 5: Clase_2

Que es un Programa?

Un programa en sentido informático está constituido por un conjunto de instrucciones que se ejecutan ordinariamente de modo secuencial, es decir, cada una a continuación de la anterior.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 6: Clase_2

Primeros pasos con C

Todo programa C, desde el más pequeño hasta el más complejo se compone de una o más funciones.

Una de las funciones debe ser obligatoriamente main() que es con el que se comienza la ejecución del programa, es una función que está por encima de todas las demás.

En C pueden ponerse comentarios en cualquier lugar del programa, utilizando los símbolos /* */.

/* Mi primer programa en C */

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 7: Clase_2

Primeros pasos con C

De un modo más explícito, un programa C puede incluir:

Directivas de preprocesador

Declaraciones globales

La función main()

Funciones definidas por el usuario

Comentarios del programa

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 8: Clase_2

ESTRUCTURA GENERAL DE UN PROGRAMA EN C

Ejemplo de un programa sencillo en C /* Nuestro Primer Programa */

#include <stdio.h>

/* Este programa imprime un mensaje de bienvenida */

main()

{

printf(“Bienvenido a la Programacion en C\n”);

return 0;

}

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

es necesaria para que el programa tenga E/S.

/* comentarios : proporcionan explicaciones*/.

Obligatoria en cada programa C. Indica el comienzo del programa

y requieren los paréntesis.

Las llaves { y } que

encierran el cuerpo

de las funciones.

es la función más utilizada para dar

salida de datos

termina la ejecución del programa y

devuelve el control al sistema

operativo de la computador

\n es el símbolo

de nueva línea

C requiere que cada sentencia

termine con un punto y coma.

Page 9: Clase_2

El modelo de compilación de C

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 10: Clase_2

El modelo de compilación de C

Preprocesador Es el responsable de eliminar los

comentarios y de interpretar las directivas especiales denotadas por el símbolo #

#include Incluye un fichero externo dentro del código fuente. Se usan los símbolos < > para indicar que el fichero se encuentra en un directorio del entorno de compilación, diferente del directorio de trabajo actual. Por el contrario, se usaran los símbolos " " para indicar

ficheros locales. Por Ejemplo:

• #include <math.h> incluye el fichero con las definiciones de las funciones matemáticas de la librería estándar.

• #include <stdio.h> incluye el fichero con las definiciones de

las funciones de entrada y salida de la librería estándar.

• #include "funciones.h" incluye el fichero funciones.h del

directorio actual.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 11: Clase_2

El modelo de compilación de C

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Preprocesador

#define define un nombre simbólico. Cuando el preprocesador encuentra un nombre simbólico en el programa lo substituye por el valor que se le haya asociado con la directiva #define. Por Ejemplo:

#define NUM_ELEMENTOS 100

/* define la constante NUM ELEMENTOS con valor 100. */

#define PI 3.1416

/* define la constante PI. */

Page 12: Clase_2

El modelo de compilación de C

Compilador

El compilador de C recibe el código fuente producido por el preprocesador y lo traduce a código objeto.

Montador

Si un fichero fuente hace referencia a funciones de una librería o a funciones definidas en otros ficheros fuente, el montador se encarga de:

Combinar todos los ficheros objeto correspondientes

Verificar que sólo uno de ellos contenga la función principal main() y

Crear el fichero finalmente ejecutable.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 13: Clase_2

Empezando a Programar

TOKENS o Componentes Sintácticos

El compilador descompone el texto fuente o programa en cada uno de sus tokens, y a partir de esta descomposición genera el código objeto correspondiente.

Identificadores

Palabras clave

Variables y Constantes

Cadenas de caracteres

Operadores , Separadores

Comentarios

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 14: Clase_2

Empezando a Programar

Identificadores

Es un nombre utilizado para referir un valor constante, una

variable, una estructura de datos compleja, o una función,

dentro de un programa.

Está formado por una secuencia de letras, números y

caracteres de subrayado, siempre debe comenzar por una

letra o un subrayado y no puede contener espacios en blanco.

La longitud de los identificadores debe tener un máximo de 32

caracteres.

C diferencia entre mayúsculas y minúsculas. Ej: Contador y

CONTADOR, por ejemplo, son diferentes.

Nunca pueden utilizarse las palabras reservadas del lenguaje.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 15: Clase_2

Empezando a Programar

Palabras reservadas de C Estas palabras sirven para indicar al computador

que realice una tarea determinada (desde evaluar una comparación, hasta definir el tipo de una variable) y tienen un especial significado para el

compilador.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 16: Clase_2

Empezando a Programar

Variables y Constantes Las variables pueden cambiar de valor a lo largo de la

ejecución de un programa, o bien en ejecuciones distintas de un mismo programa.

Las Constantes valores que siempre son los mismos.

• Constantes numéricas. Son valores numéricos, enteros o de punto flotante.

• Constantes carácter. Cualquier carácter individual encerrado entre apóstrofos. 'a‘, ‘+‘, ‘)'

• Cadenas de caracteres. Conjunto de caracteres alfanuméricos encerrados entre comillas. “ejemplo de cadena”

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 17: Clase_2

Empezando a Programar

Operadores

Los operadores son signos especiales que indican determinadas operaciones a realizar con las variables y/o constantes sobre las que actúan en el programa.

El lenguaje C es particularmente rico en distintos tipos de operadores:

• Aritméticos (+, -, *, /, %)

• Asignación (=, +=, -=, *=, /=)

• Relacionales (==, <, >, <=, >=, !=)

• Lógicos (&&, ||, !)

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 18: Clase_2

Empezando a Programar

Separadores

Están constituidos por uno o varios espacios en blanco, tabuladores, y caracteres de nueva línea.

Su papel es ayudar al compilador a descomponer el programa fuente en cada uno de sus tokens.

Es conveniente introducir espacios en blanco, con objeto de mejorar la legibilidad de los programas.

Comentarios

Servir de explicación o aclaración sobre cómo está hecho el programa, de forma que pueda ser entendido por una persona diferente (o por el propio programador algún tiempo después).

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 19: Clase_2

Empezando a Programar

Expresiones

Una expresión es una fórmula matemática cuya evaluación detalla un valor. Los elementos que constituyen una expresión son: constantes, variables y operadores.

Asignacion

• X = 1;

• Z = 1.35;

Aritméticos • x = 8 % 5

• x++; equivale a x = x+1;

• x--; equivale a x = x-1;

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 20: Clase_2

Empezando a Programar

Expresiones

Aritméticos

Ejemplos:

i = i + 5; puede reescribirse como i += 5;

x = x * (y + 2); como x *= y + 2;

Relacionales

Se utilizan principalmente para elaborar condiciones en

las sentencias condicionales e iterativas.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Equivalente a:

Page 21: Clase_2

Empezando a Programar

Expresiones

Relacionales

Expresión Resultado

4 > 8 falso

num == num cierto

8 <= 4 falso

C no dispone de un tipo de datos específico para los valores

lógicos o booleanos. En su lugar, C representa un resultado

‘FALSO’ como el valor numérico entero cero, y un resultado

‘CIERTO’ como cualquier valor entero diferente de cero.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 22: Clase_2

Empezando a Programar

Operadores Relacionales

Operadores Logicos

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 23: Clase_2

Empezando a Programar

Prioridad y Asociatividad de los operadores en C.

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 24: Clase_2

Ejemplos

Programa en C

#include <stdio.h>

/* Este es un programa en C. Solamente imprime un

mensaje en pantalla */

main()

{

printf(“Bienvenidos a la Programacion en C”);

}

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 25: Clase_2

Ejercicios en Clase

CLASE PRACTICA

Universidad Tecnológica La Salle Ing. Carolina V. Robelo J.

Page 26: Clase_2