2020 new version of C language learning route library, learning stage introduction + video tutorials and materials

As one of the most powerful disciplines among all the dark horse programmers, C / C ++ and network offensive and defensive disciplines have always been known for stable employment and high average salary. C / C ++, as a programming language, has a long history, is widely used, runs fast, and has high security. Learning C / C ++ can make a programmer more aware of the fundamentals of programming, while also allowing a programmer to work in this Going further in the industry. In view of the fact that many of the small partners who want to learn C / C ++ by themselves find the information too fragmented, I have summarized this learning roadmap for everyone. I hope everyone can learn C / C ++ systematically and efficiently and see more on the road to programming Scenery ~

The first stage of C language development

1. Learning objectives:

1) Possesses basic professional programming ability in C / C ++ field;

2) Complete project cases independently;

2. Knowledge points:

1) C language overview computer foundation; the first C language program; the meaning and compilation of C code; integrated development environment (vs, qt)

2) Programming basic constants and variables; hexadecimal conversion; operators; conditional control statements; arrays and strings

3) Basic concepts of function functions; common functions for string operations; custom functions

4) Definition of pointer pointer variables; pointers are basically used; pointers modified by const; the relationship between first-level pointers and array names; pointer method operates on array elements; pointers are used as function parameters; arrays are used as function parameters; pointers are used as function return values ; Pointer processing string

5) Scope and life cycle of memory management local variables; Scope and life cycle of static local variables; Scope and life cycle of global variables; Scope and life cycle of static global variables; Static functions and non-static functions Difference; memory partition; heap memory allocation (malloc) and free (free) 6) Basic usage of compound type structures; structure nested pointers and arrays; structures as function parameters; declaration and use of compound types 7) File operation file classification (text, binary); file opening and closing; file operation function; file read and write buffer concept

Easy to master C language video tutorial (you can learn by typing)

Full video: http://yun.itheima.com/course/369.html?2004zzpyk

Supporting information: https://pan.baidu.com/s/1UF3Va4zIozuwSoo7uzfHJw Password: ofh9

 

The second stage-C advanced programming

1. Learning objectives:

1) Master the usage of strings, one-dimensional arrays and two-dimensional arrays in C language;

2) Master the advanced usage of first-level pointer, second-level pointer and third-level pointer, understand the concept of N-level pointer, pointer array and array pointer;

3) Learn to use structures and documents;

4) C language interface package design.

2. Knowledge points:

1) Memory partition

Function call model data types, meanings of variables; characteristics of four memory areas; function call model; memory operation functions; macro definition and preprocessing

2) Basic use of pointer advanced pointer;

The concept of pointer step size; pointer profile assignment; pointers and multilevel pointers as the characteristics and use of function parameters; operation of strings through pointers; const type modifiers; logical operators of bits; shift operators; array pointers and pointers Array; multi-dimensional array as function parameters; structure nested first-level pointer; structure nested second-level pointer; shallow copy deep copy

3) Function pointer and callback function        

The idea of ​​encapsulation and design; three methods of function pointer definition; callback function

4) Data structure and linked list

Basic concepts of linked lists; related operations of single linked lists

5) Recursive function

The concept of recursive functions; the use of recursion

6) Data structure and algorithm

Basic concepts of Big O notation; linear table sequential storage and chained storage concepts; linear table sequential storage (array); linear table chained storage (linked list); queue order and chained storage; stack order and chained Storage; basic operation of binary tree; commonly used sorting algorithm

7) Interface packaging and design

Function packaging design; decoupling design concept; module realization and business separation

C language to improve the
depth of the simple video: http://yun.itheima.com/course/407.html?zzpyk
supporting materials: https://pan.baidu.com/s/1jhJplSj4-ZPzSecz1elr4A password: ov17

C language data structure training architect thinking
complete video: http://yun.itheima.com/course/428.html?zzpyk
supporting materials: https://pan.baidu.com/s/1C4cm3tVmR0Wea9q6ut-xYQ password: 4wi6

 

The third stage-C ++ core programming

1. Learning objectives:

1) Have basic knowledge and common skills in common C ++ direction.

2. Knowledge points:

1) C ++ extension to C, the use of namespaces that reference the C ++ language; C ++ extension to C; differences between const in C and C ++; definition and use of reference type variables

