The book consists of six parts: mathematical logic, set theory, graph theory, preliminary combinatorial analysis, algebraic structure, preliminary formal language and automata. Each part includes three aspects: content summary, exercises matched with this part, and exercises solutions. Each question has a detailed answer and analysis, and some questions give different answers or point out the reasons for the mistakes.