Cómo aprender programación C con este proyecto para principiantes
Anuncio
Aprender a programar es una experiencia acumulativa. Además de aprender la sintaxis de su idioma elegido, también debe aprender los principios generales que utilizan todos los lenguajes de programación.
Comprender y aprender a programar en C puede ser desalentador, pero hay algunas ideas básicas con las que vale la pena familiarizarse al comenzar. Un proyecto simple es una excelente manera de aprender los fundamentos de C.
Entonces, ¿En dónde debes empezar? Al decir hola!
1. ¡Hola mundo!
La primera parte de casi todos los cursos de codificación es el programa hello world . Repasarlo en detalle resalta algunas de las formas en que C difiere de otros lenguajes. Para comenzar, abra un editor de texto o editores de texto IDE vs. IDE: ¿Cuál es mejor para los programadores? Editores de texto vs. IDE: ¿Cuál es mejor para los programadores? Elegir entre un IDE avanzado y un editor de texto más simple puede ser difícil. Ofrecemos información para ayudarlo a tomar esa decisión. Lea más de su elección e ingrese este código:
#include /* this is a Hello World script in C */ int main(void) { printf("Hello, World! \n"); return 0; }
Este breve fragmento de código se imprime en la consola antes de finalizar el programa. Guárdelo en un lugar fácil de recordar como hello.c . Ahora necesita compilar y construir su archivo.
Haciéndolo correr
Por lo general, no necesitará instalar ningún software adicional en su computadora para ejecutar scripts C. Abra una ventana de terminal (o símbolo del sistema si está ejecutando Windows) y navegue al directorio donde guardó su script.
La forma en que compila y ejecuta su archivo varía de un sistema a otro:
- Usuarios de Windows: haga que su archivo sea ejecutable escribiendo cl hello.c y presionando enter. Esto creará hello.exe en la misma carpeta, que puede ejecutar escribiendo hello .
- Usuarios de Linux y macOS: escriba gcc -o hello hello.c y presione Intro para que sea ejecutable, y ejecútelo escribiendo ./hello .
Cualquiera que sea el método que utilice, ejecutar su script debería mostrarle esto:
Si no funcionó en Windows, asegúrese de ejecutar el símbolo del sistema en modo administrador. Para macOS, es posible que deba instalar Xcode desde la tienda de aplicaciones y seguir estos pasos desde StackOverflow.
¡Ahora, veamos el programa línea por línea para ver cómo funciona y mejorarlo!
Under the Hood: Comprender el lenguaje C
Preprocesadores
El script que acaba de crear comienza con la inclusión de una biblioteca.
#include
La primera línea del script se llama preprocesador . Esto se lleva a cabo antes de que se compile el resto del script. En este caso, le dice al script que use la biblioteca stdio.h . Hay una gran cantidad de preprocesadores disponibles para diferentes tareas.
Stdio.h se encarga de recibir información del usuario del programa y de enviarles información.
/* this is a Hello World script in C */
La siguiente línea es un comentario. La barra oblicua y la estrella le dicen al compilador que ignore todo lo que hay entre ella y la estrella y barra oblicua. Si bien esto puede parecer inútil, poder dejar a usted y a otros notas claras sobre lo que hace su código es un hábito esencial.
La función principal
int main(void)
Cada programa en C debe tener una función principal . Main es una función que devuelve un número entero, denotado por int . Los corchetes después de main son para sus argumentos, aunque en este caso, no toma ninguno, por lo que utiliza la palabra clave void .
Escribe el código que se realizará entre dos llaves.
{ printf("Hello, World! \n"); return 0; }
Dentro de la función, llama a la función printf () . Al igual que main (), printf es una función. La diferencia es que printf es una función en la biblioteca stdio que incluyó al inicio.
Printf imprime cualquier cosa entre corchetes, entre comillas, en la consola. El \ n es una secuencia de escape llamada nueva línea, que le dice al compilador que salte a la siguiente línea en la consola antes de continuar.
Tenga en cuenta que estas líneas terminan en punto y coma, que el compilador utiliza para dividir una tarea de la siguiente. Presta mucha atención a estos puntos y comas. ¡Perderlos es la causa número uno de que las cosas no salgan bien!
Finalmente, la función regresa con el número 0, finalizando el programa. La función main () siempre debe devolver un número entero y return = 0; le indica a la computadora que el proceso fue exitoso.
Comprender cada paso de este script es un gran comienzo para aprender tanto la sintaxis de C como el funcionamiento del lenguaje.
2. Creando tus propias funciones C
Puede crear sus propias funciones personalizadas en C. En lugar de imprimir Hello World en la función principal, cree una nueva función para que lo haga por usted.
void print_for_me() { printf("Hello, World! \n"); }
Analicemos esto.
void es una palabra clave que significa que la siguiente función no devolverá nada.
print_for_me () es el nombre de la función, y los corchetes vacíos muestran que no requiere argumentos para funcionar. Un argumento es cualquier pieza de información que se pasa a una función para que funcione; más tarde, ¡agregará un argumento propio para cambiar la salida! Nota: Esto no es lo mismo que la función main () anterior que usaba void. Esa función no puede tomar argumentos, mientras que esta sí puede (pero en este caso, no tiene que hacerlo).
El bloque de código debería serle familiar: es solo la declaración de impresión de la función principal original.
Ahora, puede llamar a esta función desde su función principal.
int main(void) { print_for_me(); print_for_me(); return 0; }
Puede ver aquí un beneficio de usar su propia función. En lugar de escribir printf ("Hello, World! \ N") cada vez, puede llamar a la función dos veces.
En este momento, esto puede no parecer tan importante, pero si su función print_for_me contiene muchas líneas de código, ¡poder llamarlo tan fácilmente es un gran ahorro de tiempo!
Esta es una idea fundamental de programación que encontrarás a lo largo de tu educación. Escriba su propia función una vez, en lugar de escribir los mismos grandes fragmentos de código una y otra vez.
3. Uso de prototipos de funciones en C
Los prototipos son una de las principales formas en que el principiante C difiere de otros lenguajes. En resumen, un prototipo es como una vista previa de una función definida más adelante. Si escribe la función print_for_me () después de la función principal, puede recibir una advertencia al compilar:
El mensaje de advertencia le dice que el compilador se encontró con la función print_for_me antes de que se declarara, por lo que no podía estar seguro de que funcionaría correctamente cuando se ejecuta el programa.
El código aún funcionaría, pero la advertencia se puede evitar por completo mediante el uso de un prototipo.
#include void print_for_me(); int main(void) { print_for_me(); print_for_me(); return 0; } void print_for_me() { printf("Hello, World! \n"); }
Al mirar el programa completo, puede ver que el prototipo de print_for_me () existe al inicio del programa, pero no contiene nada. La función prototipo muestra al compilador cómo debe verse la función y si requiere argumentos o no.
Esto significa que cuando lo llama en la función principal, el compilador sabe si se está llamando correctamente y puede lanzar una advertencia o error si es necesario. Esto puede ser algo que parece extraño ahora, pero conocerlos ahora ayudará en el futuro.
Este programa aún funciona sin un prototipo, pero son una buena práctica para usar. La salida todavía se ve igual por ahora, ¡cambiemos para hacerlo más personal!
4. Pasar argumentos a funciones C
Cambiando el guión
Para este último paso, solicitará el nombre del usuario y registrará su entrada. Luego lo usará en la función que creó anteriormente. En C, las palabras no se conocen como cadenas como en otros lenguajes de programación.
En cambio, son una serie de caracteres individuales. El símbolo de una matriz es [] y la palabra clave es char . Comience actualizando su función prototipo al comienzo de su script:
#include void print_for_me(char name[]);
Ahora, el compilador sabrá que la función más adelante en el script toma una matriz de caracteres llamados nombre . Hasta ahora, este personaje no existe. Actualice su función principal para crearla y úsela para almacenar la entrada del usuario:
int main(void) { char name[20]; printf("Enter name: "); scanf("%s", name); print_for_me(name); print_for_me("Everyone!"); return 0; }
La primera línea en main crea una matriz de caracteres con 20 espacios posibles llamados nombre. A continuación, se le solicita al usuario que ingrese su nombre usando printf. La siguiente línea usa una nueva función llamada scanf que toma la siguiente palabra que escribe el usuario.
El "% s" le dice a la función que debe almacenar los datos como una cadena y llamarlo nombre .
Modificar la función
Ahora, cuando llame a print_for_me, puede incluir el nombre entre paréntesis. En la línea siguiente, verá que también puede pasar otros caracteres siempre que estén entre comillas. En ambas ocasiones, lo que está entre paréntesis se pasa a la función print_for_me.
Modifíquelo ahora para usar la nueva información que le está dando:
void print_for_me(char name[]) { printf("Hello, "); puts(name); }
Aquí puede ver que los corchetes se han actualizado al igual que el prototipo al comienzo del script. En el interior, todavía imprimes hola usando printf. Una nueva función aquí es put . Esta es una versión más avanzada de printf.
Todo lo que se ponga entre paréntesis se imprimirá en la consola y se agregará automáticamente una nueva línea (la \ n que usó anteriormente).
Guarde y compile su código de la misma manera que lo hizo anteriormente: tenga en cuenta que puede asignarle un nombre diferente al programa si no desea sobrescribir su programa anterior. Llamé a la mía hola2 :
Como debería ver, el programa toma la entrada y la usa en la función, antes de enviar el saludo preestablecido de "¡Todos!" Nuevamente dando dos salidas separadas a la misma función.
El ABC de la programación en C
Este programa es simple, pero algunos de los conceptos que contiene no lo son. El código C más avanzado debe escribirse muy bien para evitar bloqueos. Es por eso que muchos piensan que es un excelente idioma para aprender primero, ya que infunde buenos hábitos en los nuevos programadores.
Otros piensan que aprender C ++ es una mejor idea, ya que se basa en C mientras conserva su control de sistema más bajo. (También hay que considerar Rust: es un lenguaje de programación emocionante que es sintácticamente similar a C ++).
Una cosa es segura: lenguajes como Python son mucho más amigables para principiantes. Para un lenguaje antiguo, C todavía se usa en todas partes, pero Python puede ser el lenguaje del futuro 6 razones por las que Python es el lenguaje de programación del futuro 6 razones por las que Python es el lenguaje de programación del futuro Quiere aprender o ampliar sus habilidades de programación ? He aquí por qué Python es el mejor lenguaje de programación para aprender este año. Lee mas !
Explore más sobre: C, Tutoriales de codificación, Programación.