2) The default parameters of function overloading classes; C ++ function overloading; basic concepts of classes and objects; class encapsulation and access control permissions; simple programming of classes and objects

3) Class and object class constructor; class destructor; explicit keyword role; use of class copy constructor; deep copy and shallow copy problems; multiple object construction and destructor (initialization list)

4) Dynamic allocation and release of objects and dynamic allocation and release of objects; the use of static member variables and functions; the handling mechanism of member variables and member methods by the C ++ compiler; the use of this; friend functions; friend classes

5) Operator overloading Operator overloading concept; common operator overloading; custom smart pointer class; implement a custom String class

6) Class Inheritance and Derivation, Access Control in Polymorphic Inheritance; Construction and Destruction in Inheritance; Multi-Inheritance; Basic Concepts of Virtual Inheritance; Use of Polymorphism (Polymorphic Establishment Condition, Use Scenario); Distinguish Member Functions Rewriting and redefinition of the virtual function table pointer, step-by-step initialization; virtual function; pure virtual function; use of abstract classes; virtual destructor and pure virtual destructor

7) Design pattern principles for abstract programming and design patterns; commonly used design patterns

8) Basic syntax of function templates, class templates, function templates; calling rules of function templates and function overloads; compilation process of templates by compilers; concept and basic syntax of class templates; class templates in inheritance; ordinary friends in class templates Processing of function and friend function templates

9) Exception, I / O stream C ++ type conversion; C ++ standard exception library; exception throwing and catching; C ++ standard I / O stream (cin, cout); C ++ file I / O class usage

10) Principles of STLSTL containers and iterators; serial containers vector, string, deque; stack containers stack, queue; doubly linked list container list; associative container set, multiset; pair pair; associative container map, multimap; STL algorithm Detailed

C ++ core programming to create a
complete video of your core programming skills : http://yun.itheima.com/course/427.html?zzpyk
supporting materials: https://pan.baidu.com/s/1F_tvZX3h6MrlCl3U6RUJtA password: cka8

C ++ STL Advanced Tutorial | In-
depth publication of complete video: http://yun.itheima.com/course/434.html?zzpyk
Supporting materials: https://pan.baidu.com/s/1sli_-2F9IENir1ZeLjXRMQ Password: cj6j

 

The fourth stage-desktop application development

1. Learning objectives:

1) Have basic skills and common skills for common QT interface development;

2) Have basic skills and common skills for common MFC interface development;

2. Knowledge points:

1) The basic concepts of Qt commonly used controls Qt; Qt application framework; the application of Qt signals and slots; Qt window system; the use of common dialogs; Qt interface design; Qt event processing

2) Qt drawing and file operation QPainter drawing; update function; drawing equipment (QPixmap, QBitmap, QImage, QPicture); file operation

3) Basic concepts of MFC dialog box and common space Windows programming; Windows programming model; MFC application framework; creating MFC application; the role of MFC function Ex suffix and Afx prefix; creating dialog-based MFC application; Boxes and non-modal dialogs; commonly used controls

QT
complete video from entry to actual combat full version : http://yun.itheima.com/course/539.html?zzpyk
supporting materials: https://pan.baidu.com/s/196eBhivKbjDfZgZEDZ5SAQ extraction code: ammj

Step by step to create a
complete video of the -frameQT custom interface : http://yun.itheima.com/course/433.html?zzpyk
supporting materials: https://pan.baidu.com/s/1QpFmOEV6QgfJoMd3KsD0Pg extraction code: y4a8

The advanced MFC tutorial publishes a
complete video: http://yun.itheima.com/course/431.html?zzpyk
supporting materials: https://pan.baidu.com/s/1HgL5A033X-ZcA9zetr1cHA password: y0hj

 

The fifth stage-Linux system programming

1. Learning objectives:

1) Familiar with Linux development environment

2) Proficient in using Linux system interface

3) Master interprocess communication

2. Knowledge points:

1) Linux command directory structure under Linux; work schedule application command; software installation and uninstallation under Ubuntu;

2) Linux development and debugging tools operate in vim command mode; operate in vim last-line mode; vim configuration; gcc workflow and master common parameters; production and use of static libraries and shared libraries (windows dynamic libraries) under Linux ; Makefile; gdb debugging; pcb and file descriptors, virtual address space;

3) System I / O operation Linux system IO functions; blocking and non-blocking concepts; stat / lstat functions; file attribute related functions; link related concepts and functions; directory operation related concepts and functions; dup, dup2 functions; fcntl functions

4) Concepts related to processes and IPC communication processes; process operation related functions; orphan processes; zombie processes; process recycling; interprocess communication

5) Thread and concurrent synchronization mutex; deadlock and solution; read-write lock; condition variable; condition variable to achieve production consumer model; semaphore to achieve production consumer model; thread synchronization to solve the philosopher dining problem;

6) Basic concepts in signal signals; use signal-related functions; signal core implementation principles; signal capture functions signal, sigaction; use signals to complete the recovery of subprocesses; how to pass parameters when sending signals;

Learn linux?
Complete video from zero-based system programming : http://yun.itheima.com/course/430.html?zzpyk
Supporting materials: https://pan.baidu.com/s/17E_5UIK_naKCbSIy7IHVfg Password: 3l77

 

The sixth stage-Linux network programming

1. Learning objectives:

1) Familiar with the basic knowledge of network

2) TCP / IP protocol stack 3) Highly concurrent server development

2. Knowledge points:

1) Network protocol and network programming OSI seven-layer model structure; TCP / IP 4-layer model structure; comparison of advantages and disadvantages of B / S and C / S; common network protocol formats; sockets; network byte order; IP address conversion function ; Writing TCP C / S network program; UDP communication mechanism and model; local socket; three-way handshake connection process; four-way handshake disconnection process; sliding window concept; error handling function encapsulation; TCP state transition; 2MSL concept ; Port multiplexing method; half-closed;

2) High concurrent server development (poll, select and epoll) multi-channel IO transfer model; select function; fd_set related operation function; select multi-channel IO transfer model poll operation function; epoll multi-channel IO model; design of thread pool model Idea; multi-process concurrent server; multi-thread concurrent server; libevent library; epoll reactor model; use BufferEvent, evBuffer; multi-thread concurrent server;

The
complete video of network programming of linux collection series : http://yun.itheima.com/course/429.html?zzpyk
supporting materials: https://pan.baidu.com/s/1pNonADaGLktICkpeqTUCCQ password: yfyy

 

Phase 7-Project actual combat

1. Learning objectives:

1) Master the operation of commonly used databases in the project;

2) Master shell script programming;

3) Master the commonly used frameworks in the project;

4) Master the tool chain commonly used in the project;

2. Knowledge points:

1) Simple query of Oracle database programming; common functions of Oracle; multi-table query; set operation; DDL operation management table; DML management data; other database objects; Solve the Top-N problem;

2) Constraints of MySQL tables in MySQL database programming; Chinese garbled problems in MySQL; MySQL function library to connect to the database; MySQL API to access the database; use the basic API to implement the MySQL client tool; preprocessing API to access the MySQL database; use api to modify MySQL transaction characteristics;

3) MongoDB database programming MongoDB installation; related concepts of MongoDB; basic operation instructions of MongoDB; data operation and indexing operation of MongoDB; replica set of MongoDB; use of MongoDB C ++ API; general process of demand analysis; realization principle of demand case And design process; case program framework construction and deployment;

4) Redis cache database programming

5) Shell script programming

6) git-code version control tool

7) Construction and use of Nginx (web framework)

8) Configuration and use of fastDFS (distributed file system)

9) Continuous update. . . . . .

C ++ Relational Database Programming | 4 days from entry to mastering
full video: http://yun.itheima.com/course/435.html?zzpyk

Supporting information: https://pan.baidu.com/s/1O3UARlzP6yz0wNZK2WIO2g extraction code: sfw2

Complete video of MongoDB from configuration to programming
: http://yun.itheima.com/course/432.html?zzpyk

Supporting information: https://pan.baidu.com/s/13rHVy53uCNZuAumik2ojrQ Password: 8d5k

Technical dry goods-Linux Shell mastery
complete video: http://yun.itheima.com/course/448.html?2004zzpqq

Supporting information: https://pan.baidu.com/s/1Ss0JXNkjT6WuPw5rzc-KGQ extraction code: ziha

 

Guess you like

Origin www.cnblogs.com/xiao-wanzi/p/12737862.html