Thread View: es.comp.os.linux.programacion
13 messages
13 total messages
Started by Olaf "El Blanco"
Mon, 03 Oct 2005 10:28
Dennis y Brian... "El Lenguaje de Programaci�n C"
Author: Olaf "El Blanco"
Date: Mon, 03 Oct 2005 10:28
Date: Mon, 03 Oct 2005 10:28
27 lines
2303 bytes
2303 bytes
Estoy leyendo un libro muy famoso que se llama "El Lenguaje de Programaci�n C" de Brian Kernighan y Dennis Ritchie... con base en el ANSI C. Es un libro viejo, (2da edici�n) y me est� sirviendo para mis primeros pasos en c... Tambi�n tiene ejercicios... Explican temas y dan los ejercicios que con esa explicaci�n puedes realizar sin problemas (supongo) Pero ahora estoy sin poder hacer unos ejercicios... Porque me ense�aron putchar y getchar. Y hab�a ejercicios de entrar por teclado cualquier cosa y contar tabuladores, nuevas l�neas, etc... ya est�n echo, son f�ciles... Pero ahora hay ejercicios que dicen que escriba un programa que copie su entrada a la salida, reemplazando cada cadena de uno o mas blancos por un solo blanco... Pero en donde guardo la entrada? El getchar me guarda un solo car�cter verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando la entrada en alg�n lado para luego imprimirla con ese "formato". Estoy practicando con el editor vi y luego con el gcc, y tambi�n con el Turbo C en DOS... Y los compiladores me "recomiendan" que main debe devolver una funci�n... Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return... De antemano muchas Gracias.
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Gonzalo Pérez de Olaguer Córdoba
Date: Mon, 03 Oct 2005 12:51
Date: Mon, 03 Oct 2005 12:51
40 lines
2626 bytes
2626 bytes
Hola "Olaf \"El Blanco\"" <verseker@yahoo.no>
el Mon, 3 Oct 2005 12:28:40 +0200 escribiste:
> Pero ahora hay ejercicios que dicen que escriba un programa que copie su
> entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
> solo blanco...
> Pero en donde guardo la entrada? El getchar me guarda un solo carácter
> verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando
> la entrada en algún lado para luego imprimirla con ese "formato".
man fgets(3)
> Y los compiladores me "recomiendan" que main debe devolver una función...
No. Lo que se recomienda es que la función main devuelva un entero (int),
ya que el programa devolverá ese valor a quien lo ejecutó, y éste lo
utilizará para saber si el programa se ejecutó correctamente.
Los programas suelen devolver 0 si finalizaron correctamente, y algún
valor distinto de cero si se produjo algún error. Los valores concretos
que un programa devuelve y su significado se espera que estén detallados
en la documentación del programa.
man errno(3)
> Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
¿el primer ejemplo del libro no es algo así?
int main()
{
printf "Hello, World!\n";
return 0;
}
--
Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: Dennis y Brian... "El Lenguaje de Programaci�n C"
Author: Olaf "El Blanco"
Date: Mon, 03 Oct 2005 12:54
Date: Mon, 03 Oct 2005 12:54
49 lines
2798 bytes
2798 bytes
Gracias!!!
No, en el libro no hay declaraci�n entera de main y tampoco un return...
Debe ser porque es viejo...
Saludos!
"Gonzalo P�rez de Olaguer C�rdoba" <gpoc@iies.es> escribi� en el mensaje
news:20051003145104.7acf115e@petres.salonet.snet...
Hola "Olaf \"El Blanco\"" <verseker@yahoo.no>
el Mon, 3 Oct 2005 12:28:40 +0200 escribiste:
> Pero ahora hay ejercicios que dicen que escriba un programa que copie su
> entrada a la salida, reemplazando cada cadena de uno o mas blancos por un
> solo blanco...
> Pero en donde guardo la entrada? El getchar me guarda un solo car�cter
> verdad? Supongo que este ejercicio se debe hacer con scanf... e ir
> guardando
> la entrada en alg�n lado para luego imprimirla con ese "formato".
man fgets(3)
> Y los compiladores me "recomiendan" que main debe devolver una funci�n...
No. Lo que se recomienda es que la funci�n main devuelva un entero (int),
ya que el programa devolver� ese valor a quien lo ejecut�, y �ste lo
utilizar� para saber si el programa se ejecut� correctamente.
Los programas suelen devolver 0 si finalizaron correctamente, y alg�n
valor distinto de cero si se produjo alg�n error. Los valores concretos
que un programa devuelve y su significado se espera que est�n detallados
en la documentaci�n del programa.
man errno(3)
> Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return...
�el primer ejemplo del libro no es algo as�?
int main()
{
printf "Hello, World!\n";
return 0;
}
--
Gonzalo P�rez de Olaguer C�rdoba <gpoc@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Claudio
Date: Mon, 03 Oct 2005 19:06
Date: Mon, 03 Oct 2005 19:06
20 lines
1857 bytes
1857 bytes
On 2005-10-03, Olaf "El Blanco" <verseker@yahoo.no> wrote: > Gracias!!! > > No, en el libro no hay declaraci�n entera de main y tampoco un return... Cuando no se pone el valor que devuelve la funci�n, se sobreentiende siempre que es int. Cuando no se pone un return ni un exit se devuelve el valor de la �ltima funci�n ejecutada, creo recordar. Es mucho m�s com�n acabar el main() con exit que con return. > Debe ser porque es viejo... Supongo que sigue siendo 100% actual. Dudo mucho que se haya cambiado nada de lo que pone en ese libro. Lo que notar�s es que no aparecen los hilos (threads), los sockets, la memoria compartida, la red... Un saludo. --claduio--
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Zephryn Xirdal
Date: Mon, 03 Oct 2005 19:42
Date: Mon, 03 Oct 2005 19:42
39 lines
2629 bytes
2629 bytes
En Mon, 03 Oct 2005 21:06:35 +0200, Claudio <claudio@example.org> escribi�: > On 2005-10-03, Olaf "El Blanco" <verseker@yahoo.no> wrote: >> Gracias!!! >> >> No, en el libro no hay declaraci�n entera de main y tampoco un return... > > Cuando no se pone el valor que devuelve la funci�n, se sobreentiende > siempre que es int. > > Cuando no se pone un return ni un exit se devuelve el valor de la �ltima > funci�n ejecutada, creo recordar. Es mucho m�s com�n acabar el main() > con exit que con return. > >> Debe ser porque es viejo... > > Supongo que sigue siendo 100% actual. Dudo mucho que se haya cambiado > nada de lo que pone en ese libro. Lo que notar�s es que no aparecen los > hilos (threads), los sockets, la memoria compartida, la red... > > Un saludo. > --claduio-- > S� que ha cambiado, y mucho. La declaraci�n de funciones ya no se hace as�. Existen macros con paso variable de par�metros. Y un mont�n de cosas m�s que ahora no recuerdo (siempre respecto a lo que es la definci�n del lenguaje). Ten en cuenta que el est�ndar actual se conoce como C99, y el de ese libro como K&R. -- Nada se tiene mientras no viene; y cuando viene, tampoco se detiene. -- San Agust�n. (354-439) Obispo, fil�sofo y Padre de la Iglesia Latina. ================================================================================== Powered by zxFortunes - It's free - http://sourceforge.net/projects/zxfortune
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Iván Sánchez Ortega
Date: Mon, 03 Oct 2005 20:36
Date: Mon, 03 Oct 2005 20:36
38 lines
2496 bytes
2496 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Olaf "El Blanco" dixit: > Estoy leyendo un libro muy famoso que se llama > "El Lenguaje de Programaci�n C" de Brian Kernighan y Dennis Ritchie... Hhhmmm... te equivocas en el topic. No son "Dennis y Brian", sino "Kernighan & Ritchie"*. Famosos por haber conseguido, con ese mismo libro, popularizar el estilo "K&R" de indentaci�n de c�digo (que personalmente, no me gusta). V�ase: http://en.wikipedia.org/wiki/Indent_style Ale, castigado a escribir 100 veces en la pizarra "Kernighan & Ritchie" :-P * Un saludo a mi amigo Chernando y a su peluche Richi. - -- - ---------------------------------- Iv�n S�nchez Ortega -ivansanchez-arroba-escomposlinux-punto-org http://acm.asoc.fi.upm.es/~mr/ Proudly running Debian Linux with 2.6.11-1-k7 kernel, KDE3.4.0, and PHP 5.0.4-0.10 generating this signature. Uptime: 22:32:03 up 22:07, 2 users, load average: 0.51, 0.90, 0.81 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFDQZZTR56dWuhgxGgRAo0yAJ91vyD+w+dKrXcBtP0zUEyRIPoZMgCguY4q eV7/B6MWfzVfmvJn1pxs5IU= =VvnJ -----END PGP SIGNATURE-----
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Jesús M. NAVARRO
Date: Mon, 03 Oct 2005 20:44
Date: Mon, 03 Oct 2005 20:44
21 lines
1702 bytes
1702 bytes
Hola, Olaf: Olaf "El Blanco" escribi� en es.comp.os.linux.programacion: > Estoy leyendo un libro muy famoso que se llama > "El Lenguaje de Programaci�n C" de Brian Kernighan y Dennis Ritchie... con > base en el ANSI C. > Es un libro viejo, (2da edici�n) No es viejo, sino cl�sico. > y me est� sirviendo para mis primeros > pasos en c... Mal hecho. El K&R es, b�sicamente, un texto de referencia del lenguaje (de cuando se public�, adem�s), pero no es un buen libro para el aprendizaje del mismo. Te dir�a que te buscases alg�n otro texto m�s adecuado (en cualquier librer�a t�cnica los encontrar�s a patadas). -- SALUD, Jes�
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Claudio
Date: Mon, 03 Oct 2005 21:48
Date: Mon, 03 Oct 2005 21:48
40 lines
2648 bytes
2648 bytes
On 2005-10-03, Zephryn Xirdal <zephryn.xirdal@quitame.gmail.com> wrote: > En Mon, 03 Oct 2005 21:06:35 +0200, Claudio <claudio@example.org> escribi�: > >> On 2005-10-03, Olaf "El Blanco" <verseker@yahoo.no> wrote: >>> Gracias!!! >>> >>> No, en el libro no hay declaraci�n entera de main y tampoco un return... >> >> Cuando no se pone el valor que devuelve la funci�n, se sobreentiende >> siempre que es int. >> >> Cuando no se pone un return ni un exit se devuelve el valor de la �ltima >> funci�n ejecutada, creo recordar. Es mucho m�s com�n acabar el main() >> con exit que con return. >> >>> Debe ser porque es viejo... >> >> Supongo que sigue siendo 100% actual. Dudo mucho que se haya cambiado >> nada de lo que pone en ese libro. Lo que notar�s es que no aparecen los >> hilos (threads), los sockets, la memoria compartida, la red... >> >> Un saludo. >> --claduio-- >> > S� que ha cambiado, y mucho. > > La declaraci�n de funciones ya no se hace as�. Verd�, verd�... se me hab�a olvidado eso. > Existen macros con paso variable de par�metros. > Y un mont�n de cosas m�s que ahora no recuerdo (siempre respecto a lo que > es la definci�n del lenguaje). Pero estas cosas que cuentas son a�adidos. A lo que me refer�a es que el mismo fork que funcionaba en el K&R sigue funcionando ahora. Espero no haberme expresado mal del todo. Un saludo. --claudio--
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Claudio
Date: Mon, 03 Oct 2005 21:50
Date: Mon, 03 Oct 2005 21:50
24 lines
1907 bytes
1907 bytes
On 2005-10-03, Jes�s M NAVARRO <jmnavarrol@able.es> wrote: > Hola, Olaf: > > Olaf "El Blanco" escribi� en es.comp.os.linux.programacion: > >> Estoy leyendo un libro muy famoso que se llama >> "El Lenguaje de Programaci�n C" de Brian Kernighan y Dennis Ritchie... con >> base en el ANSI C. >> Es un libro viejo, (2da edici�n) > > No es viejo, sino cl�sico. > >> y me est� sirviendo para mis primeros >> pasos en c... > > Mal hecho. El K&R es, b�sicamente, un texto de referencia del lenguaje (de > cuando se public�, adem�s), pero no es un buen libro para el aprendizaje > del mismo. Yo solo se lo recomendar�a a alguien que ya sabe programar con soltura y quiere aprenderse la filosof�a del lenguaje en unas pocas horas/minutos. Un saludo. --claudio--
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Javier M Mora (jamarier)
Date: Mon, 03 Oct 2005 23:09
Date: Mon, 03 Oct 2005 23:09
78 lines
3579 bytes
3579 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Olaf "El Blanco" escribi�: > Estoy leyendo un libro muy famoso que se llama > "El Lenguaje de Programaci�n C" de Brian Kernighan y Dennis Ritchie... con > base en el ANSI C. > Es un libro viejo, (2da edici�n) y me est� sirviendo para mis primeros pasos > en c... Abundando en lo que ya han dicho por el hilo. Ese libro no es lo mejor que puedes encontrar para aprender a programar en C. Creo que hay uno disponible libremente por la red llamado "Thinking in C" que puede ser m�s did�ctico que este (que es una descripci�n de C). > Tambi�n tiene ejercicios... Explican temas y dan los ejercicios que con esa > explicaci�n puedes realizar sin problemas (supongo) > > Pero ahora estoy sin poder hacer unos ejercicios... > > Porque me ense�aron putchar y getchar. [...] > Pero ahora hay ejercicios que dicen que escriba un programa que copie su > entrada a la salida, reemplazando cada cadena de uno o mas blancos por un > solo blanco... > Pero en donde guardo la entrada? El getchar me guarda un solo car�cter > verdad? Supongo que este ejercicio se debe hacer con scanf... e ir guardando > la entrada en alg�n lado para luego imprimirla con ese "formato". No, no hace falta scanf para nada. Lo �nico que tienes que hacer es almacenar la �ltima letra leida. Te lo voy a poner en "Pseudoc�digo" para no quitarte la diversi�n de escribirlo en C ;-) caracter actual,siguiente; actual <- leecaracter(); mientras(no sea el final del fichero) siguiente <- leecaracter (); si (actual no es espacio o siguiente no es espacio) imprime actual actual <- siguiente la condici�n est� algo simplificada, la original era (actual no es espacio o (actual es espacio y siguiente no es espacio)). Pero la que he puesto es equivalente. Hala, a divertirse. atte. javier m mora. > > Estoy practicando con el editor vi y luego con el gcc, y tambi�n con el > Turbo C en DOS... > > Y los compiladores me "recomiendan" que main debe devolver una funci�n... > Pero en el libro este (ANSI C) nunca ponen un ejemplo con el return... > > De antemano muchas Gracias. > > > - -- Javier Maria Mora Merchan (GPGP) Key ID: 0x794F3D83 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFDQbpcpRHCj3lPPYMRAukBAJ4j02pNh6y9KTirbijkVi3yMMx9DQCggKWf oROYv2gBESj9SnFyZ+lmm1g= =ie4Q -----END PGP SIGNATURE-----
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Javier M Mora (jamarier)
Date: Tue, 04 Oct 2005 09:39
Date: Tue, 04 Oct 2005 09:39
33 lines
2098 bytes
2098 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Javier M Mora (jamarier) escribi�: > > caracter actual,siguiente; > > actual <- leecaracter(); > mientras(no sea el final del fichero) > siguiente <- leecaracter (); > si (actual no es espacio o siguiente no es espacio) > imprime actual > actual <- siguiente > Con este esquema se come el �ltimo caracter del fichero. Dejo como otro ejercicio m�s (que por ejercitar no quede), la impresi�n del �ltimo caracter del fichero (si procede). atte. javier m mora - -- Javier Maria Mora Merchan (GPGP) Key ID: 0x794F3D83 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFDQk3ipRHCj3lPPYMRAp7TAKC2b0aIMiOkC8A2EFSnLnYdbG3nkwCeJS7C UDuT51VaH84CnbXiyjTz4Jw= =IddX -----END PGP SIGNATURE-----
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: Piojo
Date: Tue, 11 Oct 2005 22:02
Date: Tue, 11 Oct 2005 22:02
33 lines
1818 bytes
1818 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gonzalo P�rez de Olaguer C�rdoba dijo:
> �el primer ejemplo del libro no es algo as�?
>
> int main()
> {
> printf "Hello, World!\n";
> return 0;
> }
>
No. Es as� (copio y pego):
#include <stdio.h>
main()
{
printf("hello, world\n");
}
La 2� edici�n es de mediados de los 80, y la definici�n de main como
funci�n "int" es algo m�s reciente.
Salu2.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFDTDZkgs8IMijuYjURAi7KAJ44l1/VRthFqBUTiOOYPJKx05ilgwCgj1Eu
T8bKoJfy7rkbCCWpProvQj8=
=JSYw
-----END PGP SIGNATURE-----
Re: Dennis y Brian... "El Lenguaje de Programación C"
Author: forodejazz
Date: Mon, 17 Oct 2005 06:54
Date: Mon, 17 Oct 2005 06:54
38 lines
2462 bytes
2462 bytes
Olaf "El Blanco" wrote: > Estoy leyendo un libro muy famoso que se llama > "El Lenguaje de Programación C" de Brian Kernighan y Dennis Ritchie... con > base en el ANSI C. Como ya te han dicho, probablemente no sea el libro más adecuado para empezar. No es muy didáctico que digamos... Te recomiendo un libro que han publicado los profesores de informática de la universidad Jaume I. Te lo puedes descargar de aquí: http://marmota.act.uji.es/MTP/pdf/c.pdf Yo empecé a estudiar el K&R, pero cuando encontré éste, me pareció muy bueno. Lo explican todo paso a paso. Me encanta. Una buena estrategia es empollarte el libro de la Jaume I primero y luego repasar y tratar de hacer los ejercicios del K&R. > Es un libro viejo, (2da edición) y me está sirviendo para mis primeros pasos > en c... Es un clásico de la literatura informática :-) Han cambiado algunas cosillas desde su publicación. La versión de C que describe es la ANSI 89 (c89) y hay una revisión posterior del estándar (c99). De todas formas, si compilas con gcc y le pasas la opción -Wall, el compilador te avisará si estás utilizando características "anticuadas" del lenguaje. Saludos. -- David.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads