15
Laboratorio de Sistemas operativos 1 Introducción al del lenguaje C I Objetivos Instalar MinGW y compilar códigos de ejemplo del lenguaje C Comprender el funcionamiento de un programa en C Comprender la sintaxis básica y estructuras de control en C II Temas a tratar MinGW Lenguaje C: estructuras de control y sintaxis Lenguaje C: compilación Lenguaje C: librerías externas y funciones

Introducción al lenguaje C

Embed Size (px)

Citation preview

Page 1: Introducción al lenguaje C

Laboratorio de Sistemas operativos 1

Introducción al del lenguaje C

I

Objetivos

• Instalar MinGW y compilar códigos de ejemplo del lenguaje C

• Comprender el funcionamiento de un programa en C

• Comprender la sintaxis básica y estructuras de control en C

II

Temas a tratar

• MinGW

• Lenguaje C: estructuras de control y sintaxis

• Lenguaje C: compilación

• Lenguaje C: librerías externas y funciones

Page 2: Introducción al lenguaje C

Laboratorio de Sistemas operativos 2

III

Marco teórico

Partes de un programa escrito en lenguaje C:

Sección de declaración de cabeceras

#include <stdio.h>

Las cabeceras en un programa de lenguaje C contienen las funciones

auxiliares necesarias para el funcionamiento de un programa en C. Por

ejemplo si se desea mostrar una cadena de caracteres por pantalla se usa la

función printf la cual se encuentra en la librería stdio.h, esta debe ser incluida

siempre al comienzo de los archivos.c

Sección de código

Un programa en lenguaje C se encuentra agrupado en funciones y otras

estructuras, siendo main() la función principal, toda función recibe un

conjunto de parámetros y retorna un parámetro, así:

<tipo parámetro salida> NombreFuncion( <tipo parámetro entrada 1>, <tipo

parámetro entrada 2>, …)

Dentro de una función se va a declarar todo el código usado incluyendo,

variables, estructuras auxiliares, etc.

int main(){

printf("Hola, mundo!\n");

return 0;

}

Page 3: Introducción al lenguaje C

Laboratorio de Sistemas operativos 3

En esta función ejemplo la función main no recibe ningún parámetro y

retorna un parámetro entero (int)

Definición de variables

Los datos en C han de tener un tipo. Las variables contienen datos, y se han

de declarar del tipo adecuado a los valores que van a contener. El C dispone

de estos tipos básicos:

Todos estos tipos -salvo void- son tipos numéricos. Incluso el tipo char. Se

pueden construir tipos de datos más elaborados a partir de estos tipos

básicos:

• Vectores y matrices

• Punteros

• Tipos estructurados (registros)

Las variables se utilizan para guardar datos dentro del programa. Hay que

declarar las variables antes de usarlas. Cada variable tiene un tipo.

Declaración:

tipo nombre ;

Ejemplo:

Page 4: Introducción al lenguaje C

Laboratorio de Sistemas operativos 4

int pepe;

Estructuras de control en C

Estructura Selectiva Simple: if else

La estructura general de una estructura selectiva simple en C es la siguiente:

Donde la parte correspondiente al else es opcional. Utilizando diagramas de

flujo, tendríamos lo siguiente:

1. se evalúa la expresión que acompaña a la clausula if

2. Si la expresión es cierta (el valor de la expresión es distinto de cero), se

ejecuta la sentencia que sigue a continuación y se termina.

3. Si la expresión es falsa (el valor de la expresión es igual a cero) y existe la

clausula else, se ejecuta la sentencia que sigue a la clausula else y se termina.

O dicho de otra forma:

Page 5: Introducción al lenguaje C

Laboratorio de Sistemas operativos 5

• El bloque que sigue a la clausula if solo se ejecuta si el valor de la

expresión es distinto de cero.

• Si existe una clausula else, el bloque que sigue a dicha clausula solo se

ejecuta si el valor de la expresión es igual a cero.

Ejemplo:

Estructuras repetitivas: while

La sintaxis de la sentencia while es la siguiente:

El diagrama de flujo correspondiente es:

Page 6: Introducción al lenguaje C

Laboratorio de Sistemas operativos 6

El funcionamiento es el siguiente:

1. se evalúa la expresión que acompaña a la clausula while.

2. Si la expresión es cierta (el valor de la expresión es distinto de cero), se

ejecuta el bloque que sigue a continuación.

3. se vuelve al primer paso, y se repite el proceso.

Algunos aspectos de interes sobre esta estructura seran:

