/* Comentarios de un parrafo completo comprendidos entre /*.....*/,
sirven para aclarar qué el programa o una parte del programa */
// Comentarios de 1 sola línea
// Zona de ficheros de cabecera de las librerías
#include <....... . h> // h de Head
#include <....... . h>
// Zona de prototipos de funciones
int Potencia (int x,y)
// Zona de variables globales
int valor;
float media_total;
void main (void) // Prog. ppal. típico de Turbo C
{
// llave de inicio del programa
// codigo del programa
.......
.......
.......
// fin del programa
}
// Desarrollo del código de las funciones anteriores
Datos tipo enteros:
unsigned: sin signo
signed: con signo
unsigned short: corto sin signo
signed short: corto con signo
unsigned long: largo sin signo
signed long: largo con signo
Datos tipo carácter
unsigned: sin signo
signed: con signo
Datos tipo real
double: doble
signed: doble largo
CHAR (CARACTER)
1 BYTE
RANGO: -128... 127 char
0...255 unsigned char
EJEMPLO: char car; /* car es una variable de tipo char */
INT (ENTERO)
RANGO PARA 16 BITS: -32768... 32767 int
0... 65535 unsigned int
EJEMPLO: int x; /* x es de tipo entero */
SHORT (ENTERO CORTO)
2 BYTES RANGO: -32768... 32767 short
0... 65535 unsigned short
EJEMPLO: short x,y; /* declara x e y como enteros cortos */
LONG (ENTERO LARGO)
4 BYTES RANGO: -2147483648... 2147483647 long
0... 4.294.967.295 unsigned long
EJEMPLO:long var; /* var es de tipo long*/
ENUM (ENUMERACIÓN) Tipo ENUMERADO
LISTA DE VALORES REPRESENTADOS POR IDENTIFICADORES
EJEMPLO : enum semana
{ lunes, martes, miercoles, jueves, viernes, sabado, domingo} ;
enum semana ayer /* ayer es un tipo enumerado semana * /
/* lunes toma el valor 0 y domingo el valor 6* /
FLOAT (REALES EN SIMPLE PRECISION)
4 BYTES RANGO: -3.402823E+38.....-1.40129E45 negativos
1.401293E-45 ..... 3.40282E38 positivos
-3E+38.....-1’4E45
1’4E-45.....3E38
EJEMPLO: float x; /* x es un real */
DOUBLE (REALES EN DOBLE PRECISION)
8 BYTES RANGO: -1.79769313316E308.......4.94065E-324 negativos
4.94065E-324... 1.797334862316E308 positivos
EJEMPLO: double x; /* x es un real en doble precisión * /
ARRAYS
CONJUNTO DE ELEMENTOS DEL MISMO TIPO
EJEMPLO: char a[40]; /* 40 caracteres del 0 al 39 */
VOID
SE UTILIZA PARA DECLARAR FUNCIONES QUE NO RETORNAN NINGUN VALOR 0 NO ACEPTAN PARAMETROS.
EJEMPLO: void f (int a); /* la función no retorna valores */
CONST
INDICA QUE EL VALOR DE UN IDENTIFICADOR NO PUEDE SER MODIFICADO
OPERADORES ‘ESPECIALES’
X ++ INCREMENTO DE LA VARIABLE X EN 1
X -- DECREMENTO DE LA VARIABLE X EN 1
Con este epígrafe nos referimos a las funciones estándar de C para realizar entrada de datos por teclado y salida de datos hacia pantalla.
Son funciones definidas en la librería estándar. Para usarlas es necesario incluir el fichero de cabecera de las funciones :
#include <stdio.h>
Estas funciones son:
printf( ) Salida de datos con formato
scanf( ) Entrada de datos con formato
getchar( ) Entrada de caracteres. 1 caracter
putchar( ) Salida de caracteres. 1 caracter
fflush( ) Borrado del buffer del teclado.
funcion printf ( )
Escribe una serie de caracteres en la salida estándar (pantalla).
Prototipo
int printf (conts char *formato [,argumentoJ...);
Devuelve
Número de caracteres escritos.
Parámetros
Formato: Cadena de caracteres, entre comillas dobles, que especifica cómo va a ser la salida. Incluye caracteres y especificaciones de formato.
Argumento: Indica las variables a escribir.
Ejemplo:
float pi=3.141596; // declara y asigna a la vez
printf("El número pi vale %f “,pi);
^- carácter de control %f
Especificaciones de formato:%[.precision]
ancho: Mínimo número de posiciones reservadas para la salida.
precisión: Mínimo número de posiciones reservadas para la parte decimal.
Caracteres de control en función del tipo
Cuando necesitamos especificar el valor de una variable dentro de una instrucción printf debemos poner un carácter de control que indica qué tipo de dato va en esa posicion:
control ░░░░░░░░Tipo asociado
%d░░░░░░░░int enteros con signo base 10
%u░░░░░░░░unsigned int enteros sin signo base 10
%x░░░░░░░░int base 16
%f░░░░░░░░float formato eee.ddd
%e░░░░░░░░float formato xxxEee
%c░░░░░░░░char caracteres
%s░░░░░░░░string cadena de caracteres
n ░░░░░░░░salto de línea
t ░░░░░░░░tabulador a la derecha
a ░░░░░░░░beeep !
h░░░░░░░░sort
l░░░░░░░░long → Modificadores
L░░░░░░░░double
funcion scanf ( )
Lee datos de la entrada estándar (teclado) , los interperta y los almacena en los argumentos. Incluye caracteres y especificaciones de formato.
Prototipo
int scanf (conts char *formato [,argumento]...);
Devuelve:
El número de datos leídos. Si es cero indica que no han sido asignados datos.
Parámetros
Formato: Cadena de caracteres, entre comillas dobles, que especifica cómo van a ser introducidos los datos. Según se especifique en el formato , así deberán ser introducidos los datos.
Argumento: Indica las direcciones de variables que almacenarán los datos ( & )
int a; float b; char c;
Sentencia →→→→→→→→→→→→→→Entrada de datos
scanf(“%d %f %c" , &a, &b , &c) ; →→→5 2.3 b
scanf("%d, %f , %c",&a,&b,&c); →→→5 , 23.4 , b
scanf("%d : %f : %c",&a,&b,&c); →→→5 : 23.4 : b
&a → Dirección de memoria de la variable a
Ejemplo:
#include <stdio.h>
void main (void)
{
int a,r; // declaramos dos enteros
float b; //declaramos un real char c, s[20]; // declaramos un carácter y una cadena
printf (“Introducir un entero, un real y un carácter : n”);
r=scanf (“%d %f %c”, &a, &b, &c);
printf (“Nº de datos leidos: %d“,r);
printf (“Datos leidos: %d %f %c“,a,b,c);
}
Lectura de cadenas
#include <stdio.h>
void main(void)
{
char nombre[20], apellido[20];
printf (“Introduce el nombre: “);
scanf (“%s”, nombre); //solo lee hasta el primer espacio en blanco// en una matriz ya pasamos la direccion
fflush (stdin);
printf (“nApellidos: “);
scanf ( "%[^n]",apellidos);
printf (“nnNombre y Apellidos: %s %s “,nombre,apellidos);
}
Si metemos en nombre: Juan Jose y en apellidos: Lopez Perez aparecera escrito Juan Lopez Perez
funcion getchar ( )
Lee un caracter de la entrada estandar .
Prototipo:
int getchar(void);
Devuelve:
El caracter leido o un EOF si se detecta el fin de fichero.
funcion putchar ( )
Escribe un caracter en la salida estandar .
Prototipo
int putchar(int c ); //recordar que un carácter es como un entero de 0..255
Devuelve
El caracter escrito o EOF si ocurre un error.
Parametros
c →→→caracter a imprimir.
funcion fflush (stdin)
Borra el buffer del teclado.
#include <stdio.h>
void main(void)
{
char carácter;
printf (“ Introduce caracteres y finalizar con Ctrl+Z (EOF)”);
carácter=getchar();
while (carácter != EOF)
{
putchar(carácter);
carácter=getchar();
}
}
pag. 13 operadores relacionales
[.precision]