Programas
Estructura de un programa simple
Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial:
• Entrada de datos
• Procesamiento de los datos
• Salida de resultados
La función main
El punto de entrada de un programa en C es la función main:
int main (int argc, char *argv[])
{
Declaraciones y sentencias escritasen C
return 0;
}
Las llaves {} delimitan bloques de código en C (conjuntos de declaraciones y sentencias).
La ejecución de un programa escrito en C comienza invocando a la función main().
El preprocesador de C
#include
Inclusión de ficheros de cabecera
#include
#include “biblioteca.h”
#define
Definición de constantes simbólicas y macros
#define CONSTANTEexpresión
#define MAX(a,b) ( ((a)>(b))? (a):(b) )
#ifndef … #endif
Usado en ficheros de cabecera para no incluir lo mismo dos veces
#ifndef XXX
#define XXX
...
#endif
Estructura general de un fichero de código en C
#includes de ficheros de cabecera (bibliotecas)
#defines (constantes simbólicas y macros) Declaración e implementación de funcionesFuncionamiento del preprocesador
Fichero de entrada al compilador
Operaciones de entrada/salida
Salida por pantalla con la función printf
La función printf, que forma parte de la biblioteca estándar de funciones de entrada/salida
#include
int main (int argc, char*argv[])
{
...
printf(“Mi programa v1.0”);
...
}
Mostrar datos en función de su tipo
char c;
...
printf (“%c”, c);
int i;
...
printf (“%d”, i);
long x;
...
printf (“%ld”, x);
float f;
...
printf (“%f”, f);
double d;
...
printf (“%lf”, d);
long double r;
...
printf (“%Lf”, r);
Mostrar mensajes en distintas líneas
printf (“Una línea de texto.\n”);
printf (“Otra línea detexto.\n”);
La función scanf, de la biblioteca estándar de funciones de entrada/salida
#include
int main (int argc, char *argv[])
{
...
scanf(“%d”,&dato);
...
}
Leer datos en función de su tipo
char c;
...
scanf (“%c”, &c);
int i;
...
scanf (“%d”, &i);
long x;
...
scanf (“%ld”, &x);float f;
...
scanf (“%f”, &f);
double d;
...
scanf (“%lf”, &d);
long double r;
...
scanf (“%Lf”, &r);
Operaciones de entrada/salida
printf(“plantilla de formato”, lista de variables);
scanf(“plantilla de formato”, lista de referencias a variables);
Al representar un número o una cadena, podemos especificar cómo deseamos hacerlo:
Sintaxis general%-n.mX
• El número n indica el número de caracteres que se utilizarán como mínimo para reprentar el dato (número total de dígitos en el caso de los números, tanto enteros como reales).
• El número .m indica el número máximo de caracteres que se utilizarán para representar el dato. En el caso de los números reales, indica el número de decimales que se mostrarán.
• El signo menos (-) esopcional y lo usaremos para indicar que el texto ha de justificarse a la izquierda.
• X indica el tipo del dato:
%d Número entero en decimal
%x Número entero en hexadecimal
%o Número entero en octal
%c Carácter
%s Cadena de caracteres
%f Número real
%e Número real en notación científicaIntroducción a la Programación: C - 57 - © Fernando Berzal
/*
Hipotenusa de un triángulo rectángulo calculada según el teorema de Pitágoras
*/
#include
#include
int main ()
{
// Declaraciones
float lado1, lado2, hipotenusa;
// Entrada de datos
printf(“ Cálculo de la hipotenusa \n”); printf(“de un triángulo...
Regístrate para leer el documento completo.