El documento habla sobre lenguajes de programación, compiladores e intérpretes, y los pasos para crear un programa. Explica que un lenguaje de alto nivel es más fácil de usar para los humanos que uno de bajo nivel, y que un compilador traduce el código a lenguaje de máquina mientras un intérprete lo ejecuta directamente. Además, indica que para crear un programa hay que diseñar un algoritmo, escribir el código, compilarlo y probarlo.
1. Evaluación
Indique la diferencia entre un lenguaje de alto nivel
y un lenguaje de bajo nivel
Indique que es un compilador y un interprete
Indique los pasos que se deben tener en cuenta
para realizar un programa
2. Evaluación
Diseñar un algoritmo que lea tres números y
encuentre si uno de ellos es la suma de los otros dos
Escribir un algoritmo que permita calcular la edad
ingresando la fecha de nacimiento y la fecha
actual
t l
4. CONTENIDO
1. Estructura general de un programa en C
2. Creación d un programa
C ió de
3. El proceso de ejecución de un programa en C
4. Los elementos de un programa en C
5. Tipos de datos en C
6. Le tipo de dato lógico
7. Constantes variables
8. Duración de una variable
9. Entradas y salidas
10. Ejercicios
5. Estructura general de un programa en C
Un programa en C se compone de una o mas funciones. Una de las funciones
debe ser obligatoriamente main. Una función en C es un grupo de
instrucciones que realizan una o mas acciones
# include <stdio.h> archivo de cabecera stdio.h
Int main ( ) cabecera de función
{
……. sentencias
}
6. Cont…
Cont
De modo mas explicito, un programa C puede
p , p g p
incluir;
Directivas de preprocesador;
p p ;
Declaraciones globales;
La función main();
();
Las funciones definidas por el usuario;
Comentarios del programa (utilizados en su totalidad)
p g ( )
7. Ejemplo
1. #include <stdio.h>
2. /*Este programa imprime: Bienvenido a la
programación en C*/
3. Int main ()
4. {
5. Printf (“
f (“Bienvenido a la programación en Cn”);
C )
6. Return 0;
7. }
8. Cont…
Cont
La directiva # include de la primera línea es necesaria
para que el programa tenga salida. Se refiere a un
archivo externo denominado stdio.h en el que se
proporciona la información relativa a la función
printf(). Observe que los ángulos <y> no son parte del
nombre del archivo; se usan para indicar que el archivo
es un archivo d l bibli
hi de la biblioteca estándar C
á d
La segunda línea es un comentario, identificado por los
caracteres /* y*/ Son ignorados por el compilador
/ y /.
9. Cont…
Cont
La tercera línea contiene la cabecera de la función main(),
obligatoria en cada programa C I di el comienzo d l programa
bli i d C. Indica l i del
y requieren los paréntesis () a continuación de main ()
La cuarta y séptima línea contienen solo las llaves {y} que encierran
el cuerpo de la función main () y son necesarias en todos los
programas C
La quinta línea contiene la sentencia Printf (“Bienvenido a la
q (
programación en C/n”); que indica al sistema que escriba el
mensaje
10. Cont…
Cont
El símbolo “n’ es el símbolo de nueva línea. Poniéndose este
símbolo al fi l d l cadena entre comillas, i di al sistema que
í b l l final de la d ill indica l i
comience una nueva línea después de imprimir los caracteres
precedentes
La sexta línea contiene la sentencia return 0. esta sentencia termina
la ejecución del programa y devuelve el control al sistema operativo
de la computadora. El 0 se utiliza para señalar que el programa ha
terminado correctamente
t i d t t
Obsérvese el ; al final de la quinta y sexta línea. C requiere que
cada sentencia termine con un ;
11. Directivas del preprocesador
El preprocesador en un programa C se puede considerar como un editor
de texto inteligente
d t t i t li t que consta d di ti
t de directivas (i t
(instrucciones al compilador
i l il d
antes de que se compile el programa principal). Las sos directivas mas
usuales son #include y #define
La directiva #include indica al compilador que lea el archivo fuente que viene a
continuación de ella y su contenido lo inserte en la posicion donde se encuentra
dicha directiva
El archivo de cabecera mas frecuente es STDIO.H. Este archivo proporciona al
compilador C l información necesaria sobre l f
l d la f ó b las funciones d b bl
de biblioteca que
realizan operaciones de entrada y salida
#include <stdio.h>
#include <string.h>
#incl de <string h>
12. Declaraciones globales
Las declaraciones globales indican al compilador que las funciones
definidas
d fi id por el usuario o variables así d l d son comunes a
l i i bl í declaradas
todas las funciones de su programa. Las declaraciones globales se
sitúan antes de la función main ()
/*declaraciones globales*/
/*d l l b l */
Int Calificaciones;
main()
{
……
}
13. Función main ()
Cada programa C tiene una función main () que es el punto de
entrada al programa. S estructura es: P
d l Su Programación en C
ió C.
Metodología, algoritmo y estructura de datos
main ()
{
….. bloque de sentencias
}
Las sentencias incluidas en las llaves {…} se denominan bloque. Un
programa debe tener solo una función main (). Además de la función
main (), un programa C consta de una colección de funciones
14. Funciones definidas por el usuario
Un programa C es una colección de funciones. Todos los programas se construyen a partir de
una o mas funciones que se integran para crear una aplicación
Las funciones definidas por el usuario se invocan por su nombre y los parámetros opcionales
que puedan tener. Después de que la función es llamada, el código asociado con la función se
ejecuta y, a continuación, se retorna a la función llamadora
main ()
i
{
….
}
obtenerdatos()
{
….
}
15. Comentarios
Un comentario es cualquier información que se añade a
su archivo fuente para proporcionar documentación de
cualquier tipo. El compilador ignora los comentarios
Los comentarios en C estándar comienzan con l
L t i tá d i la
secuencia /* y terminan con la secuencia */
scanf (“%d”,&x); /* sentencia de entrada de un
/
valor entero*/
16. Ejemplo
/*ilustra el uso de include*/
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf ("Luis Joyanes Aguilarn");
p
printf ("Avenida de andalucia, 48n");
( , );
system("PAUSE");
return 0;
}
17. Creación de un programa
Para crear un programa se utilizan las siguientes etapas
Definir su programa
Definir directivas de preprocesador
Definición de declaraciones globales
Crear main ()
Crear el cuerpo del programa
Crear sus propias funciones definidas por el usuario
Compilar, enlazar, ejecutar y comprobar su programa
Utilizar comentarios
18. El proceso de ejecución de un programa en C
El código fuente (archivo de programa) se crea con la ayuda del
editor d texto
di de
El compilador traduce el archivo texto en un archivo objeto
El enlazador pone juntos a diferentes archivos objetos para poner
un archivo ejecutable
El sistema operativo pone el archivo ejecutable en la memoria
central y se ejecuta el programa
Código Código Programa
Compilador Enlazador
fuente objeto ejecutable
Biblioteca
19. Elementos de un programa en C
Un programa en C consta de uno o mas archivos. Un
p g
archivo es traducido en diferentes fases. El
preprocesador se controla por directivas introducidas
por líneas que contienen # como primer carácter. El
resultado del preprocesado es una secuencia de tokens.
Tokens ( l
T k (elementos lé i d l programas)
léxicos de los )
Existen 5 clases de tokens: identificadores, palabras
reservadas, literales
reservadas literales, operadores y otros separadores
20. Cont…
Cont
Identificadores
Un identificador
U id tifi d es una secuencia d caracteres, l t
i de t letras, dí it y subrayados(_). El primer carácter
dígitos b d ( ) i át
debe ser una letra; nombre_clase, indice,
Palabras reservadas
Una palabra reservada (key word o reserved word), tal como void es una característica del lenguaje
C asociada con algún significado especial
i d l ú i ifi d i l
Comentarios
Los comentarios tienen el siguiente formato /* ……..*/
Signos de puntuación y separadores
Todas las sentencias deben terminar con ; otros signos de puntuación son: %,^,&,*…etc.
Archivos de cabecera
Un archivo de cabecera es un archivo especial que contiene declaraciones de elementos y funciones de
p q
la biblioteca; #include <stdio>, #include <math>
21. Tipos de datos en C
Los tres tipos de datos básicos son;
Enteros
Números de coma flotante (reales);
caracteres
22. Declaración de variables
La forma mas simple de una declaración de variable en
C es poner primero el tipo de dato y a continuación el
nombre de la variable. Si se desea dar un valor inicial
a la variable, este se pone a continuación. El formato
variable continuación
de la declaración es;
<tipo de dato> <nombre dela variable>=<valor inicial>
Se pueden también declarar múltiples variables en la misma
línea
<tipo de dato> <nom var1> <nom var2>
<nom_var1>, <nom_var2>….
23. Tipos de datos
Enteros (int)
Los enteros son adecuados para aplicaciones que trabajen con datos numéricos
Int aritmética de enteros, bucles for, conteo
Tipos de coma flotante (float/double)
Los tipos de datos de coma (punto) flotante representan números reales que
contienen una coma decimal, tal como 3.14159 o números grandes como
1.85*1015
Caracteres ( h )
C (char)
Un carácter es cualquier elemento de un conjunto de caracteres predefinidos o
alfabeto (ASCII). Existen caracteres que tienen un propósito especial y no se
pueden escribir utilizando el método normal ‘n’
n
24. El tipo de dato lógico
Los compiladores de C que siguen la norma ANSI no
incorporan el tipo de dato lógico cuyos valores son
<verdadero> (true) y <falso> (false). El lenguaje C
simula este tipo de dato tan importante en las
estructuras de control (if, while). Para ello utiliza el tipo
de dato int. C interpreta todo valor distinto de 0 como
<verdadero>
< d d > y el valor 0 como <f l >
l l <falso>
Si es necesario se puede visualizar el valor de la
variable lógica utilizando la función para salida printf()
25. Constantes
En C existen 4 tipos de constantes;
Constantes literales
Constantes definidas
Constantes enumeradas
Constantes declaradas
Constantes literales
Las constantes literales se clasifican también en 4 grupos
g p
Constantes enteras
Constantes caracteres
Constantes de coma flotante
Constantes de cadena
26. Cont…
Cont
Constantes enteras
La escritura de constantes enteras requiere seguir unas determinadas reglas;
No utilizar nunca comas ni otros signos de puntuación en números enteros o
complejos
Para f
P forzar un valor al tipo l
l l i long, terminar con l l
i la letra L o l
Para forzar un valor al tipo unsigned, terminarlo con una letra mayúscula U
Para representar un entero en octal, este debe estar precedido de 0
Para representar un entero en hexadecimal, este debe estar precedido de 0x
Se puede combinar sufijos L(l), que significa largo o bien U(u) que significa sin
signo
27. Cont…
Cont
Constantes reales
Una
U constante flflotante representa un numero real; siempre tienen signo y representan
l
aproximaciones en lugar de valores exactos; 82.347, 47e-4
Constantes carácter
Una constante carácter (char) es un carácter de código ASCII encerrado entre apostrofes
‘A’, ‘b’
Un carácter que se lee utilizando una barra oblicua () se llama sentencia o código de
escape
Aritmética con caracteres C
Dada la correspondencia de un carácter y su código ASCII, es posible realizar
operaciones aritméticas sobre datos de caracteres;
Char c;
C=‘T’+5; /*suma 5 al carácter ASCII*/
28. Cont…
Cont
Constantes cadena
Una constante cadena (también llamada literal cadena o simplemente cadena)
es una secuencia de caracteres encerrados entre dobles comillas; “123”, “12 de
octubre de 1942”
Se puede escribir una cadena en varias lineas terminando varia linea con “”
lineas,
Se puede concatenar cadenas escribiendo “ABC””DEF”
Constantes definidas simbólicas
Las
L constantes pueden recibir nombres simbólicos mediante l di ti #d fi
t t d ibi b i bóli di t la directiva #define
#define PI 3.141592
29. Cont…
Cont
Constantes enumeradas
Las constantes enumeradas permiten crear lista de elementos afines. Un
ejemplo típico es una constante enumerada de lista de colores, que se
puede declarar como;
Enum CColores {rojo, naranja, amarillo, verde, azul, violeta};
{ }
Constantes declaradas const y volatile
El cualificador const permite dar nombres simbólicos a constantes. El
p
formato general para crear una constante es;
Const tipo nombre = valor;
Const int Meses=12; / meses es constante simbólica del valor 12*/
Meses 12; /*meses 12 /
30. Variables
En C una variable es una posición con nombre en
memoria donde se almacena un valor de un cierto tipo
de dato. Las variables pueden almacenar todo tipo de
datos; cadenas números y estructuras
cadenas,
Declaración
U a dec a ac ó
Una declaración de una variable es una sentencia que
u a va ab e u a se e c a
proporciona información de la variable al compilador C;
Tipo variable
Short DiaSemana;
Sh Di S
31. Ejemplo
/*distancia a la luna en kilometros*/
#include <stdio h>
<stdio.h>
#include <stdlib.h>
int main ()
{
const int luna=238857; /*distancia en millas*/
float luna_kilo;
printf ("distancia a la luna %d millasn",luna);
luna_kilo=luna*1.609; /*una milla = 1.609Km*/
printf ("en kilometros es %fKm.n",luna_kilo);
system ("PAUSE");
return 0;
}
32. Cont…
Cont
Inicialización de variables
El formato general de una declaración e inicialización es;
Tipo nombre_variable=expresion
Declaración o definición
La diferencia entre declaración y definición es sutil. Una declaración
introduce un nombre de una variable y ascia un tipo con la variable.
Una definición es una declaración que asigna simultáneamente una
q g
valor a la variable
double x; /*declara el nombre de la variable x de tipo doble*/
Int i=0; /*definido e inicializado a cero*/
i 0; / definido cero /
33. Duración de una variable
Dependiendo del lugar donde se definan las variables
p g
de C, estas se pueden utilizar en la totalidad del
programa, dentro de una función o pueden existir solo
temporalmente dentro de un bloque de una f
función.
Los tipos básicos de variables en C son;
Variables locales
Variables globales
Variables d
bl dinámicas
34. Cont…
Cont
Variables locales
Las variables locales son aquellas definidas en el interior de una función y son
visibles solo en esa función especifica.
Variables globales
Las variables globales son variables que se declaran fuera de la función y por
defecto (omisión) son visibles a cualquier función, incluyendo main ()
Variables dinámicas
las variables dinámicas tienen características que en algunos casos son similares
tanto a variables locales como a globales. Al igual que una variable local, la
variable dinámica se crea y se libera durante la ejecución del programa
35. Entradas y salidas
Los programas interactúan con el exterior, a través de
datos de entrada o de salida, para lo que todo
programa deberá tener el archivo de cabecera stdio.h
Salida
S lid
La salida de datos de un programa se puede dirigir a
diversos dispositivos, pantalla, impresora, archivos
p ,p , p ,
La salida que se trata a continuación va a ser a pantalla.
La función printf() visualiza en la pantalla datos del
programa
36. Cont…
Cont
La forma general que tiene la funcion printf ()
printf (cadena_de_control, dato1, dato2,…)
Cadena_de_control contiene los tipos de los datos y la forma de
mostrarlos
Dato1, dato2… variables, constantes, datos de salida
i=11 j=12 c=‘A’ n=40.791512
printf (“%x %3d %c %.3f”, i,j,c,n);
Visualizara en pantalla
B 12 A 40 749
40.749
38. Entrada
La entrada de datos a un programa puede tener diversas fuentes, teclado,
archivos en di
hi disco. L entrada que consideramos ahora es a t é d l
La t d id h través del
teclado. La función mas utilizada, por su versatilidad, para entrada
formateada es scanf()
La forma general que tiene la función scanf();
Scanf(cadena_de_control, var1, var2, var3…)
Cadena_de_control contiene los tipos de los datos y si se desea su anchura
Var1,
V 1 var2… variables d l ti d l códigos d control
2 i bl del tipo de los ódi de t l
Las variables que se pasan a scanf() se transmiten por referencia para
poder ser modificadas y transmitir los datos de entrada, para ello se hacen
preceder de &
39. Ejemplo
Cual es la salida del siguiente programa, si se introducen por teclado las letras LJ
/*entrada d d
/* d de datos */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char primero, ultimo;
printf ("introduzca su primera y ultima inicial");
scanf ("% %c", &primero, &ultimo);
f ("%c % " & & l )
printf ("hola, %c. %c. n", primero, ultimo);
system ("PAUSE");
return 0;;
}
40. Salida de cadena de caracteres
Con la función printf() se puede dar salida a cualquier dato,
asociándolo el código que l corresponde. E particular, para d
iá d l l ódi le d En i l dar
salida a una cadena de caracteres se utiliza el código %s.
Para salida de cadenas, la biblioteca C proporciona la función
especifica puts(). Tiene un solo argumento, que es una cadena de
caracteres. Escribe la cadena en la salida estándar (pantalla) y
añade el fin de línea
puts(arbol)
Muestra en la pantalla lo mismo que
Printf(“%sn”,arbol);
( , );
41. Entrada de cadena de caracteres
La entrada de una cadena de caracteres se hace con la función mas general scanf()
y el codigo%s
La biblioteca de C tiene una función especifica para captar una cadena de
caracteres, la función gets(). Capta del dispositivo estándar de entrada de una
cadena de caracteres, termina la captación con un retorno de carro. El siguiente
p g
ejemplo muestra como captar una línea de cómo máximo 80 caracteres
char línea [81];
puts(“Nombre y dirección”);
gets (línea);
La función gets() tiene un solo argumento, una variable tipo cadena. Capta la
cadena de entrada y la devuelve en la variable pasada como argumento
42. Ejercicios
Cual es la salida del siguiente
programa Depurar el siguiente
#include <stdio.h> programa
int main ()
{ #include <stdio h>
<stdio.h>
char pax[]=“juan sin miedo”;
void main ()
printf(“%s %sn,pax,&pax[4]);
puts (pax) {
puts (&pax[4]);
return0 printf(“el lenguaje de
} programación C”
ió
43. Ejercicios
Escribir y ejecutar un programa que imprima su
j p g q p
nombre y dirección
Escribir y ejecutar un programa que imprima una
pagina de texto con no mas de 40 caracteres por
línea
Escribir un programa que imprima la letra B con
asteriscos
44. Patrón de prueba de pantalla panorámica (16:9)
Prueba de la
relación de
aspecto
(Debe parecer circular)
4x3
16x9