[C con Clase] Lenguaje C
FEDERICOLUNA@terra.es
federicoluna en terra.es
Mie Nov 29 20:36:45 CET 2006
Hola, es mi primer correo a la lista, y creo que va a ser un poquillo
largo, espero no abusar de su buena disposición para ayudar.
He programado durante muchos años (más de 15 años) pasando por BASIC,
COBOL, DBASE, CLIPPER, FOXPRO hasta llegar a VISUAL BASIC; hace 6 años
que no programo casi nada, sólo tonterías en access; por el trabajo en
el que estoy. Como he mencionado el último lenguaje con el que progrmé
ha sido Visual basic 6.0 manejando un poco la API de Windows. Ahora me
estoy metiendo con C y estoy comenzando desde abajo partiendo por C
estandar, para luego pasar a C++. Quiero mencionar que me gusta mucho
programar, y quiero aprender C y profundizar en él, para mi no hay
mayor satisfacción que ver que tu trabajo y tus esfuerzos dan sus
frutos, que tus programas funcionan, que sirven a los demás, y que son
utilizados por otros, tanto empresas como personas naturales.
Agradedería que me contestaran a las estas preguntas:
1.- Según tengo entendido C es un lenguaje de alto nivel muy potente y
con funciones de bajo nivel que sirve, entre otras cosas, para el
desarrollo de sistemas operativos, Bases de datos, etc. pero no
entiendo una cosa: UNIX está desarrollado en C y he visto que C
estándar tiene unas cuantas librerías de funciones y un repertorio de
instrucciones no muy amplio y la verdad es que mirando un poco por
encima no he encontrado nada como para acceder, por ejemplo, al número
de serie de la BIOS o a la fecha de la BIOS, por mencionar algo. Lo
mismo, muchas de las librerías de funciones de la API de windows están
construidas en C.
¿Donde se puede encontrar más librerías de C?; ¿se accede a este tipo
de información a través de los registros?. ¿se mezcla C con ensamblador
para programar funciones de bajo nivel?, ¿dónde está la potencia de C?;
¿de donde se puede obtener una referencia completa de las librerías de
funciones existentes para C?. ¿Existe alguna catalogación por
categorías de las librerías de C? Ya sé que por ejemplo Borland tiene
sus propias librerías de funciones con muchas de ellas para manejo de
dispositivos, puertos, etc, ¿estan desarrolladas estas librerías en C?
¿con que instrucciones? ¿la fuerza de C está en el manejo de punteros?
2.- Dentro de lo poco que llevo con C he tocado las funciones scanf y
printf, en ambas se puede indicar una longitud de campo para el dato
que se va a trabajar, pero en printf da igual si se pone o no, porque
no le hace ni caso, estoy probando los ejemplos que hago con Turbo C++
4.5, Dev-C++ y Visual C++ 6.0 y me hace lo mismo, entonces para que hay
opciones que no son necesarias o es que la función la copiaron de scanf
y se olvidaron de quitarle esta opción?
3.- Lo mismo en la función scanf si se pone un espacio en blanco antes
de la primera cadena de control se supone que evita la asignación de
caracteres extraños introducidos anteriormente, pero tampoco me
funciona, si pongo 2 instrucciones scanf seguidas una tras otra y en la
primera escribo más caractéres de los que se han determinado como
longitud de campo, los caracteres restantes se insertan como primeros
en la siguiente instrucción scanf, a pesar de que esta última comienza
con un espacio en blanco.
4.- Estoy estudiando C estándar de un libro universitario de la
colección Schaum; se llama programación en C y es de un tal Byron
Gottfried, el libro no está mal. he pensado que después de este libro
compraré Estructuras en C de Luis Joyanes, también de shaum,
(entiendo que las estructuras son el punto de partida para la
programación orientada a objetos); pero ya me encontré con otro libro
del mismo autor y de la misma colección que se llama Algoritmos y
Estructurass en C y además, si no me equivoco, hay otro solamente
dedicado a algoritmos; ya no sé que camino seguir para realizar un
estudio completo y profundo de C antes de pasar a C++.
Un agradecimiento a todos los colaboradores de la lista que tienen la
paciencia de leer nuestros correos y sobre todo de hacernos caso y
contestarnos.
Gracias de antemano.
Federico Luna
Prueba el correo Terra ( http://www.terra.es/correo ); Seguro, rápido, fiable.
Más información sobre la lista de distribución Cconclase