《程序设计导引及在线实践》- 北大ACM集训专用书籍

需积分: 19 13 下载量 109 浏览量 更新于2024-09-18 收藏 1.71MB PDF 举报
"《程序设计导引及在线实践》是由北京大学信息科学技术学院的李文新、郭炜和余华山合著的一本针对ACM竞赛和程序设计教学的书籍,特别强调与北京大学程序在线评测系统的结合,以增强实践性学习。书中通过分析POJ平台上的错误提交案例,帮助读者避免常见编程陷阱。" 本书详细介绍了C/C++语言的基础知识,包括: 1. **程序基本框架**:讲解了编写程序的基本结构,如何组织代码。 2. **变量**:详细阐述了变量的定义、赋值和引用,是理解程序中数据存储的基础。 3. **数据类型**:涵盖了C/C++中的基本数据类型,如整型、浮点型、字符型等。 4. **常量**:介绍了常量的使用,包括数值常量、字符串常量等。 5. **运算符和表达式**:涵盖了算术、赋值、关系、逻辑和位运算符,以及它们在表达式中的应用。 6. **注释**:讲解了如何使用注释来提高代码可读性。 7. **分支语句**:包括if和switch语句,用于根据条件执行不同的代码路径。 8. **循环语句**:介绍了for、while、do-while循环,以及break和continue语句的用法。 9. **函数**:讨论了函数的定义、调用、参数传递和返回值,还提到了库函数和头文件的使用。 10. **标准输入输出**:介绍了printf和scanf函数,用于实现程序的输入输出功能。 11. **全局变量和局部变量**:解释了变量的作用域和生命周期。 12. **数组**:涵盖了一维、二维数组的定义、初始化和越界问题。 13. **字符串**:讲述了字符串常量和字符数组的处理,以及字符串与指针的关系。 14. **指针**:深入讲解了指针的概念、运算、空指针、多级指针、指针与数组、字符串的关系,以及void指针和函数指针的使用。还讨论了动态内存分配和避免无效指针的误用。 15. **结构**:介绍了结构体的概念,如何定义结构变量,访问结构成员,结构数组,结构指针,以及动态分配结构变量和结构数组。 16. **文件读写**:简要介绍了如何进行文件操作,是程序处理数据存储的关键。 这本书适合ACM竞赛参与者、计算机科学学生或对C/C++编程感兴趣的读者,通过深入浅出的讲解和实际案例,有助于提升程序设计能力和问题解决技巧。结合北京大学的在线评测系统,读者可以即时检验学习成果,提升实战经验。