Red de conocimiento informático - Conocimiento informático - ¿Qué libro debo utilizar para aprender el lenguaje C?

¿Qué libro debo utilizar para aprender el lenguaje C?

El camino de 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 no se puede dominar en diez años. Cómo aprender y dominar el lenguaje C al mínimo costo es el tema de este artículo. Tenga en cuenta que incluso el "coste mínimo" no es de ninguna manera un atajo, sino que se trata de obtener el máximo beneficio en el menor tiempo, lo que también significa que debe pasar por un proceso minucioso.

Primero lee un buen libro, sino es mejor no leer.

La primera pregunta a la que se enfrenta todo principiante es: cómo elegir el material didáctico. Un buen comienzo es la mitad de la batalla y elegir un excelente libro de texto es la clave para obtener el doble de resultado con la mitad de esfuerzo. Desafortunadamente, las escuelas suelen asignarte un libro de texto en lenguaje C deficiente. Afortunadamente, puedes volver a elegir.

El famoso profesor Tan Haoqiang publicó 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 recomendarán este libro como libro de texto en lenguaje C. Aunque solo hay una palabra de diferencia entre mi nombre (Tan Haoyu) y el del profesor, estoy extremadamente decidido a bloquear su libro. 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 muestra son muy poco profesionales y no pueden enseñarte la forma de pensar que deberías dominar en programación; el estilo de programación es bastante malo y te hará desarrollar el mal hábito de garabatear código; muchos errores. En el libro se señalaron cientos de errores, incluidos muchos errores conceptuales críticos. Bien, no quiero decir demasiado sobre este libro. Si está interesado, puede buscarlo en Baidu :)

"El lenguaje de programación C" de Kernighan y Ritchie (traducción al chino como "lenguaje de programación C") es un clásico, pero muchos de los contenidos del La versión anterior está desactualizada y no es relevante ahora. El lenguaje C estándar es muy diferente. Todos deben ver la última versión; de lo contrario, es mejor no verla. Además, ni siquiera los libros más clásicos y autorizados pueden cubrirlo todo, por lo que es necesario tener a mano un manual de referencia en lenguaje C. El Manual de referencia del lenguaje C es el Manual de referencia de C. Es una descripción detallada del estándar del lenguaje C, que incluye los detalles de la mayoría de las funciones de la biblioteca estándar de C. Puede considerarse como el mejor libro de referencia para el lenguaje C estándar. Por cierto, el último lenguaje de programación C se revisó de acuerdo con el estándar C89 y el Manual de referencia del lenguaje C describe el estándar C99. Puede haber algunas discrepancias y se recomienda estudiar según el estándar C99. También hay un libro "C y punteros", que también es bastante bueno. El nombre en inglés es "Pointers on C", que enfatiza particularmente la importancia de los punteros, que es una característica importante de este libro. Sin embargo, este libro no es apto para principiantes. Si ha aprendido el lenguaje C y tiene algunos conocimientos básicos del lenguaje C, pero no es muy sólido, puede probar este libro. Creo que mientras entiendas los consejos, el lenguaje C ya no será un misterio.

Si has terminado un libro de texto en lenguaje C y quieres ir más allá, entonces hay dos libros que debes leer. El primero es C Traps and Pitfalls, un folleto muy fino con contenido muy interesante. Cabe señalar que este libro fue escrito hace más de 20 años y muchas de las deficiencias del lenguaje C mencionadas en él se han mejorado, pero no está mal saber algo de historia. Entonces podrás desafiar la programación C de nivel experto. Como sugiere el nombre, este libro es bastante difícil. Una vez que lo lea detenidamente y lo comprenda a fondo, podrá escribir con seguridad "Dominar el lenguaje C" en su currículum.

