Aprende programación en lenguaje c
Libros recomendados: consulte el siguiente artículo
Este es un artículo que he visto antes y creo que es muy bien. Sin embargo, muchos de ellos están agotados, así que busque en línea lentamente
"El camino hacia un programador: cómo aprender el lenguaje C y dominar el lenguaje C"
"El El camino hacia un programador: cómo aprender el lenguaje C》
Aprender el lenguaje C no es algo que sucede de la noche a la mañana, pero también se puede lograr de la noche a la mañana. Sucede de la noche a la mañana, pero no hacen falta 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 el "costo mínimo" no es de ninguna manera un atajo, sino que se trata de obtener la mayor ganancia en el menor tiempo, lo que también significa que debe pasar por un proceso arduo.
1. Debes leer buenos libros, de lo contrario es mejor no leerlos.
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 pobre y le hará desarrollar malos hábitos al escribir código; hay demasiados errores y alguien los tiene; Ya hemos señalado los errores de 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 discrepancias 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 alguna vez ha aprendido el lenguaje C y tiene algunos conocimientos básicos del lenguaje C pero no muy sólidos, 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. Como recordatorio, este libro fue escrito hace más de veinte años y 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 C experta". 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 con el poder de la costumbre y todo el mundo está familiarizado 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 muy 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, lo cual es muy indeseable. Una razón 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 de 16 bits. Sí, esto causará grandes problemas para comprender los 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 cambiar 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, debe prestar atención a cada detalle. Debe escribir el código de muestra en el libro usted mismo. Solo cuando los resultados de salida después de la compilación y ejecución sean consistentes con los del libro. Aprendí un ejemplo. Si hay alguna inconsistencia, debe 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 pienses que este método de aprendizaje es demasiado lento, pero no lo es. Si aprende en detalle, no tendrá que mirar atrás. Cuando aprenda más tarde y descubra que no aprendió bien en el paso anterior, realmente no vale la pena. 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ómeme como ejemplo. Después de leer "Programación central 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 un ****. (Usando wc Unix Statistics en Herramientas), después de mucho tiempo, ya no puedo recordar claramente la programación del sistema Windows, pero siempre que dedique unos minutos a buscar el código anterior, ¡puedo 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.
Al final, hay un punto muy, muy importante que no se mencionó: el estilo de codificación. Desde el comienzo del aprendizaje, debes esforzarte por imitar el mejor estilo de codificación.