[TUTORIAL] Programando en C

1, 2, 3, 4, 59
Este tema no está en su correspondiente, e inexistente, subforo.
Carece de utilidad en este sitio, y no considero que, dada la atención que se nos ha dado a los que reclamamos una sección de programación en EOL, merezca seguir estando aquí.

Si a alguien le sigue interesando, tengo gran parte en PDF, y quizás algún día saque una versión revisada y corregida.

Sin más, saludos y disculpas a todos los usuarios, pagamos justos por pecadores.
Muy bueno, sigue así, yo hace un tiempo estudie C, pero
por no usarlo a diario y demás... Lo acabas olvidando Por desgracia.

Saludos
:O pedazo tuto, que currado se entiende a la perfeccion para gente que no entendia del tema, como yo.
Muchas gracias XD
Gracias,voy a suscribirme al hilo para estar al loro,te mando un mp con un par de dudas para no manchar el hilo de respuestas absurdas.
Muy bueno a muchos nos va a ayudar, yo vengo de otros lenguajes y hace tiempo le traigo ganas al C.

Ojala y puedas tener tiempo y ganas de finalizar el curso y no se quede a la mitad.

Gracias de nuevo, estare muy al pendiente del curso
a favoritos que va!! muy util =)
Siempre quise aprender pero nunca me hacía el ánimo, a ver si por fin me entero de algo XD

Buen post, sigue así!
Padrisimo el tutorial muy bien explicado sigue asi mi hermano
una cosa, los valores de long int estan bien? porque son iguales a los de int, ojala siga adelante esto que siempre me pongo y lo termino dejando, esta vez prometo aprender gracias a ti compañero =) te mereces una cerbecita [beer] [beer]
blipi escribió:Veremos a continuación los nombres "signed" y "unsigned", luego explicaremos que significa cada uno
char -> caracteres o números pequeños enteros
signed: -128 to 127
unsigned: 0 to 255

short int (short) -> variable numéricas enteros
signed: -32768 to 32767
unsigned: 0 to 65535

int -> variables numéricas
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295

long int (long) -> variables numéricas enteros
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295


Ese ejemplo no tiene mucho más a decir, asi que, proseguimos a explicar que es eso de "signed" y "unsigned" que ponía allí. Para aquellos que no lo hagáis deducido ya, la diferencia es muy simple, las variables "signed" no pueden contener valores negativos, y los "unsigned" pueden contener valores negativos y positivos.


¿Está equivocado el ejemplo o la explicación? Ya que si signed no puede contener negativos, en el ejemplo lo has puesto al revés, no?

Muchas gracias por el tutorial Blipi, me parece una labor estupenda por tu parte, ya conozco algún que otro lenguaje de programación y siempre me apetecía aprender algo de C. Lo seguiré con atención.

[beer]
"signed", como dice su nombre, es para valores numericos con signo, positivos y negativos.

Nota: Una variable long, en una maquina de 64 bits, es equivalente a un "long long" en vez de a un "int", y por tanto puede almacenar valores mucho mas grandes.
Este tipo de post son los que se echan en falta. Se que nadie tiene la obligacion, pero la gente que sabe, podía ayudarnos con tutoriales como hace las cosas como programar, como investiga el hardware de las consolas o como se hace ingeniería inversa.

Por ejemplo Hermes, me encantaria que me leyeses, no te estoy diciendo nada con esto, pero enseñando a la comunidad nos podemos ayudar todos mutuamente.

un saludo y mil gracias por el tuto de C. Por el momento esto me lo se ;)
Wow blipi, muy buen tutorial, si kieres te hecho una mano, mientras no profundices mucho en el sdk de ps3 te puedo ayudar xD
@Dandy2k10
Sí perdón, respecto al signed y al unsigned se me fue la mano en la explicación, ahora lo cambio.

@Waninkoko
Gracias por la nota, ya ni yo me acordaba de eso =P Cuando pueda lo añadiré, gracias!

¡Y bueno, en general, gracias a todos por los comentarios! Voy a seguir explicando un poco más.
blipi escribió:@Dandy2k10
Sí perdón, respecto al signed y al unsigned se me fue la mano en la explicación, ahora lo cambio.

@Waninkoko
Gracias por la nota, ya ni yo me acordaba de eso =P Cuando pueda lo añadiré, gracias!

¡Y bueno, en general, gracias a todos por los comentarios! Voy a seguir explicando un poco más.


Gracias a ti y ánimo blipi que sepas que se valora lo que estas haciendo y hay gente interesada en ello!

[plas] [plas] [plas]
Animo con el tutorial y muchas gracias por dedicar tu tiempo a los que estamos interesados [bye]

Un saludo
Otro que se apunta al tutorial, en mis tiempos no se me daba mal la programación en C aunque hace 10 años que no lo toco (casi como empezar de cero).
Muy buena iniciativa, de esta manera podremos ser conscientes de lo que cuesta hacer las cosas y seremos más comprensivos con los sceners.
mira, la primera persona que ha tomado la iniciativa de mi hilo XD
Muchas gracias y salu2 [sonrisa]
GRANDE :) Valoro positivamente SL2
Es una buena iniciativa, pero no lo veo en Scene ;)
pioner escribió:Es una buena iniciativa, pero no lo veo en Scene ;)

es para contribuir a la scene XD
Por fin un post muy util de los que no se ven desde hace tiempo, acorde a la sección del foro. :)
Lo seguiré de cerca porque me gusta el mundillo de la programación, eso si sin agobios y a mi ritmo como tiene que ser.
Sería interesa que añadieses al tutorial diferencias entre C y C++ para que sirve cada uno con algún ejemplo y también puede parecer tonto pero deberías de mencionar que herramientas son necesarias para programar y compilar las aplicaciones que desarollemos en pc más adelante.

Saludos
pioner escribió:Es una buena iniciativa, pero no lo veo en Scene ;)


1. En este foro no hay ninguna sección de programación
2. La petición fue echa aquí
3. Es una contribución a la scene
4. Ayudará que salga más homebrew espero.
5. Cuando esté un poco más acabado el tema C, el tuto irá enfocado a programación en SDK/PSL1GHT si nadie se anima antes claro

¿Más razones?

@GrimFandango
Anoto tu sugerencia respecto a diferencia.
Herramientas y más ya tenía pensado hacerlo, pero de momento, como no he puesto ningún programa de ejemplo, no me he tomado la molestia
El tutorial de momento está enfocado a C en general, claro que sirve perfectamente para PC como para homebrew, más tarde ya irá enfocado a homebrew
Gracias por las sugerencias.
Ya me he leido esta primera parte y esta perfectamente explicada [oki]
Tiempo al tiempo lo importante es que la gente se empape bien de C y nociones basicas ,luego ya se trasteará con el SDK para desarollar hombrew y compilarlas. No va a ser un camino de rosas como muchos quizás piensen jeje.
Muchas gracias por el tuto. Aportaciones así son las que merecen la pena, y hacen grande EOL.

Lo dicho, thanx!! [beer] [beer]
blipi escribió:
pioner escribió:Es una buena iniciativa, pero no lo veo en Scene ;)


1. En este foro no hay ninguna sección de programación
2. La petición fue echa aquí
3. Es una contribución a la scene
4. Ayudará que salga más homebrew espero.
5. Cuando esté un poco más acabado el tema C, el tuto irá enfocado a programación en SDK/PSL1GHT si nadie se anima antes claro

¿Más razones?

@GrimFandango
Anoto tu sugerencia respecto a diferencia.
Herramientas y más ya tenía pensado hacerlo, pero de momento, como no he puesto ningún programa de ejemplo, no me he tomado la molestia
El tutorial de momento está enfocado a C en general, claro que sirve perfectamente para PC como para homebrew, más tarde ya irá enfocado a homebrew
Gracias por las sugerencias.


