Red de conocimiento informático - Material del sitio web - ¿Cómo aprender el lenguaje C? ¿Aún es necesario aprenderlo ahora?

¿Cómo aprender el lenguaje C? ¿Aún es necesario aprenderlo ahora?

Aprender C no se logra de la noche a la mañana, pero no se necesitan diez años para dominarlo. El tema de este artículo es cómo aprender y dominar el lenguaje C a un costo mínimo. Tenga en cuenta que incluso "minimizar costos" no es de ninguna manera un atajo, sino una forma de obtener los mayores beneficios en el menor tiempo, lo que también significa que debe pasar por un proceso minucioso.

1. Debes leer buenos libros, de lo contrario es mejor que no los leas.

El primer problema al que se enfrentarán los principiantes es: cómo elegir los materiales didácticos. Un buen comienzo es la mitad de la batalla y elegir un buen libro de texto es la clave para obtener el doble de resultado con la mitad de esfuerzo. Desafortunadamente, las escuelas a menudo te asignan un libro de texto de nivel C deficiente; afortunadamente, puedes elegir uno diferente;

El gran profesor Tan Haoqiang escribió un libro "Programación en lenguaje C", que se dice que tiene una tirada de más de 4 millones de copias. Hasta donde yo sé, muchas escuelas recomiendan este libro como lenguaje C. libro de texto. Aunque sólo hay una palabra de diferencia entre mi nombre (Tan Haoyu) y el del profesor, mi determinación de piratear su libro es inquebrantable. Este libro no está escrito para estudiantes de informática, sino para estudiantes de otras especialidades que necesitan realizar exámenes de nivel de informática. Las principales deficiencias de este libro son: los programas de ejemplo son muy poco profesionales y no le enseñan cómo pensar en la programación; el estilo de programación es deficiente y le hará desarrollar malos hábitos al escribir código; hay demasiados errores y alguien los ha cometido; Ya hemos señalado los errores en este libro. Cientos de errores, incluidos los conceptuales críticos.

"El lenguaje de programación C" de Kernighan y Ritchie es un clásico, pero gran parte del contenido de las ediciones anteriores está desactualizado y el lenguaje C estándar está lejos de ser perfecto. Siempre debes leer la última versión; de lo contrario, es mejor que no la leas en absoluto. Además, ni siquiera el libro más clásico y autorizado puede cubrirlo todo, por lo que es muy necesario tener siempre a mano un "Manual de referencia del lenguaje C". El Manual de referencia del lenguaje C es el "Manual de referencia del lenguaje C", que presenta el estándar del lenguaje C en detalle, incluida la mayoría de los detalles de las funciones de la biblioteca estándar del lenguaje C, y se considera el mejor libro de referencia para el lenguaje C estándar. Por cierto, el último "Lenguaje de programación C" se revisa de acuerdo con el estándar C89, mientras que el "Manual de referencia C" presenta el estándar C99. Puede haber algunas diferencias entre los dos. Se recomienda estudiar de acuerdo con el C99. estándar. También hay un libro "C and Pointers", que también está muy bien escrito. El nombre en inglés es "Pointers on C". Destaca especialmente la importancia de los punteros, que es una característica de este libro. Sin embargo, este libro no es adecuado para principiantes. Si ha aprendido el lenguaje C antes y tiene una cierta base en el lenguaje C pero no es muy sólida, puede probar este libro. Creo que mientras se entiendan los punteros, el lenguaje C ya no será un misterio.

Si ha terminado de leer un libro de texto en lenguaje C y quiere ir más allá, entonces hay dos libros que debe leer. El primero es C Traps and Pitfalls, que es un librito muy fino, pero muy, muy interesante. Es importante señalar que este libro fue escrito hace más de veinte años y que muchos de los defectos del lenguaje C mencionados en el libro se han mejorado, pero un poco de historia no es malo. Luego, puedes desafiar la "Programación experta en lenguaje C". Como sugiere el nombre, este libro es difícil, pero una vez que lo lea detenidamente y lo comprenda completamente, podrá escribir con confianza "Competente en C" en su currículum.

Recuerda este principio: Leer un libro que no entiendes ahora es una pérdida de vida. Si no puedes leerlo, entonces te faltan algunos conocimientos básicos necesarios. En este punto, debe analizar cuidadosamente qué contenido necesita agregar y luego ir a la librería para buscar libros sobre estos contenidos. Obtendrá el doble de resultado con la mitad de esfuerzo si comienza a aprender después de haber completado los conocimientos básicos.

2. Unix/Linux o Windows, esta es una gran pregunta

Los diferentes entornos de programación crean programadores con pensamientos diferentes; la mayoría de los programadores de Windows dependen de entornos de desarrollo integrados como Visual Studio. los programadores prefieren Makefiles y consolas. Obviamente, es más fácil empezar con entornos de desarrollo integrados. Para aprender C en Windows, sólo necesita presionar algunos botones básicos de la barra de herramientas de Visual C y comenzar a escribir ¡Hola, mundo!

Algunas personas pueden pensar que el entorno Unix es más limpio, pero el poder del hábito es grande y todos están familiarizados con los conceptos básicos de Windows. Parece un poco antieconómico instalar un sistema Unix específicamente para aprender C. .

Para un novato que sólo conoce los conceptos básicos de Windows y ni siquiera sabe qué es DOS, es importante hacer algo interesante y significativo lo antes posible. Escribir un pequeño programa en C es mucho más interesante que aprender los comandos ls, cat, etc. Además, si queremos centrarnos en el lenguaje C en sí, tenemos que ignorar temporalmente algunas cosas, como el proceso de compilación y vinculación, la escritura de Makefiles, etc.

Por lo tanto, recomiendo que los principiantes utilicen Visual C 6.0 (en lugar de VisualC .NET) o Dev C como entorno de aprendizaje principal, y no se enreden demasiado en la tecnología del entorno de desarrollo integrado, porque en En el futuro tendrás que pasar al entorno Unix. Su compilador predeterminado no es compatible con el estándar C, mientras que el compilador gcc utilizado por Dev C es compatible con todos los estándares C99. Por cierto, muchos cursos universitarios de C todavía utilizan Turbo C 2.0 como entorno experimental. Esto es muy indeseable. Una de las razones es que TC 2.0 apenas admite el estándar C. La segunda razón es que los programas compilados por TC 2.0 son 16. -bit Sí, esto causará grandes problemas para comprender programas de 32 bits en el futuro (por supuesto, cosas como djgpp pueden permitir que TC 2.0 compile programas de 32 bits).

Si quieres compilar programas de 32 bits en TC 2.0, pero esto es demasiado complicado).

Una vez que termine de leer el libro de texto de C, asegúrese de pasar a Unix, ya que casi todos los tutoriales avanzados de C están basados ​​en Unix (por ejemplo, Programación C de nivel experto). El proceso de transición es doloroso, debe enfrentar todo tipo de comandos complejos y la forma de pensar es completamente diferente a la de la plataforma Windows, pero el dolor vale la pena. Unix y el lenguaje C nacieron juntos, y la forma de pensar y los hábitos de Unix están más en línea con la forma de pensar y los hábitos del lenguaje C. En Unix, puede encontrar innumerables códigos fuente excelentes para que pueda leer todo lo que desee. Puede ver fácilmente el manual en línea de una determinada función de la biblioteca y también puede ver el mejor estilo de codificación.

En resumen, es solo una frase Palabras: si es nuevo en el aprendizaje del lenguaje C, se recomienda utilizar el sistema Windows y el entorno de desarrollo integrado (IDE). Cuando esté listo para trabajar duro para convertirse en un "maestro". Debe utilizar el sistema Windows y el entorno de desarrollo integrado. Cuando esté listo para trabajar hacia el "dominio", primero debe recurrir a Unix.

3. Todo está listo, lo único que necesitamos es el viento de levante.

