Introducción a La Programación En C

29
Introducción a la Programación en C Profesora: Painé Pintos. Materia: Práctica Profesional II Instituto Terciario “Simón Bolivar”

Transcript of Introducción a La Programación En C

Introducción a la Programación en C

Profesora: Painé Pintos.Materia: Práctica Profesional IIInstituto Terciario “Simón Bolivar”

Indice de la presentación

¿De qué se trata C? ¿Qué tipo de lenguaje es C? Ambiente de programación de C. Entorno de trabajo – Dev C++

Generalidades. Pantalla inicial de Dev C++ Ingreso al programa y creación prog.

Primeros pasos: 1er. Ejemplo de Programa en C. 2do. Ejemplo de Programa en C. 3er. Ejemplo de programa en C.

s

¿Qué es C?

Lenguaje de programación de alto nivel pero permite programar a “bajo nivel”.

Existen versiones mejoradas del C como C++ y C# así como también aplicaciones específicas del lenguaje en diferentes entornos como el Visual C++.

Tipo de lenguaje procedural: donde la unidad de trabajo es la acción (orden) para resolver un problema (en C++ la unidad de trabajo es el objeto).

s

I

¿Qué tipo de lenguaje es C?

C es un lenguaje compilado:- La escritura del programa se guarda en un tipo de

archivo llamado “archivo fuente” (extensión .c para C Ansi; .cpp para C++).

- Al ser un lenguaje de alto nivel, los comandos son comprensibles para el usuario pero no para el procesador necesidad de “traducir” el programa fuente a leng. de máquina 2 etapas: - generación programa objeto (extensión .obj)

prog. en lenguaje ensamblador- generación de programa ejecutable (“montaje” del

programa) programa en leng. Máquina con extensión .exe.

s

I

Ambiente de programación de C

CREACIÓN DE PROGRAMA

EDITORSe almacena en disco con extensión .c (programa fuente)

PRE-PROCESADOR

COMPILADOR

1ro. el pre-procesador realiza ciertas manipulaciones al programa fuente (por ej. incluir otros archivos dentro del archivo antes de ser compilados).

2do. El compilador va a transformar el programa fuente en un programa objeto, en código máquina.

ENLAZADOR

El enlazador va a “unir” el código objeto con el código correspondiente a las funciones que se incluyen en librerías externas al programa para crear una imagen ejecutable.

CARGADOR

CPU

EJECUCIÓN DE PROGRAMA

DISCO

MEMORIARAM

MEMORIARAM

Se carga en memoria el prog. ejecutable que está en disco

Se ejecuta el programa, una instrucción a la vez.

1

2

s

I

Entorno de trabajo: DEV C++

El Dev C++ es un IDE o Entorno Integrado de Desarrollo.

Un IDE es una agrupación de herramientas destinadas al desarrollo, de forma que con un solo programa podamos acceder a todo lo que necesitamos para crear nuestras aplicaciones.

El Dev C++ dispone de un editor de texto, un depurador y un compilador de C y C++, entre otras muchas herramientas más.