Bueno, yo no se si es éste el lugar del foto pero tampoco es una discursión en la que quiera entrar. Desde luego que la iniciativa está muy bien y puede que hecha con mucha ilusión, pero creo que ya existen innumerables lugares más apropiados que éste para enseñar a programar. Quiero decir, vale, ahora se está empezando el tutorial y se lleva poco, pero en el momento en el que se empiece con más cosas (llamemos más cosas a punteros, funciones, manejo de memoria física, orientación a objetos y no a otras cosas que necesitan más recorrido y que son necesarias)... habrá una gran cantidad de información que ni mucho menos estará organizada en un foro. No estoy despreciendo la iniciativa, es más, me parece que puede alimentar la SCENE, pero de ahí a que éste sea el sitio correcto, pues no. Quizá en la WIKI o en otro sitio, pero un foro es el lugar menos adecuado para enseñar algo que es medianamente complejo y que no se aprende en dos días.

Aquí os dejo algunos enlaces para los interesados en aprender:

Tutorial de C/C++ --> http://c.conclase.net/
IDE y compilador de dicho lenguaje --> http://www.eclipse.org/downloads/
Otro IDE + Compilador (Solo 32 bits) --> http://sourceforge.net/projects/dev-cpp ... e/download
GUIA de sintaxis de C ANSI --> http://www.ci.ulsa.mx/cibernetica/pdf/sintax_cpp.pdf

En caso de que os animéis a continuar con ésto puedo colaborar si alguien lo cree necesario. Un saludo.
blipi escribió:
pioner escribió:Es una buena iniciativa, pero no lo veo en Scene ;)


1. En este foro no hay ninguna sección de programación
2. La petición fue echa aquí
3. Es una contribución a la scene
4. Ayudará que salga más homebrew espero.
5. Cuando esté un poco más acabado el tema C, el tuto irá enfocado a programación en SDK/PSL1GHT si nadie se anima antes claro

¿Más razones?

@GrimFandango
Anoto tu sugerencia respecto a diferencia.
Herramientas y más ya tenía pensado hacerlo, pero de momento, como no he puesto ningún programa de ejemplo, no me he tomado la molestia
El tutorial de momento está enfocado a C en general, claro que sirve perfectamente para PC como para homebrew, más tarde ya irá enfocado a homebrew
Gracias por las sugerencias.

Yo de C estoy aprendiendo lo mas basico, desde esto que has posteado por ahora, hasta punteros, matrices y vectores... pero creo que me serviria muchisimo la programacion enfocada a SDK/PS1LiGHT. Estare atento a este post, aunque yo haya actualizado, pero como nadie sabe si en un futuro podremos firmar nuestras aplicaciones ...
Saludos
Buen curro, mi enhorabuena!!!
Yo tengo ciertas nociones de C, pero lo de orientarlo a homebrew va a hacer que esté en mis favoritos!!!
@Adelaiglesia, y quien se siente eludido xd

Si, tenía pensado moverlo a la wiki, por esto tu tranquilo.
En cuanto a complicarse... hombre, mucho no se complica tampoco C.
Orientado a objetos, va a ser que no es C, en todo caso seria C++. Lo único que puede llegar a complicarse el el tema punteros y memoria, porque si no se entiende, puede ser un poco desastre.

Y en un foro, te juro que se puede entender. Este es mi segundo tutorial sobre programar en C, y anteriormente hizo uno sobre como crear DLL orientadas al hacking de juegos online. Es mas, tengo otro donde explicaba el D3D (Direct 3D, de DirectX) y como crear un menú con este. Asi como alguna chorrada con OpenGl. Solo para destacarte alguno de los que tenía hace un tiempo por hay.
Y por supuesto, todos ellos explicados en foros xd

Si queréis y lo preferís, monto una wiki en un server gratuito, y lo voy posteando allí, por mi no habría problema, pero creo que entonces se me tacharía de spamer por postear links a "mi web". La wiki de eol está bien, pero con todos mis respectos, no se que sería más caos, si meter el tema allí, que hay miles de temas mezclados, o dejarlo en el foro.

