Post #6
Bien, aquí está el post que todos esperábais, donde explico el hola mundo y vamos a aprender un poquito más de C.
Primero una mini introducción para aprender a manejar Dev-C++. Supongo que todos vosotros sabéis instalar un programa así que empezaré con el programa ya instalado, vamos a abrirlo.
[attachment=0]
En Archivo --> Nuevo vemos que tenemos dos tipos de archivos a crear, proyectos o códigos fuente. Un código fuente creará un programa que sólo tiene un fichero, todo lo que hace está contenido en ese fichero, todas sus funciones, todas sus variables, todo en el mismo fichero. Nosotros al principio siempre crearemos un nuevo código fuente para cada programa, pero si queremos repartir todo en varios archivos para que quede más ordenado crearíamos un nuevo proyecto. Un proyecto incluye todos los códigos fuentes que queráis, y el programa final los tendrá todos juntos. Vamos a crear un nuevo código fuente (asegúrate de ponerle la extensión .c y no la que viene por defecto, cpp), e introducimos el código anterior del Hola mundo:
#include
int main() {
printf("Hola mundo.");
return 0;
}
Antes de ejecutarlo vamos a intentar comprenderlo un poquito. A una función tenemos que decirle lo que queremos que haga, pero hay funciones que ya hicieron los creadores de C, por ejemplo printf(), para poder usarlas tenémos que poner la primera línea:
#include
#include viene del inglés y significa "incluir", aquí estamos incluyendo stdio.h que es donde los creadores de C guardaron lo que hacen diversas funciones, como printf().
Más adelante encontramos
int main() {
Un nombre con paréntesis detrás, ¿os suena? Exacto, es una función, en todos los programas la función main() será la que se ejectutará al abrir el programa, es decir cuando abramos el programa hará lo que tenga dentro la función main(). el int de delante significa que la función devuelve un número entero. Al "declarar" (crear) una función o al "implementarla" (decir lo que hace) ponemos delante lo que devuelve. Si no devuelve nada ponemos void (literalmente significa vacío). Después para usarlas cuando ya están declaradas e implementadas no se pone.
¿Cómo decimos a una función que queremos que haga? Para implementarla, ponemos primero el tipo de datos que devuelve la función (en este caso int). Después el nombre de la función (en este caso main) seguida de paréntesis, y si recibe algo la función, lo ponemos dentro (en este caso no recibe nada). Ahora viene una llave de apertura, y la función hará todo lo que pongamos desde ahí hasta la llave de cierre. Todo lo que hay desde esta llave hasta la del final es la función main. Veamos qué hace:
Primero tenemos otra función, printf() que recibe una cadena de caracteres (string) y lo que hace simplemente es mostrarla en pantalla. En este caso mostramos en pantalla "Hola mundo.". No tiene mayor dificultad, esta función equivale a la figura de mostrar en pantalla que usábamos en DF, y como todas las instrucciones u órdenes en C acaba con ";".
Habíamos dicho antes que la función devolvía un número entero, pero, ¿cómo ponemos eso? pues con la palabra "return" que significa "devolver". Como no es una función no lleva paréntesis después, después de esta palabra ponemos lo que queremos que devuelva. Se supone que un programa ha terminado correctamente si su función main devuelve 0, así que ponemos
return 0;
Como siempre terminando en ";". Ahora como ya hemos terminado de implementar la función main() pues cerramos la llave que abrimos antes.
Ahora vamos a probarlo en Dev-C++, copiamos el código y lo pegamos en un código fuente nuevo, y ahora le damos a
Ejecutar --> Compilar
El programa estaba escrito hasta ahora en lenguaje relativamente humano, el texto lo podíamos entender, pero el ordenador esto no lo entiende, así que hace falta compilarlo para "traducirlo" a un lenguaje que el ordenador entienda. Os pedirá un lugar donde guardar el archivo, lo ponéis donde queráis con extensión ".c" y le dais a guardar. Ahora lo compilará, al compilar primero buscará errores, si tenéis algún error os lo avisará, si pone "error" el error es tan grave que el programa no se podrá ejecutar, pero si pone "warning" es posible que el programa puede ejecutarse o es posible que se produzca algún error. Una vez compilado, en la ruta donde le habéis puesto que se guarde, encontraréis el código fuente (nombre_programa.c) y el archivo ejecutable, listo para ejecutarse en cualquier ordenador (nombre_programa.exe).
Si abrís el exe directamente con doble clic os daréis cuenta de que sale una ventana y rápidamente se cierra, esto es porque el programa se ha ejecutado, ha terminado y como ha terminado se ha cerrado. Para evitar que se cierre en el programa hay un pequeño truco, dentro de la función main, tenemos que poner, justo antes de return 0; una línea que ponga system("pause");
De esta forma antes de que el programa termine saldrá: "Pulse una tecla para continuar . . ." y hasta que no pulses una tecla el programan no terminará. Si queréis que no salga ese texto, y simplemente espere a que pulséis una tecla poned
system("pause > null");
Esto no lo voy a explicar en el tutorial por que no es C, es Batch (el lenguaje de la consola de comandos de windows), pero si alguien quiere que se lo explique que me pregunte en el post de dudas. El programa ahora para que no se cierre queda así:
#include
int main() {
printf("Hola mundo.");
system("pause > null");
return 0;
}
Ahora le volvéis a dar a compilar para que se actualice el programa, si queréis le podéis dar a "compilar y ejecutar" que al terminar de compilar si no hay errores ejecuta el programa.
Con esto termina el post #6, ahora un ejercicio para practicar, a ver si os suena
Ejercicio 11 (B): Diseña un programa que muestre tu nombre por pantalla.
Sé que os he metido mucha información de golpe, así que esperaré a responder las dudas antes de seguir y poneros más ejercicios.