Es un programa de software libre, lo que implica que podemos acceder al mismo y/o a su código fuente de forma gratuita (http://www.bloodshed.net/dev/devcpp.html)

s

I

Entorno de trabajo: DEV C++

1. Menú y Barras de herramientas.

• Explorador de proyectos y clases e información de depuración.

• Área de edición.

• Resultados de la compilación y controles de depuración.

I

PRIMEROS PASOS CON DEV C++

INGRESO AL PROGRAMA: hacer clic en el ícono o

buscar en Menú Inicio, programas. Selección de aplicación a realizar:

Aquí podemos crear un nuevo fichero de código fuente en blanco (fichero de texto); un nuevo proyecto seleccionado entre varios tipos un fichero de definición de recursos; o crear una plantilla a partir del código que tenemos que se convertirá en otro tipo de proyecto.

I

PRIMEROS PASOS CON DEV C++

Comenzaremos por elegir la opción de Nuevo Código Fuente para empezar a realizar pequeñas experiencias de escritura de programas en C.

Una vez seleccionada esta opción (Menú Archivo, opción Nuevo, Código Fuente) se abrirá una ventana (fijensé que se titula “SinNombre” donde se podrá comenzar a escribir el programa.

EJEMPLO 1 EJEMPLO 2 EJEMPLO 3s

I

PROGRAMA SENCILLO EN C – ESTRUCTURA GENERAL

v

I

PROGRAMA SENCILLO EN C – COMENTARIOS

v

/* Primer programa en C */

Esta línea comienza con /* y termina con */ lo que es un COMENTARIO

• Los comentarios sirven para documentar el programa.

• No provocan que la computadora realice acción alguna durante la ejecución del programa: no se genera código objeto en lenguaje máquina.

• Los comentarios ayudan a las personas a leer y entender un programa.

• Puede usarse también // para cuando el comentario tiene sólo una línea

PROGRAMA SENCILLO EN C:DIRECTIVAS AL PRE-PROCESADOR

v

# include <stdio.h>

es una directiva del preprocesador de C.

• Las líneas que comienzan con # son procesadas por el preprocesador antes de que el programa se compile.

• En este caso se está pidiendo que incluya en el programa el contenido del encabezado estandar de la entrada/salida (stdio.h)

• Este encabezado permite al compilador compilar las llamadas a funciones de la biblioteca estándar de entrada/salida como lo es printf.

PROGRAMA SENCILLO EN C: LA FUNCIÓN MAIN ( )

v

int main (void)

es una declaración que debe aparecer en todos los programas escritos en C.

• Todo programa en C comienza con la ejecución de Main.

• Los paréntesis indican que main es una función (bloque de construcción de programas).

• Las llaves { y } “encierran” el cuerpo de la función. La parte del programa que está contenida entre ellas se conoce como bloque.

PROGRAMA SENCILLO EN C: INSTRUCCIÓN PRINTF

v

printf("Bienvenido a C! \n");Instrucción que indica a la computadora que realice una acción:

imprimir en la pantalla la cadena de caracteres contenida entre las comillas.

• Printf es la palabra reservada que indica la acción a realizar, es el nombre de la instrucción;

• Lo que se encuentra entre paréntesis es el argumento de la instrucción.

• El punto y coma (;) es la manera de finalizar toda instrucción. Se le llama terminador de la instrucción.

• La diagonal invertida (\) se llama carácter de escape. Indica que se espera que printf haga algo. Se combina con lo que sigue luego para hacer una secuencia de escape. La secuencia de escape /n indica nueva línea: el cursor se va a ubicar al comienzo de la siguiente línea.

PROGRAMA SENCILLO EN C: INSTRUCCIÓN PRINTF – Sec. escape

v

Otras secuencias de escape:

Comillas. Inserta unas comillas en una cadena.\”

Diagonal invertida. Inserta una diagonal invertida en una cadena.

\\

Alerta. Suena la campana del sistema.\a

Tabulador horizontal. Mueve el cursor a la siguiente posición del tabulador.

\t

Nueva línea. Coloca el cursor al principio de la siguiente línea.

\n

DescripciónSecuencia de Escape

PROGRAMA SENCILLO EN C: FUNCIÓN GETCHAR ( )

v

getchar();Función que lee un carácter desde la entrada estándar y

devuelve el carácter como un entero.

• En el ejemplo particular, al agregar el carácter “Fin de línea” (Enter), el programa continúa su ejecución y llega al final.

• En este caso se aplica sólo para hacer una pausa antes de que el programa termine y se cierre la ventana de la consola.

• Más adelante se verán otras aplicaciones de esta función.

PROGRAMA SENCILLO EN C: LA PALABRA RESERVADA RETURN

v

return 0;

Palabra resevada que representa uno de los diversos medios para salir de la función.

• Al utilizarlo al final de Main, el valor 0 indica que el programa finalizó con éxito.

• Más adelante se verán más aplicaciones pero por ahora se incluirá esta instrucción en cada programa o el coompilador podría producir un mensaje de advertencia.

2DO. EJ. DE PROGRAMA EN C: ASIGNACIONES, ARITMÉTICA.

v

Permite sumar dos

enteros ingresados

por teclado y asignarlo a

una variable.

Finalmente lo muestra

por pantalla.

I

2DO. EJ. DE PROGRAMA EN C: DECLARACIÓN DE VARIABLES.

v

int entero1; int entero2;

int suma;

Son definiciones de variables

• Las palabras entero1, entero2 y suma son los nombres de las variables.

• Las variables son sitios de memoria donde se pueden almacenar un valor para que lo utilice el programa.

• La definición de las variables en este caso son de tipo INT: significa que estas variables almacenarán valores enteros.

• La declaración de variables deben realizarse antes de ingresar alguna instrucción, inmediatamente después del { de main.

2DO. EJ. DE PROGRAMA EN C: DECLARACIÓN DE VARIABLES.

v

• Toda variable tiene un nombre, un tipo y un valor.Por ejemplo: en el caso de la variable entero1, su nombre es “entero1”, su

tipo es INT y su valor dependerá de que es lo que carga el usuario.• Los nombres de las variables es cualquier identificador válido: un

identificador es una serie de caracteres que consta de letras, dígitos y guiones bajos que no comienza con un dígito.

• El compilador de C es sensible a mayúsculas y minúsculas (de forma tal que a1 y A1 son identificadores diferentes).

• Tipos de variable: Nombre Tipo Bits Tamaño

Unsigned char Carácter 8 0 a 255 Char Carácter 8 -128 a 128 Enum Enumeracion 16 -32,768 a 32,767 Unsigned int Numero 16 0 a 65,535 Sort int Numero 16 -32,768 /32,767 Int Numero 16 -32,768 /32,767 Unsigned long Numero 32 0 to 4,294,967,295

Long Numero 32 -2,147,483,648 Float Numero 32 3.4 * (10**-38) Double Numero 64 1.7 * (10**-308) Long double Numero 80 3.4 * (10**-4932)

2DO. EJ. DE PROGRAMA EN C: INSTRUCCIÓN SCANF.

v

scanf ("%d", &entero1);

La función scanf permite obtener un valor por parte del usuario.

• Scanf tiene dos argumentos:

La cadena de control de formato “%d”: indica el tipo de dato que debe introducir el usuario. Esta cadena contiene %d, el especificador de conversión, que indica que se esperará un valor entero.

El segundo argumento, &entero1, tiene dos partes: & (amperson) se llama operador de dirección que combinado con el nombre de una variable va a indicarle a scanf la ubicación de memoria de la variable entero1. La computadora almacenará el valor de entero1 en esa ubicación.

• Una vez ingresado el valor, debe oprimirse Enter.

2DO. EJ. DE PROGRAMA EN C: INSTRUCCIÓN DE ASIGNACIÓN.

v

suma= entero1+entero2;

Es una instrucción de asignación que calcula la suma de las variables entero1 y entero2 y asigna el resultado a la

variable SUMA.

• Se utiliza por una parte el operador matemático “+” para realizar el cálculo matemático.

• Se utiliza el operador de asignación “=“ para guardar el resultado del cálculo matemático en la variable SUMA.

2DO. EJ. DE PROGRAMA EN C: PRINTF CON VARIABLES.

v

printf ("La suma es %d\n", suma);• La función printf tiene ahora dos argumentos: el

primero muestra la cadena de control de formato y tiene algunos caracteres literarios (“La suma es”) y el especificador de conversión %d que indica que se imprimirá un entero. El segundo argumento especifica el valor que se imprimirá.

• El cálculo también podría haberse realizado en la función printf:

printf(“La suma es %d\n”, entero1+entero2);

2DO. EJ. DE PROGRAMA EN C: PAUSA EN LA EJECUCIÓN.

v

printf ("Ingresar cualquier número para salir seguido de Enter\n"); scanf ("%d", &suma);

En este segundo ejemplo y aprovechando que se ha incluído la función scanf, hemos reelaborado las últimas

instrucciones para hacer una pausa antes de que la ventana de la consola se cierre.

Fijensé que se guarda el valor en la variable suma. Esto no general problema porque antes se ha mostrado el

resultado. Si necesitaramos la variable SUMA para otro proceso, deberíamos definir otra variable para aplicar ya

que de lo contrario, se perdería el valor guardado en SUMA y no podríamos reutilizarlo.

3ER. EJ. DE PROGRAMA EN C: INSTRUCCIÓN DE BIFURCACIÓN

v

Permite chequear

relaciones de igualdad y de relación entre dos enteros ingresados a

través del usuario.

I

3ER. EJ. DE PROGRAMA EN C: Declaración de Variables

v

int num1, num2;Se está declarando más de una variable (separadas por

coma) que corresponden al mismo tipo de dato.

• En la instancia de declaración, se puede declarar más de una variable de un tipo determinado en una sola sentencia (como se muestra en el ejemplo).

• También se puede “inicializar” la variable en la declaración. Incializar significa asignarle un valor inicial a la variable.

Por ejemplo, se puede declarar “int num1 = 1;”. En este caso, se está declarando una variable numérica

llamada num1 que vale 1.

3ER. EJ. DE PROGRAMA EN C: Función Scanf - más de una variable.

v

scanf("%d%d", &num1, &num2);

la función scanf captura dos valores.

• Cada especificador de conversión (%d) tiene un argumento correspondiente (&num1 y &num2), en el que se almacenará el valor que se ingrese.

• El primer %d colocará el valor en num1; el segundo %d lo hará en num2.

3ER. EJ. DE PROGRAMA EN C: Instrucción “If” y operadores.

v

if (num1 == num2) {printf("%d es igual que %d\n", num1, num2);

}Esta instrucción se llama de BIFURCACIÓN.

• Permite a un programa tomar una decisión, basándose en la verdad o falsedad de una instrucción de hecho, llamada condición.

• Si se cumple la condición (la condición es verdadera), se ejecuta la instrucción en el cuerpo de la instrucción if.

• Si no se cumple la condición (la condición es falsa), no se ejecuta la instrucción.

• Ya sea que la instrucción se ejecute o no, una vez que se completa la instrucción if, la ejecución continúa con la siguiente instrucción después de if.

3ER. EJ. DE PROGRAMA EN C: Operadores de igualdad y de relación

v

El argumento de una instrucción if está conformado por una condición que debe ser verdadera o falsa para que se realice o no el cuerpo

de la función

• If (num1 == num2) : la condición será verdadera si el valor de num1 es igual al valor de num2.

• If (num1 != num2): la condición será verdadera si el valor de num1 es diferente al valor de num2.

• if (num1 < num2): la condición será verdadera si el valor de num1 es menor al valor de num2.

• If (num1 > num2): la condición será verdadera si el valor de num1 es mayor al valor de num2.

• If (num1 <= num2): la condición será verdadera si el valor de num1 es menor o igual al valor de num2.

• If (num1 >= num2): la condición será verdadera si el valor de num1 es mayor o igual a num2. v