Yo aprendí a programar mirando ejemplos, y leyéndome guías de foros. Odio esas webs cutres online, donde te dejan un pedazo de texto, en un fondo cutre, que en algunos casos acabas hasta con los ojos llorando de leer eso, te sueltan la parrafada de código, y apáñetelas como puedas.

Insisto en que esta es mi opinión, y que si no estáis de acuerdo, mientras no me lo diga un Mod, lo vuestro sigue también siendo otra opinión xd
Si lo he hecho no es por que tenga unas ganas irresistibles de hacerlo, comprenderás que para mi, escribir una guía como esta, no son precisamente 5 minutos. Lo he echo porqué más de una persona lo pidió, porque vi que la gente tenía ganas de aprender, y, quizás yo no soy el que sabe más de C ni mucho menos, pues casi en mi vida he tocado el C, sino el C++, pero a diferencia de otros, he decidido ayudar y colaborar, porqué me gusta ver como la gente aprende, y si esto además ayuda a que se creen homebrews o aplicaciones, por más pequeñas o simples que sean, no sabes la ilusión que me haría.

Así pues, si alguien más quiere debatir mi posición, estoy abierto a ello y no tengo problemas en hacerlo, pero hasta que no haya una razón de peso para dejar de ayudar a la comunidad, yo seguiré ayudando =)
Gracias, lo aprovechare!
Muchisimas gracias, mil veces he intentado aprender c, y siermpre desisto porque no comprendo las cosas, por muchos ejemplos que encuentro en tutorial( que si ponen ejemplos, pero no entendidos por ignorantillos como yo) pero a ti se te entiende como un libro abierto, me he dado cuenta para que servian las cosas que mil veces he leido sin encontrarle sentido
Espero que cuando continues tu tutorial sigua siendo aqui, ya que me resulta facil preguntar cualquier duda, aunque realmente no tengo ninguna
Se agradece el esfuerzo y estaré atento al hilo, siempre he querido iniciarme en el mundo de C.

Un saludo!!
mas informacion de programacion en c
http://webpages.ull.es/users/fsande/tal ... /index.htm

gracias por el tuto sigue poniendo mas cosas en el tuto ,para los que no sabemos ir metiendonos en el mundillo.
Muchas gracias por el tutorial, ojalá me lo hubiesen explicado así en la universidad cuando hice Introducción a los Ordenadores... Lo bien que me hubiese venido!
No seria mas apropiado java?
jordigo escribió:Muchas gracias por el tutorial, ojalá me lo hubiesen explicado así en la universidad cuando hice Introducción a los Ordenadores... Lo bien que me hubiese venido!


Yo hice un modulo superior de programacion, luego una ingenieria en la universidad y la programación siendo la "misma" lo explicaban como el culo.

Buen aporte blipi.
Muchas gracias, queria empezar a estudiar c y c++ por internet. estare atento a este hilo..

[bye]
Oren_Hishii escribió:No seria mas apropiado java?

Java? porque Java... la mayoría de las aplicaciones que se hacen para la Scene, están escritas en C y C++

saludos
Muchas gracias m elo he leido y me he enterado de bastante xD
Me lo pongo en marcadores y lo seguiré
Hace tiempo que buscaba un hilo de este tipo, muchas gracias! :)
hola!

Ante todo, muchísimas gracias por el tutorial!

Una pregunta, tengo un Mac, y el PC no me funciona, algún programa para el Mac? Me he bajado el "Realbasic".

un saludo y gracias de nuevo!
AzagraMac escribió:
Oren_Hishii escribió:No seria mas apropiado java?

Java? porque Java... la mayoría de las aplicaciones que se hacen para la Scene, están escritas en C y C++

saludos

De C problemas no tengo porque estoy estudiándolo en la universidad, y por ahora domino desde el principio hasta cadenas de caracteres sin problema alguno (ya he hecho mi primer snake y mi primer pong en C :)). Me faltan ficheros y recursividad y se acabó. Pero tampoco se ni C++ (eso lo daré en 2º de carrera) ni como orientar C a la programación en PS3, así que me gustaría saber de qué se encargan respectivamente C y C++ en un homebrew en ps3, porque me parece que C gestionar interfaz gráfica... mucha no, eh.
vamosajugar escribió:hola!

