13
1 Introducción al Lenguaje C Departamento de Electrónica Fundación San Valero Introducción al Lenguaje C

Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

  • Upload
    buidat

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

1

Introducción al Lenguaje C

Departamento de ElectrónicaFundación San Valero

Introducción al Lenguaje C

Page 2: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

2

Introducción al Lenguaje C

Introducción al Lenguaje C

Page 3: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

3

Introducción al Lenguaje C

Introducción al Lenguaje C

Page 4: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

4

Características del Lenguaje C

Características del Lenguaje C

Departamento de ElectrónicaFundación San Valero

Características del Lenguaje C

• Introducción.

• Tipos de datos, variables y constantes.

• Tiras de caracteres (string), printf() y scanf().

• getchar() , getch() y putchar();

• Operadores, expresiones y sentencias.

• Condicionales.

• Bucles.

• Funciones y punteros.

• El preprocesador C.

• Arrays , estructuras y uniones.

• Librerías.

Page 5: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

5

Características del Lenguaje C

• Potencia y flexibilidad. Usado en diferentes contextos

• Popularidad: programadores, librerias, herramientas…

• Portabilidad• Sencillez de sintaxis. Pocas palabras clave• Estructura y modularidad. Reutilización de

código• Aspectos no triviales. Paso de parámetros,

punteros…

Modelo de compilación

• Preprocesador: Eliminación de comentarios y proceso de directivas• Compilador: Traducción a ensamblador• Ensamblador: Traducción a código máquina• Montador: Creación del programa ejecutable, combinando librerias y otros

ficheros objeto

Código fuente: Preprocesador

Compilador

Ensamblador:

Ensamblador

Código objeto

Librerias Montador Código ejecutable

Page 6: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

6

Peculiaridades de C

Una de las cosas importantes de C que debes recordar es que es Case Sensitive (sensible a las

mayúsculas o algo así). Es decir que para C no es lo mismo escribir Printf que printf.

Otra es conocer cuando ponemos “;” y cuando no

Añadir /* a cada uno de los comentarios

En algunos compiladores algunas directivas no son igual: (Ej: void main ó main)

Identificadores

Page 7: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

7

Estructura de un programa

Estructura de un programa

Estructura general de un programa escrito en C.

Declaraciones globales

tipo_devuelto main (lista de parámetros)

{

Secuencia de sentencias

}

tipo_devuelto funcion_1 (lista de parámetros)

{

Secuencia de sentencias

}

......

tipo_devuelto funcion_n (lista de parámetros)

{

Secuencia de sentencias

}

Page 8: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

8

Primer programa

#include <stdio.h>int main()

{/* Aquí va el cuerpo del programa */

printf( "Hola alumnos\n" ); /* Esto imprime hola alumnos en pantalla */ return 0;

}

#include es lo que se llama una directiva. Sirve para indicar al compilador que incluya otro archivo. Cuando en compilador se encuentra con esta directiva la sustituye por el archivo indicado. En este caso es el archivo stdio.h que es donde está definida la función printf, que veremos luego.

int main()Es la función principal del programa. Todos los programas de C deben tener una función llamada main

Primer programa

{ Son las llaves que indican el comienzo de una función, en este caso la función main.

/* Aquí va el cuerpo del programa */Esto es un comentario, no se ejecuta. Sirve para describir el programa. Conviene acostumbrarse a comentar los programas.

printf( "Hola alumnos\n" ); Aquí es donde por fin el programa hace algo que podemos ver al ejecutarlo. La función printf muestra un mensaje por la pantalla.

Al final del mensaje "Hola alumnos” aparece el símbolo '\n'; este hace que después de imprimir el mensaje se pase a la línea siguiente.

Prestar atención en el ";" del final. Es la forma que se usa en C para separar una instrucción de otra

} ...y cerramos llaves con lo que termina el programa. Todos los programas finalizan cuando se llega al final de la función main.

Page 9: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

9

Primer programa. Comentarios

Los comentarios se pueden poner casi en cualquier parte. Excepto en medio de una instrucción. Por ejemplo lo siguiente no es válido:

pri/* Esto es un comentario */ntf( "Hola alumnos" );

GARRAFAL No podemos cortar a printf por en medio, tendríamos un error al compilar. Lo siguiente no daría error, pero es una fea costumbre:

printf( /* Esto es un comentario */ "Hola alumnos" ); Y por último tenemos:

printf( "Hola/* Esto es un comentario */ alumnos" ); Que no daría error, pero al ejecutar tendríamos:

Hola /* Esto es un comentario */ alumnos porque

/* Esto es un comentario */ queda dentro de las comillas y C lo interpreta como texto, no como un comentario.

String, Printf() y Scanf()

Printf() y scanf() nos permite comunicarnos con el exterior a traves de la pantalla y el teclado respectivamente (entradas y salidas estandar).

• Formato de printf():

printf(“tira de control[Identificadores]”,variables);

• Identificadores:

– %d ⇒ Entero decimal.

– %c ⇒ Carácter.

– %s ⇒ String.

– %e ⇒ Número de coma flotante en formato notación exponencial.

– %f ⇒ Número de coma flotante en notación decimal.

Page 10: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

10

String, Printf() y Scanf()

Identificadores (continuación):

– %g ⇒ usa %f o %e, el que sea más corto.

– %u ⇒ Entero decimal sin signo.

– %o ⇒ Entero octal sin signo.

– %x ⇒ Entero hexadecimal sin signo.

• Ejemplos:

1.- printf(“Lo mas sencillo”); ⇒ Lo mas sencillo.

2.- int x = 3; printf(“ x = %d”,x);

3.- double x = 2.0, y = 3.0; printf(“x = %f, “, x); printf(“y = %e.\n”, y);

printf(“x*y = %f.”, x*y);

⇒ x=3

⇒ x = 2.0, y = 0.3e+001

x*y = 6.0

String, Printf() y Scanf()

Para utilizar la función printf en nuestros programas debemos incluir la directiva: #include <stdio.h>Si volvemos a usar otro printf, por ejemplo: #include <stdio.h>int main()

{printf( "Cadena" );printf( "Segunda" );} Obtendremos: CadenaSegundaLo que hace es saltar el cursor de escritura a la línea siguiente: #include <stdio.h>int main()

{printf( "Cadena\n" );printf( "Segunda" );} y tendremos: Cadena

Segunda

Page 11: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

11

Posicionando el cursor Gotoxy

Esta función sólo está disponible en compiladores de C que dispongan de la biblioteca <conio.h>

Hemos visto que cuando usamos printf se escribe en la posición actual del cursor y se mueve el cursor al final de la cadena que hemos escrito.Pero ¿quépasa cuando queremos escribir en una posición determinada de la pantalla?

'Hola' en la fila 10, columna 20 de la pantalla:

#include <stdio.h>#include <conio.h>int main()

{gotoxy( 20, 10 );printf( "Hola" );}

Borrar pantalla con Clrscr

Ahora ya sólo nos falta saber cómo se borra la pantalla.

clrscr() (clear screen, borrar pantalla).

Esta función nó solo borra la pantalla, sino que además sitúa el cursor en la posición (1, 1), en la esquina superior izquierda.

#include <stdio.h>#include <conio.h>int main()

{clrscr();printf( "Hola" );}

Page 12: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

12

Ejercicio 1

Ejercicio 1: Busca los errores en el programa.

#include <stdio.h>int main(){ClrScr();gotoxy( 10, 10 )printf( Estoy en la fila 10 columna 10 );}

Ejercicio 2

Ejercicio 2. Escribe un programa que borre la pantalla y escriba en la primera línea su nombre y en la segunda su apellido:

Page 13: Introducción al Lenguaje C - Zona de alumnos Centro …profesores.sanvalero.net/.../LenguajeC/Introduccion_C.pdf4 Características del Lenguaje C Características del Lenguaje C Departamento

13

Ejercicio 3

Ejercicio 3. Escriba un programa que borre la pantalla y muestre el texto "estoy aqui" en la fila 10, columna 20 de la pantalla: