Curso de autoaprendizaje de idiomas c

Puedes empezar sin una base, con trabajo duro puedes alcanzar el nivel de programador junior e intermedio, pero es más difícil ascender. Necesitas muchos conocimientos en algoritmos, inglés y matemáticas.

Para obtener tutoriales, consulte los dos tutoriales siguientes:

Tan Haoqiang: programación en lenguaje C.

, Huang Zhonghao, Chen: Estructura de datos C

Si puedes hablar inglés, no lo necesitas hasta que ingresas a la escuela primaria. Pero después de ingresar al nivel intermedio, debes leer algunos materiales en inglés. Pero ahora la traducción es más poderosa y la mayoría de los materiales están traducidos. Pero si desea ingresar al nivel avanzado, debe aprender inglés, porque la información más reciente y básica está en inglés y las traducciones a menudo contienen errores.

Además, las matemáticas tienen poco impacto en la etapa inicial, pero serán necesarias después de ingresar al nivel intermedio. Porque estimar la complejidad temporal, la complejidad espacial, el gráfico, el árbol, etc. de un algoritmo implica mucho conocimiento matemático. Por supuesto, si solo está haciendo una aplicación o un controlador simple, los requisitos a este respecto no serán demasiado altos.

Finalmente, se proporciona una hoja de ruta de aprendizaje aproximada:

Aprendizaje de nivel básico, siempre que pueda dominar: tres estructuras de código (bucles, ramas, secuencias), diagramas de flujo, C palabras clave y sintaxis del lenguaje, entrada y salida, operaciones de archivos, operaciones de socket. Incluso si es un nivel principiante.

Programador Junior: Estructura de datos y algoritmo (clasificación y búsqueda), comprensión de los modelos de desarrollo de software (modelo en cascada, modelo ágil, modelo prototipo, etc.), comprensión de UML, API general del sistema, comunicación de red, compilación y Construcción del entorno SDK.

Programador intermedio: patrones de diseño, programación multihilo, comunicación de red (servidor, cliente), programación orientada a objetos, UML maestro, red de sistema/archivo/mutex/hilo/evento/API de seguridad, STL, leyes y regulaciones relevantes y comprender algunas arquitecturas de software de uso común (MVC, etc.).