Se han seleccionado los libros y se ha configurado el entorno. Todo está listo, lo único que necesitamos es el viento de levante. . Empiece por el prefacio de este libro y lea atentamente los materiales disponibles. A muchas personas les gusta empezar a leer directamente desde el primer capítulo. Este es un enfoque equivocado. Éste es el enfoque equivocado. El prefacio es la introducción general del autor a todo el libro. El autor generalmente le brinda los conceptos básicos que necesita para leer el libro con éxito. Esto puede ayudarlo a verificar si tiene los conocimientos básicos. Después de leer la introducción, también debes consultar el índice para comprender la estructura general del libro y elaborar un plan de estudio para ti.

Al aprender el lenguaje C, debes prestar atención a cada detalle. Debes escribir el código de ejemplo en el libro tú mismo. Solo cuando el resultado después de la compilación y ejecución sea consistente con el del libro. Aprendí un ejemplo. Si es inconsistente, debemos buscar cuidadosamente el motivo. Después de los ejemplos del libro, debe "crear" algunos ejemplos usted mismo. Por ejemplo, cuando aprende la precedencia de los operadores, puede escribir varias expresiones idénticas y agregar paréntesis en diferentes posiciones para ver cuáles son las diferentes interpretaciones, como *p y. (*p), como a=b==c, (a=b)==c y a=(b==c). (b == c)etc. Los ejemplos copiados de libros, ejemplos modificados y ejemplos "creados" deben clasificarse cuidadosamente y conservarse con un breve comentario en el código fuente que explique la intención del ejemplo.

Los ejemplos van seguidos de ejercicios. Recomiendo que los principiantes completen todos los ejercicios de forma independiente, luego comparen el código con las respuestas para ver dónde falta su código y luego intenten modificarlo. Mucha gente no presta atención a los ejercicios, lo cual es un gran error, porque el autor suele ilustrar algunas verdades importantes en los ejercicios, en lugar de simplemente poner a prueba conocimientos previos.

Quizás pensarás que este método de aprendizaje es demasiado lento, pero no lo es. Si aprende en detalle, no tendrá que mirar atrás. Realmente no vale la pena cuando aprenda más tarde y descubra que no aprendió bien antes. En términos generales, después de leer el libro completo, debe completar miles o incluso decenas de miles de líneas de código, ya sea que lo copie intacto o lo escriba por su cuenta, es una ventaja para el aprendizaje futuro. Tómese a mí mismo como ejemplo. Después de leer "Programación básica de Windows" (solo leí 3/4 del contenido), además de copiar el código del libro, también escribí muchos ejemplos, con 5574 líneas en una **. ** (Usando estadísticas de Unix en la herramienta wc). Después de mucho tiempo, no puedo recordar la programación del sistema de Windows, pero mientras dedique unos minutos a buscar el código anterior, ¡podré recordarlo nuevamente! Pero con solo tomarme unos minutos para desenterrar el código antiguo y mirarlo, volveré a mí. Este es el principio de "una buena memoria es peor que una mala escritura".

Lea atentamente, copie el código fuente, complete los ejercicios de forma independiente, más experimentos adicionales y, finalmente, conserve todo el código como su propia experiencia y riqueza. Este es definitivamente un trabajo duro y Definitivamente la mitad de la batalla. Por supuesto, este método solo es adecuado para aprender tecnologías que requieren dominio. Si no está aprendiendo el lenguaje C, debe analizar la situación específica.

Finalmente, hay una cosa muy, muy importante que no mencioné, es el estilo de codificación. Debes obligarte a imitar el estilo de codificación del maestro desde el principio del aprendizaje.

Después de leer este artículo, lo sentí profundamente. Creo que llevo algunos años aprendiendo C y todavía no he progresado mucho, como se mencionó anteriormente. Sugiero que el autor le dé el visto bueno para que más personas puedan aprender el lenguaje C más rápido y mejor. El lenguaje C es la raíz de la programación y el lenguaje más profundo y flexible. Con la ayuda de este artículo, creo que todos tendrán un método de aprendizaje.