Librerías del lenguaje C Las librerías estándar de C (también conocidas como libc) son una reco recopi pila laci ción ón de fcher fcheros os cabec cabecera era y libr librerí erías as con con rutin rutinas as que implementan operaciones comunes, como las de entrada salida o el tratamiento de cadenas ! di"erencia de otros lenguajes como C#$#L, %#&'&! %#&'&!,, o L*+, C no incorpora palabras clae para estas tareas, por lo que prácticamente todo programa implementado en C se basa en e n la librería estándar para "uncionar "uncionar
-ignifca -ignifca .standard .standard input/output header. (cabecera estandar 0*-), es en la libr librer ería ía está estánd ndar ar del del leng lengua uaje je de prog progra rama maci ción ón C el archio de cabecera que contiene las defniciones de macros, las constantes, las declaraciones de "unciones y la defnición de tipos usados por arias operaciones estándar de entrada y salida
ombre ombre %close %open,"reopen, %open,"reopen, "dopen &emoe &ename &e1ind tmpfle Clearerr,"eo", "error,2ush "getpos %getc %gets %putc %puts %tell %see3 %setpos %read %1rite getc 4etchar 4ets rint","print",
sprint", snprint" 5print" error utc utchar, "putchar -can", "scan", sscan" 6escripción Cierra un fchero a traés de su puntero !bre un fchero para lectura, para escritura*reescritura o para adición 0limina un fchero Cambia al fchero de nombre Crea y abre un fchero temporal que es borrado cuando cerramos con la "unción "close() 6euele la posición actual del fchero
6euele un carácter de un fchero Consigue una cadena de caracteres de un fchero 0scribe un carácter en un fchero 0scribe una cadena de caracteres en un fchero 6euele la posición actual del fchero como n7mero de bytes -it7a el puntero de un fchero en una posición aleatoria Cambia la posición actual de un fchero Lee di"erentes tama8os de datos de un fchero 6euele un carácter desde un fchero +gual que getc Lee caracteres de entrada hasta que encuentra un salto de línea, y los almacena en un 7nico argumento 9sados para imprimir salidas de datos 'ambién utili:ado para imprimir salidas 0scribe un mensaje de
error a stderr 6euele un carácter de un fchero +gual que putc(stdout) 9tili:ado para introducir entradas
6esarrollado en C en su práctica totalidad !sí que creo que no sólo no perdemos nada aprendiendolo sino que ganamos mucho ara empe:ar nos serirá como base para aprender C;; e introducirnos en el mundo de la programación
complicado o que sea rápido debemos recurrir a otros lenguajes (c;;, delphi,) eculiaridades de C 9na de las cosas importantes de C que debes recordar es que es Case -ensitie (sensible a las may7sculas o algo así) 0s decir que para C no es lo mismo escribir rint" que print" Coniene indicar también que las instrucciones se separan por .>. Compiladores de C 9n compilador es un programa que conierte nuestro código "uente en un programa ejecutable (?e imagino que la mayoría ya lo sabeís, pero más ale asegurar) 0l ordenador trabaja con @ y A -i escribiéramos un programa en el lenguaje del ordenador nos oleríamos locos ara eso están lenguajes como el C os permiten escribir un programa de manera que sea "ácil entenderlo por una persona Luego es el compilador el que se encarga de conertirlo al complicado idioma de un ordenador 0n la practica a la hora de crear un programa nosotros escribimos el código "uente, en nuestro caso en C, que normalmente será un
fchero de te=to normal y corriente que contiene las instrucciones de nuestro programa Luego se lo pasamos al compilador y este se encarga de conertirlo en un programa B -iguiendo la floso"ía de mi página los compiladores que usaremos serán gratuítos o recomiendo usar el 6D4 para ?-/6os y el 49 C para Linu= !mbos son compiladores de línea de comando así que necesitaremos también un editor para crear nuestros programas La solución más simple en ?-/6os puede ser usar el edit, en 1indo1s el notepad ero no son más que editores sin ninguna otra "uncionalidad #tra posibilidad es un entorno de desarrollo llamado &E+60, un programa muy 7til que automati:a muchas de las tareas del programador (del estilo del 'urbo C y 'urbo ascal) -i queremos una herramienta muy aan:ada podemos usar 0macs, que es un editor muy potente, aunque para algunos puede parecer muy complicado (alientes y a por ello) 0stos dos programas están disponibles tanto en Linu= como en ?-/6os El primer programa: Hola Mundo
0n un alarde de originalidad amos a hacer nuestro primer programaF hola mundo adie puede llegar muy lejos en el mundo de la programación sin haber empe:ado su carrera con este original y "uncional programa !llá aF #include int main() { /* Aquí va el cuerpo del programa */ printf( "Hola mundo\n" ); /* Eto imprime !ola mundo en pantalla */ return ;
0ste programa lo 7nico que hace es sacar por pantalla el mensajeF Eola mundo 5amos ahora a comentar el programa línea por línea (0sto no a a ser más que una primera apro=imación) Ginclude HstdiohI Ginclude es lo que se llama una directia -ire para indicar al compilador que incluya otro archio Cuando en compilador se encuentra con esta directia la sustituye por el archio indicado
0n este caso es el archio stdioh que es donde está defnida la "unción print", que eremos luego int main() 0s la "unción principal del programa 'odos los programas de C deben tener una "unción llamada main 0s la que primero se ejecuta 0l int (entero) que tiene al principio signifca que cuando la "unción main acabe deolerá un n7mero entero 0ste alor se suele
usar
para
saber
cómo
ha
terminado
el
prorama
ormalmente este alor será @ si todo ha ido bien, o un alor distinto si se ha producido alg7n error (pero esto J lo decidimos nosotros, ya lo eremos) 6e esta "orma si nuestro programa se ejecuta desde otro el programa KpadreK sabe como ha fnali:ado, si ha habido errores o no -e puede usar la defnición Koid main()K,
que
no necesita
deoler
ning7n
alor,
pero
se
recomienda la "orma con KintK que es más correcta ! lo largo de este curso erás muchos ejemplos que uso Koid mainK y "alta el return @> del fnal, el código "unciona correctamente pero puede dar un K1arningK al compilar 0n estos momentos estoy intentando corregir esto, pido perdón por la molestia
%íjate en el .>. del fnal 0s la "orma que se usa en C para separar una instrucción de otra -e pueden poner arias en la misma línea siempre que se separen por el punto y coma return @> Como he indicado antes el programa al fnali:ar deele un alor entero Como en este programa no se pueden producir errores (nunca digas nunca jamás) la salida siempre será @ La "orma de hacer que el programa deuela un @ es usando return 0sta línea signifca Kfnali:a la "unción main ha: que deuela un @ y cerramos llaes con lo que termina el programa 'odos los programas fnali:an cuando se llega al fnal de la "unción main,