Beruflich Dokumente
Kultur Dokumente
Ejemplos:
int a[100]; /* Un vector de 100 enteros */
float vx[4][4]; /* Matriz de 4x4 reales */
/* Recorrer un array */
int a[6];
for(i=0;i<6;i++) a[i]=0;
STRINGS (Cadena de caracteres)
- En C no existe el tipo STRING. Se utiliza en su lugar arrays de
caracteres de una dimensión (vector).
Ej: char hola[5];
- Toda cadena de caracteres debe acabar con el carácter \0 (nulo)
como último elemento del array.
Ej: hola[0] = 'h';
hola[1] = 'o';
hola[2] = 'l';
hola[3] = 'a';
hola[4] = '\0';
- Para trabajar con estas funciones, al comienzo del programa hay que
escribir : #include <string.h>
main() {
int i
i=0;
while (cadena[i]!='\0') {
i++;
}
printf (“LONGITUD %d \n”,i);
}
Ejemplo 2
#include <stdio.h>
#include <string.h>
main() {
int a;
float b;
char c;
b=65.0;
a=(int)b; /* a vale 65 */
{
int* puntero1;
int* puntero2;
int var;
puntero1 = &var;
puntero2 = &var;
*puntero1 = 50; /* mismo efecto que var=50 */
var = *puntero2 + 13; /* var=50+13 */
}
CUIDADO !!!: Si me modifica el contenido de un puntero no
inicializado, estaremos modificando cualquier posición de memoria.
Aritmética de Punteros
- Ej:
Ejemplo:
int* ptr;
int vector [100];
ptr = &vector[10];
for ( i=0; i<=10; i++ ) ptr[i] = 1; /* equivalente a *(ptr+i) = 1 */
- Definición:
tipo_devuelto nombre_funcion (parametros) { sentencias; }
int x=2,y=2;
reiniciar(&x,y);
/* x valdrá 0 e y 2 */
}
Funciones
Entrada/Salida BÁSICA
- Siempre hay que incluir la librería de entrada/salida:
#include <stdio.h>
- printf : Sirve para escribir por la salida estándar texto formateado.
Entrada/Salida BÁSICA
Entrada/Salida BÁSICA
Entrada/Salida BÁSICA
Formato avanzados: [0][-][ancho][.prec]
Formato Significado
%5d Entero decimal alineado a la derecha, ocupando cinco
espacios
%04u Entero sin signo ocupando cuatro espacios, y rellenando de
ceros a la izquierda si hace falta
%.2f Número real (doble precisión) con dos y sólo dos decimales
%5.3d Entero ocupando cinco espacios; aparecen tres cifras como
mínimo (se rellena de ceros)
printf ("\n[%-5d]", 47); visualiza [47°°°] printf ("\n[%05d]", 47); visualiza [00047]
printf ("\n[%5d]", 47); visualiza [°°°47] printf ("\n[%7.2f]", 12.342); visualiza [°°12.34]
Entrada/Salida BÁSICA
- scanf : Lee texto por el flujo stdin y lo almacena según las
especificaciones de ``formato''
Entrada/Salida BÁSICA
char str[82];
scanf(“%s”,str); /* Lee hasta un blanco o fin de línea. Máx 81 char!!.*/
Entrada/Salida BÁSICA
#include <stdio.h>
int main ()
{
char line[256]; /* ¿Suficientemente grande? */
while ( gets(line) != NULL) {
puts(line);
printf("\n"); /* Linea en blanco */
}
return 0;
}
Entrada/Salida de Caracteres
getchar(): Devuelve el carácter leído desde el teclado
int main ()
{
int ch;
return 0;
}
Pasa a mayúsculas los caracteres escritor por teclado hasta fin de fichero
(Ctrl-D al leer desde el teclado)
Entrada/Salida FICHEROS
- La biblioteca STDIO contiene funciones para trabajar con ficheros
#include <stdio.h>
- Ej:
FILE *fd; /* variable para apuntar al descriptor de fichero */
...
/* abre el fichero en modo lectura */
fd = fopen ( "pepe.txt", "r" );
Supongamos que queremos leer una línea del fichero notas.txt que
contiene un listado de notas de alumnos con el siguiente formato:
FILE *fich;
char nombre[10], apellido1[10], apellido2[10];
float nota1,nota2;
fich = fopen( "notas.txt", "r" );
fscanf( fich, "%s %s %s %f %f\n", nombre, apellido1, apellido2, ¬a1,
¬a2 );
FUNCIÓN PRINCIPAL: MAIN
#include <stdio.h>
#include <stdlib.h>