具体描述
内容提要
本书是按电子部的《1996~2000年全国电子信息类专业教材编审出版计划》,由计算机教
学指导委员会编审、推荐出版的。
本书旨在使学生掌握使用C语言进行应用程序设计的基本技能,着眼于培养学生独立编
程的能力和对程序设计语言的悟性。按“精讲多练”教学思路,根据C语言和程序设计特点,
全书分为两大部分,各5个单元。第一部分为C的基本内容,包括控制结构、基本数据类型、
表达式和函数、编译预处理以及调试技术等,第二部分为C的高级编程技术,包括指针应用和
高级数据结构。每一个单元均有7个主题,方便教和学。本书还配有配套的教学软件和投影
胶片。
本书可作为大专院校程序设计语言课程的教材,也可供工程技术人员参考。
作者简介
目录信息
出版说明
前言
使用本书的建议
第1单元 Hello,C!
本单元教学目标
学习要求
授课内容
1.1 C语言是最好的程序设计语言
1.2 C程序的基本结构
1.3 用C语言解决实际问题的步骤
自学内容
1.4 C语言的历史、特点、用途和发展
1.5 库函数printf()与scanf()的使用方法
调试技术
1.6 TurboC2.0的安装方法和主要文件
1.7 Turbo C集成环境的使用方法
1.8 程序的输入与编辑
1.9 利用Turbo C的联机帮助
1.10 编译过程的调试
1.11 连接过程的调试
程序设计举例
单元上机练习题目
第2单元 控制结构
本单元教学目标
学习要求
授课内容
2.1 程序的基本控制结构
2.2 “自顶向下,逐步求精”的程序设计方法
2.3 C语言的控制结构
2.4 伪代码
自学内容
2.5 结构化程序设计方法简介
2.6 C语言的其它控制转移语句
2.6.1switch语句
2.6.2goto语句和语句标号
2.6.3break语句和continue语句
调试技术
2.7 运行错误的判断与调试
2.8 基本调试手段
程序设计举例
单元上机练习题目
第3单元 数据类型
本单元教学目标
学习要求
授课内容
3.1 数据类型
3.2 整数数据的表示方法
3.3 一般数值数据的表示方法
3.4 文字数据的表示方法
3.5 数组
自学内容
3.6 标识符
3.7 8进制和16进制常量
3.8 类型修饰符
3.9 变量的初始化
3.10字符型数组和字符串处理库函数
调试技术
3.11Turbo C集成环境的调试功能
3.12 集成环境的文件处理功能
3.13 工程文件的应用
程序设计举例
单元上机练习题目
第4单元 表达式与函数
本单元教学目标
学习要求
授课内容
4.1 算术运算符和算术表达式
4.2 逻辑运算符和逻辑表达式
4.3 赋值运算符和赋值表达式
4.4 自增运算符和自减运算符
4.5 其它具有副作用的运算符
4.6 表达式语句
4.7 函数的结构
4.8 函数的引用
自学内容
4.9 表达式中各运算符的运算顺序
4.10 类型不同的数据之间的混合算术运算
4.11 问号表达式
4.12 逗号表达式
4.13 函数的说明
4.14 递归函数
调试技术
4.15 存储模式
4.16 集成环境的参数设置
4.17 命令行编译器
程序设计举例
单元上机练习题目
思考题
第5单元 编译预处理
本单元教学目标
学习要求
授课内容
5.1 宏定义
5.2 文件包含
自学内容
5.3 局部变量和全局变量
5.4 自动变量、静态变量和寄存器变量
5.5 多个源程序文件组成的大程序中的全局变量说明
5.6 变量使用小结
调试技术
5.7 注解在调试中的作用
5.8 编译程序的预定义宏
5.9 条件编译命令
5.10 取消宏定义命令
5.11 如何查看编译预处理对源程序的转换结果
程序设计举例
单元上机练习题目
第6单元 结构体和共用体类型
本单元教学目标
学习要求
授课内容
6.1 结构体类型
6.2 结构体类型和结构体类型变量的定义
6.3 结构体类型变量的使用
自学内容
6.4 日期类型和时间类型
6.5 共用体类型
6.6 枚举类型
6.7 typedef语句
6.8 结构体类型变量的初值
6.9 如何确定各种数据类型变量占用的存储量
6.10 类型定义和变量说明的简化
实用编程
6.11 用户界面程序设计:面向显示屏的输出
6.12菜单程序构造
6.13 中文操作系统编程
程序设计举例
单元上机练习题目
第7单元 指针的概念
本单元教学目标
学习要求
授课内容
7.1 地址与指针
7.2 指针型变量的定义
7.3 指针与数组
自学内容
7.4 指针的数组
7.5 指针和指针数组的初始化
实用编程
7.6 使用操作系统的中断功能调用
7.7 鼠标编程
程序设计举例
单元上机练习题目
第8单元 指针与函数
本单元教学目标
学习要求
授课内容
8.1 返回值为地址值的函数
8.2 指针型的参数
8.3 指向函数的指针
8.4 指向函数的指针的数组
自学内容
8.5 指向指针的指针
8.6 指向void类型的指针和对指针的强制类型转换
8.7 动态存储分配与内存管理
8.8 命令行参数
实用编程
8.9 可变参数表函数的编程
8.10 远指针和近指针
程序设计举例
单元上机练习题目
第9单元 指针与结构体
本单元教学目标
学习要求
教学内容
9.1 指针与结构体类型变量
9.2 链表结构(1):单链表
自学内容
9.3 链表结构(2):其它链式数据结构
9.4 位运算表达式
实用编程
9.5 图形编程基础
程序设计举例
单元上机练习题目
第10单元 文件
本单元教学目标
学习要求
授课内容
10.1 文件概述
10.2 文件的打开与关闭
10.3 按字符方式读写文件
自学内容
10.4 文件的格式读写
10.5 文件的成块读写
10.6 文件指针管理
10.7 非缓冲文件系统简介
实用编程
10.8 汉字显示的基本原理
程序设计举例
单元上机练习题目
附录1 ASCII码表
附录2 Turbo C常用库函数
附录3 常见的编译出错信息
参考文献
· · · · · · (收起)
读后感
用户评价
这本书最大的价值在于,它成功地架起了一座从“初学C语言”到“能够独立解决实际问题”的桥梁。它不仅仅是一本教材,更像是一本“问题解决策略集”。书中大量的“常见错误与陷阱”分析单元,简直是救星一般的存在。作者会将读者在实际开发中最常遇到的内存泄漏、野指针、栈溢出等问题进行汇总,然后剖析问题的根源,并提供系统性的调试和预防方法。这种基于实践反馈的教学方式,远比单纯的理论灌输来得有效。读完之后,我感觉自己面对一个陌生的C语言项目时,信心提升了不少,因为我知道,即使遇到难题,这本书里也可能已经预设了类似的情景,并提供了解决问题的思路框架。
这本书的排版和设计感令人耳目一新,完全打破了我对传统技术书籍又厚又闷的刻板印象。图文并茂的设计,大量使用彩色图表来辅助解释抽象的逻辑流程,极大地减轻了阅读压力。特别是当涉及到流程控制和递归调用时,书中清晰的图形化流程图,几乎是瞬间就将那些在脑海中盘旋不清的执行路径梳理清楚了。语言风格上,作者的文字非常幽默且富有亲和力,读起来完全没有那种高高在上的说教感,反而像是一位朋友在耐心地给你讲解难题。这种轻松愉快的阅读体验,极大地激发了我持续深入学习的动力。很多时候,我不是在“啃书”,而是在享受一种知识探索的乐趣。
与其他宣称“全面覆盖”的参考书相比,这本书在细节处理上的严谨程度令人印象深刻。它没有追求广度而牺牲深度,而是对C语言标准库中那些容易被忽视但极其关键的函数进行了深入的挖掘和剖析。例如,对`malloc`/`free`的底层机制、`volatile`关键字的特定应用场景,以及标准输入输出流的缓冲机制,这本书都做了非常细致的辨析。很多我自认为已经掌握的知识点,在读完相关章节后才发现自己过去理解得多么片面。这种对“边界情况”和“底层原理”的执着,体现了作者深厚的功力和对读者负责的态度。它强迫你不仅要知其然,更要知其所以然,这对于培养扎实的编程内功是极其关键的一步。
阅读这本书的过程,简直就像是跟着一位经验丰富的老工程师在做项目实战演练。它不仅仅停留在理论层面,更注重实践操作的指导性。书中后半部分关于文件操作、结构体和链表实现的章节,简直是精华所在。作者没有简单地给出实现代码,而是详细地剖析了每一步设计思路背后的考量,比如在设计一个自定义链表时,如何处理异常情况、如何优化内存分配与释放的效率。这些实战经验的分享,远远超出了普通教科书的范畴,更像是一本“工程实践手册”。我尤其喜欢它在讲解数据结构时,穿插了性能分析的视角,让读者不仅仅知道“怎么做”,更要明白“为什么这么做效率更高”。对于希望从“会写代码”到“写好代码”的读者来说,这本书提供的视角是无价的。
这本书的结构安排得非常扎实,从最基础的变量、数据类型讲起,循序渐进地过渡到指针和内存管理,对于初学者来说,这种由浅入深的讲解方式是至关重要的。作者在阐述复杂的概念时,总是能用非常直观的比喻和生活化的例子来辅助理解,比如在解释指针的指向性时,他用了“房间钥匙”的比喻,一下子就让原本枯燥的内存地址变得生动起来。此外,书中对C语言的各个知识点的剖析都非常到位,尤其是在运算符优先级和作用域的讲解上,作者花费了大量的篇幅去梳理,并配以大量的代码示例进行演示,这对于避免初学者在实际编程中犯下低级错误非常有帮助。我个人非常欣赏它对基础知识的重视程度,很多其他教材为了追求“快”,会一笔带过这些核心概念,但这本书却愿意花时间把地基打牢,为后续学习打下了坚实的基础。