本教程分为基础实训篇、综合实训篇和进阶实训篇三大部分。其中基础实训篇的主要内容包括C语言基本操作与程序基本结构,函数,指针与数组,结构体、共用体和枚举类型,文件与文件管理器等。综合实训篇主要介绍研究性学习方法,以及利用网络学习平台完成学生成绩管理系统设计的过程。进阶实训篇主要介绍目前应用广泛的基本3D绘图系统设计方法,以及对入门者有一定难度的C语言缺陷问题。全书共计9章,16个实训,3个系统项目的开发与实现。
本书适应性强,适合作为三年制和两年制高职高专教材,适合作为高等院校相关专业教材,适合作为参加计算机二级等级考试的强化训练教材,适合作为计算机编程技术培训教材,同时也是广大计算机编程爱好者的自学参考书。
本教材以C程序设计零起点的读者作为主要对象,通过基础实训篇、综合实训篇和进阶实训篇三大部分循序渐进地提高读者的实际编程能力。基础实训篇介绍C语言的重要概念、知识点和难点训练与操作,包含C语言的基本操作与程序基本结构,函数,指针与数组,结构体、共用体和枚举类型,文件与文件管理器等。综合实训篇提供WebQuest网络学习平台下的“学生成绩管理系统”设计模式,探索出信息技术与实训课程有效整合的方法。进阶实训篇介绍了目前C语言基础教材中较少涉及的基本3D绘图系统设计,以及解决对入门级读者有一定难度的C语言缺陷问题。另外,读者还可以通过“相关资源”查询各种资料丰富学习内容,通过练习题巩固所学知识,通过丰富的实训项目增强应用能力,从而达到理想的学习效果。
第1部分 基础实训篇
第1章 程序设计基础
1.1 知识要点
1.1.1 C语言的基础知识
1.1.2 标识符、常量和变量
1.1.3 各类数值型数据之间的混合运算
1.1.4 算术运算符和算术表达式
1.1.5 赋值运算符和赋值表达式
1.1.6 自加、自减运算符和逗号运算符
1.1.7 位运算
1.2 实训项目1—1:Visual C++6.0开发环境
1.2.1 实训目的与要求
1.2.2 实训操作步骤
1.3 练习题
1.3.1 基础练习题
1.3.2 进阶练习题
第2章 程序的控制结构
2.1 知识要点
2.1.1 算法
2.1.2 C语言程序三种基本结构
2.2 实训项目2—1:C语言程序的顺序结构
2.2.1 实训目的与要求
2.2.2 实训操作步骤
2.3 实训项目2—2:C语言程序的选择结构
2.3.1 实训目的与要求
2.3.2 实训操作步骤
2.4 实训项目2—3:C语言程序的循环结构
2.4.1 实训目的与要求
2.4.2 实训操作步骤
2.5 练习题
第3章 预处理和函数
3.1 知识要点
3.1.1 库函数
3.1.2 编译预处理
3.1.3 函数的调用
3.1.4 函数的嵌套调用和递归调用
3.1.5 局部变量、全局变量和存储分类
3.1.6 内部函数和外部函数
3.2 实训项目3—1:基本知识的掌握与应用
3.2.1 实验目的和要求
3.2.2 实验操作步骤
3.3 实训项目3—2:实际问题的解决
3.3.1 实验目的和要求
3.3.2 实验操作步骤
3.4 练习题
3.4.1 基础练习题
3.4.2 进阶练习题
第4章 数组和指针
4.1 知识要点
4.1.1 数组
4.1.2 指针的概念及其运算
4.2 实训项目4—1:数组的排序
4.2.1 实训目的与要求
4.2.2 实训操作步骤
4.3 实训项目4—2:打印杨辉三角形
4.3.1 实训目的与要求
4.3.2 实训操作步骤
4.4 实训项目4—3:有序数列中插入新数
4.4.1 实训目的与要求
4.4.2 实训操作步骤
4.5 实训项目4—4:字符串的连接
4.5.1 实训目的与要求
4.5.2 实训操作步骤
4.6 练习题
4.6.1 基础练习题
4.6.2 进阶练习题
第5章 结构体、共用体和枚举类型
5.1 知识要点
5.1.1 结构体
5.1.2 共用体
5.1.3 枚举类型
5.1.4 typedef定义类型
5.1.5 链表
5.2 实训项目5—1:学籍管理程序
5.2.1 实训目的与要求
5.2.2 实训操作步骤
5.3 实训项目5—2:读取一个整型数据的高低字节
5.3.1 实训目的与要求
5.3.2 实训操作步骤
5.4 实训项目5—3:输出数字1~7对应的星期
5.4.1 实训目的与要求
5.4.2 实训操作步骤
5.5 实训项目5—4:两个有序单链表的合并
5.5.1 实训目的与要求
5.5.2 实训操作步骤
5.6 练习题
5.6.1 基础练习题
5.6.2 进阶练习题
第6章 文件与文件管理器
6.1 知识要点
6.1.1 本章需要了解的一些概念及知识点
6.1.2 主要操作函数及相应的使用
6.2 实训项目6—1:文件的成块写入及多方式输出
6.2.1 实训目的与要求
6.2.2 实训操作步骤
6.3 实训项目6—2:多个文件的合并
6.3.1 实训目的与要求
6.3.2 实训操作步骤
6.4 练习题
6.4.1 基础练习题
6.4.2 进阶练习题
第2部分 综合实训篇
第7章 研究性学习方法和设计:学生成绩管理系统的建立和应用
7.1 WebQuest学习平台简介和使用方法
7.1.1 WebQuest的定义
7.1.2 WebQuest的构成
7.1.3 WebQuest学习平台简介
7.2 WebQuest平台下“学生成绩管理系统”设计的实现
7.2.1 情景分析:项目规划
7.2.2 任务设计:函数及相关算法
7.2.3 过程设计:系统实现
7.2.4 评价标准
7.3 参考程序
第3部分 进阶实训篇
第8章 C语言绘图
8.1 屏幕操作函数
8.2 字符属性函数
8.3 屏显状态函数
8.4 屏幕和视口设置与清除函数
8.5 调色板和颜色函数
8.6 屏幕位置函数
8.7 像素函数
8.8 直线和线型函数
8.9 多边形函数
8.10 圆、弧和曲线函数
8.11 填充函数
8.12 图像函数
8.13 图形文本函数
8.14 图形文本设置
8.15 练习题
第9章 C语言的缺陷
9.1 词法缺陷
9.1.1 =不是==
9.1.2 &和/不是&&和//
9.1.3 多字符记号
9.1.4 例外
9.1.5 字符串和字符
9.2 句法缺陷
9.2.1 理解声明
9.2.2 运算符并不总是具有所想象的优先级
9.2.3 分号带来的问题
9.2.4 switch语句
9.2.5 函数调用
9.2.6 if-else的匹配问题
9.3 链接
9.4 语义缺陷
9.4.1 表达式求值顺序
9.4.2 &&、//和!运算符
9.4.3 下标从零开始
9.4.4 C并不总是转换实参
9.4.5 指针不是数组
9.4.6 避免提喻法
9.4.7 空指针不是空字符串
9.4.8 整数溢出
9.4.9 移位运算符
9.5 库函数
9.5.1 getc()返回整数
9.5.2 缓冲输出和内存分配
9.6 预处理器
9.6.1 宏不是函数
9.6.2 宏不是类型定义
9.7 可移植性缺陷
9.7.1 一个名字中都有什么
9.7.2 一个整数有多大
9.7.3 字符是带符号的还是无符号的
9.7.4 右移位是带符号的还是无符号的
9.7.5 除法如何舍入
9.7.6 一个随机数有多大
9.7.7 大小写转换
9.7.8 先释放再重新分配
9.7.9 可移植性问题的一个实例
9.8 练习题
附录A C语言运算符及其优先级汇总表
附录B C语言常用库函数
附录C 相关网络资源
参考文献