Recuerda un principio: no leas libros que no puedas entender ahora, es una pérdida de vida. Si no puedes entenderlo, te deben faltar algunos conocimientos básicos necesarios. En este punto, debes analizar cuidadosamente lo que necesitas agregar y luego ir a la librería a buscar libros sobre estos contenidos. Sólo poniéndonos al día con los conocimientos básicos y luego volviendo a estudiar podremos realmente obtener el doble de resultado con la mitad de esfuerzo.

En segundo lugar, Unix/Linux o Windows es una gran pregunta.

Los diferentes entornos de programación crearán programadores con pensamientos diferentes. Los programadores de Windows dependen principalmente de entornos de desarrollo integrados, como Visual Studio, mientras que los programadores de Unix prefieren Makefiles y consolas.

Obviamente, los entornos de desarrollo integrados son más fáciles de usar. Para aprender el lenguaje C en Windows, solo necesita presionar algunos botones básicos de la barra de herramientas de Visual C para comenzar a escribir ¡Hola, mundo! En Unix, necesitas algunos conocimientos básicos sobre las operaciones de la consola. Algunas personas pueden pensar que el entorno Unix es más simple, pero el poder del hábito es grande. Todo el mundo está familiarizado con las operaciones básicas de Windows. Parece un poco antieconómico instalar un sistema Unix sólo para aprender el lenguaje C.

Para un principiante que sólo conoce las operaciones básicas de Windows y ni siquiera sabe qué es DOS, lo más importante es hacer algo interesante y significativo lo antes posible. Escribir un pequeño programa en lenguaje C es mucho más interesante que aprender comandos como ls y cat. Además, si desea centrarse en el lenguaje C en sí, debe ignorar temporalmente algunas cosas, como el proceso de compilación y vinculación, el método de escritura Makefile, etc.