Ante todo, muchísimas gracias por el tutorial!

Una pregunta, tengo un Mac, y el PC no me funciona, algún programa para el Mac? Me he bajado el "Realbasic".

un saludo y gracias de nuevo!


Eclipse para C/C++: http://www.eclipse.org/downloads/

También es recomendable que tengáis el libro "El Lenguaje de Programación C, Kernighan y Ritchie", manual esencial para todo programador en C
@vamosajugar
Vaya, parece que se me ha adelantado Adelaiglesia ejej, mirate el suyo que es más útil que lo que te digo yo =P
realmente nunca he programado en un MAC, pero no hay ningún problema, simplemente busca, en google mismo, editor C MAC, o algo por el estilo y seguro que encontrarás cosas

@BSTCloud
Todo el tema de gráficos está incluido en la SDK (tanto oficial como scene) y vienen programadas en C y con soporte para C++. Para ponerte un ejemplo fácil, que quizás alguna vez hallas hecho y todo:
Alguna vez has editado el texto que se muestra en una consola mediante punteros de memoria? Tu tienes un buffer, es decir una gran array, que contiene cada uno de los pixeles de la pantalla, en este formato: y*ancho+x. Simplemente, sobrescribes ese pixel por el que tu quieras, y ya tienes los gráficos. Claro que, hoy en día y gracias a Hermes, tenemos la bonita y super útil librería Tiny3D que lo hace todo por ti. Su funcionamiento es el mismo que el de cualquier SDK de 3D o 2D como podrían ser Direct3D o OpenGL, mas parecido quizás a ++este último.
Si quieres, tengo por hay un ejemplo de lo que te he dicho del buffer, uno hecho con ASM para windows, y otro ejemplo que se utiliza para PS3.

Orientar la programación a homwbrew PS3 es, básicamente, una cuestión de mirarte los ejemplos que vienen con la SDK, pero claro está, que para poder entender algo, tu nivel de C debe ser un poco alto. No hay ningún patrón que te diga como actuar delante de una PS3, pues es todo un mundo con muchas posibilidades aun, pero a base de mirar ejemplos y probar, es como se consigue prosperar.

@topic
ya que Adelaiglesia ha comentado lo del libro, a mi me gustaría recomendar otro:
Programación en C++ (2a Edición) - de Luis Joyanes Aguilar, editorial Mc Graw Hill
Es de C++, no C, pero los cambios no son muy significativos, te acostumbras rápido a C si has hecho C++. Está muy completo y va desde los niveles más esenciales hasta complicarse mucho.
Alerta para navegantes: El libro es tocho, tiene 847 páginas, así, si os lo vais a mirar, hacedlo a conciencia.
blipi escribió:@vamosajugar
Vaya, parece que se me ha adelantado Adelaiglesia ejej, mirate el suyo que es más útil que lo que te digo yo =P
realmente nunca he programado en un MAC, pero no hay ningún problema, simplemente busca, en google mismo, editor C MAC, o algo por el estilo y seguro que encontrarás cosas


No, ponlo, a lo mejor le gusta más tu opción que la mía. A mas variedad todos mas contentos. :)
jeje nono, si lo he dicho porque yo simplemente le he recomendado que buscara en google, ya que yo nunca he programa en MAC y no sabía de ningún editor xd
Blipi voy a linkear el link a la web de mi IES que se da ciclo superior de administración de informática, es solo para los alumnos y el posteo ha sido así:


El compañero blipi de EOL ha "creado" un manual de introducción al lenguaje C, como este año en el nuevo ciclo ya no se da dicho lenguaje (creo) os lo enlazo por si queréis echar un ojo. Saludos

hilo_tutorial-programando-en-c_1546639

Gracias Blipi

La web es http://informatica.gonzalonazareno.org
448 respuestas
1, 2, 3, 4, 59