• Puede que el bloque que sigue al while no se ejecute ninguna vez. Si la

primera vez que se calcula la condición el resultado es cero (falso), no

se pasara a ejecutar el bloque, y se pasara directamente a la sentencia

que siga a la sentencia while.

• Alguno de los valores que determinan la condición debe ser

modificado dentro del bloque. Si no fuera as, y la condición fuera cierta

(distinta de cero) la primera vez que la comprobaríamos, pasaríamos a

Page 7: Introducción al lenguaje C

Laboratorio de Sistemas operativos 7

ejecutar el bloque, y ya no saldríamos nunca de el puesto que la

condición seguirá siendo cierta de forma indefinida.

• En la condición, es conveniente utilizar los operadores de rango (<, >,

<= o >=) en lugar de los operadores de igualdad y desigualdad (== o !=).

Al igual que suceda en el caso de las sentencias selectivas simples, es un error

muy común querer utilizar mas de una sentencia dentro del bloque del while

pero no encerrarlas entre llaves, como en el siguiente ejemplo.

Ejemplo:

¿Que necesito para crear programas en lenguaje C?

1. Compilador: el compilador se encargara de traducir el lenguaje C a

lenguaje de maquina para generar el archivo ejecutable (el que realiza

las tareas que programo), en linux el compilador de C vienen instalado

por defecto en el computador, en Windows necesitamos instalar un

programa externo que contenga el compilador, el programa MinGW o

minimalist Linux for windows contiene entre otros el compilador de C

con todas las librerías de funciones.

2. Editor de texto para escribir el codigo C: Puede ser cualquier editor de

texto, sea un bloc de notas o algún editor específico de lenguaje C.

Page 8: Introducción al lenguaje C

Laboratorio de Sistemas operativos 8

IV

Actividades

Instalar MinGW (compilador de lenguaje C):

1. Entrar a la direccion de internet:

http://sourceforge.net/projects/mingw/files/latest/download?source=files

Y bajar el archivo de instalación de MinGW

2. Ejecutar el archivo MinGW – 5.0.0

Page 9: Introducción al lenguaje C

Laboratorio de Sistemas operativos 9

3. Seleccionar en la ventana de componentes, MinGW base tools

Page 10: Introducción al lenguaje C

Laboratorio de Sistemas operativos 10

4. Seleccionar la carpeta de instalación (Default)

Page 11: Introducción al lenguaje C

Laboratorio de Sistemas operativos 11

Compilador de línea de órdenes

A partir de un programa fuente, se puede compilar un programa

directamente desde la línea de órdenes. Hay que tener en cuenta que los

binarios (gcc.exe) están en la carpeta c:\MinGW\bin, por lo que es

interesante agregar esa carpeta a la variable de entorno path.

5. Crear una carpeta con su nombre en Mis Documentos, dentro de esta

carpeta pegar el archivo holamundo.c

6. abrir una ventana de consola (tecla windows + r) escribir: cmd

Page 12: Introducción al lenguaje C

Laboratorio de Sistemas operativos 12

7. En la consola ir a la dirección de nuestra carpeta donde se encuentra el

archivo holamundo.c

8. Direccionar el path del sistema a los ejecutables de gcc escribiendo:

Set path=C:\MinGW\bin

9. Probar que el compilador se encuentra disponible escribiendo el

comando gcc, el resultado debe ser:

Page 13: Introducción al lenguaje C

Laboratorio de Sistemas operativos 13

10. Para compilar el código holamundo.c debemos escribir el comando gcc

seguido del nombre del archivo.c

gcc holamundo.c

El comando gcc genera el archivo ejecutable del código

11. Para ejecutar el programa compilado escribir el comando:

a.exe

Page 14: Introducción al lenguaje C

Laboratorio de Sistemas operativos 14

El resultado debe ser Hola, mundo!

12. Copie el siguiente código en su archivo holamundo.c, compilelo y

ejecútelo.

Ejemplo 1: Ingresa un numero y nos indica si es positive o negativo

#include <stdio.h>

int main()

{

int variable;

printf("Introduce un numero: ");

scanf("%d",&variable);

if( variable > 0 )

printf("El numero es positivo");

else

printf("El numero es negativo");

return 0;

}

Page 15: Introducción al lenguaje C

Laboratorio de Sistemas operativos 15

13. Escriba un programa en C que Imprima los múltiplos de 2 y 3 que hay

entre 1 y 100

14. Escriba un programa en C que calcule el factorial de un numero N

ingresado por teclado.

15. Escriba un programa en C que imprima los N primeros números primos