Así que sugiero que los principiantes tomen Visual C 6.0 (no Visual C). NET) o Dev C como entorno de aprendizaje principal, nunca se obsesione demasiado con las habilidades de uso de IDE, porque definitivamente cambiará al entorno Unix en el futuro. Visual C 6.0 es fácil de usar e intuitivo de depurar, pero su compilador predeterminado no es compatible con el estándar C, mientras que Dev C usa el compilador gcc y tiene mejor soporte para el estándar C99. Por cierto, muchas universidades todavía utilizan Turbo C 2.0 como entorno experimental para cursos de lenguaje C, lo cual es bastante indeseable. La primera razón es que TC 2.0 tiene poco soporte para el estándar C, y la segunda razón es que los programas compilados por TC 2.0 son de 16 bits, lo que causará muchos problemas para comprender los programas de 32 bits en el futuro (de Por supuesto, puedes usar algo como djgpp para compilar programas TC 2.0 de 32 bits, pero eso es demasiado.

Cuando termines de estudiar un libro de texto en lenguaje C, debes recurrir a la plataforma Unix para continuar aprendiendo. Casi todos los cursos avanzados de lenguaje C se basan en la plataforma Unix (como la programación experta en C). Debe enfrentar varios comandos complejos, que son completamente diferentes a la forma de pensar en la plataforma Windows. El dolor vale la pena. Tanto Unix como C nacieron * * *. La forma de pensar y los hábitos de Unix están más en línea con el lenguaje C. En Unix, puedes encontrar innumerables códigos fuente excelentes que puedes leer con gusto. Consulte el manual en línea de una determinada función de la biblioteca y vea el mejor estilo.

Se reduce a una frase: para los principiantes en lenguaje C, se recomienda utilizar el sistema Windows y el entorno de desarrollo integrado. Primero cambie a la plataforma Unix. En tercer lugar, todo está listo, usted es Dongfeng.

Ya ha elegido el libro y ha configurado el entorno, todo está listo y solo necesita trabajar duro. Comience desde el prefacio del libro y lea el libro de texto con atención. A muchas personas les gusta comenzar a leer directamente desde el primer capítulo, lo cual es incorrecto. Si tiene conocimientos básicos. Después de leer el prefacio, debe explorar el índice para comprender la estructura general del libro y preparar un plan de estudio para usted.

Cuando aprenda el lenguaje C, Debes prestar atención a cada detalle del código de muestra del libro. Solo cuando el resultado después de la compilación y ejecución sea consistente con el del libro, debes encontrar cuidadosamente el motivo. Por ejemplo, tengo que "crear" algunos ejemplos. Cuando uso la precedencia de caracteres, puedo escribir varias expresiones idénticas, poner los paréntesis en diferentes posiciones y ver qué comportamientos diferentes hay, como *p y (*p), o a = b == c, (a = b). == c y a = = (b = =). Los ejemplos del libro que copió, los ejemplos después de la modificación y los ejemplos que creó deben clasificarse y guardarse cuidadosamente, y escribir una breve descripción en el código fuente. explique el propósito de este ejemplo.

Después del ejemplo, todavía hay ejercicios.

Recomiendo que los principiantes completen todos los ejercicios de forma independiente, luego comparen el código de las respuestas para ver qué deficiencias tiene su propio código y luego intenten modificar su código. Mucha gente no presta atención a los ejercicios, lo cual es un gran error, porque el autor suele explicar algunos principios importantes en los ejercicios en lugar de simplemente poner a prueba los conocimientos previos.

Tal vez pienses que es demasiado lento para aprender, pero no es así. Si estudias mucho, no tendrás que volver atrás. Más tarde, cuando estaba estudiando, me di cuenta de que no lo había descubierto antes. Realmente no vale la pena perder eso. En términos generales, después de leer el libro completo, ya sea que lo haya copiado intacto o lo haya escrito por capricho, tendrá que completar miles o incluso decenas de miles de líneas de código, lo que será una ventaja para estudios futuros. Tómeme a mí mismo como ejemplo. Cuando leí "Programación básica de Windows" (solo leí 3/4 del contenido), copié el código del libro y escribí muchos ejemplos yo mismo. A * * * tiene 5574 líneas (estadísticas de la herramienta wc en Unix). Con el paso del tiempo, no podía recordar la programación del sistema de Windows, pero mientras pasaba unos minutos desenterrando el código anterior, lo sabía de nuevo. Es por ello que una buena memoria no es tan buena como una mala escritura.

Lea atentamente, copie el código fuente con atención, complete los ejercicios de forma independiente y realice más experimentos, y finalmente conserve todo el código como su propia experiencia y riqueza. Definitivamente es un trabajo duro y se obtiene el doble de resultado con la mitad de esfuerzo. Por supuesto, este método sólo es adecuado para aprender las habilidades que necesitas dominar. Si no está aprendiendo el lenguaje C, debe analizar la situación específica en detalle.

Por último, hay un punto muy, muy importante que no se ha mencionado: el estilo de codificación. Desde el principio, debes esforzarte por imitar el mejor estilo de codificación.

¿Qué debo hacer si no soy bueno en matemáticas?

Respuesta: ¡Aprende!

¿Qué pasa si no hablas inglés?

Respuesta: ¡Aprende!

¿Qué debo hacer si no tengo conocimientos básicos de programación?

Respuesta: ¡Aprende desde cero!

Cuando tengas éxito en tus estudios, mira hacia aquellos que no han logrado nada. Siempre dicen que aquí no puedo hacerlo, que tengo malas bases, que no tengo tiempo para estudiar, etc...

La gente fracasada siempre encontrará excusas, y la gente exitosa siempre encontrará la manera.

Las personas fracasadas siempre encontrarán problemas, y las personas exitosas siempre encontrarán problemas.

Método: Cada uno tiene su propio método. Estudia mucho y siempre habrá una manera.

Codificar no es algo malo. Si quieres diseñar un algoritmo o algo así, no puedes hacerlo sin las matemáticas. Es imposible comunicarse sin usar el inglés (los cursos abiertos en escuelas prestigiosas son todos en inglés y nadie te traducirá). Si quieres desarrollarte en la industria del software, debes aprender matemáticas e inglés.