本教材分为5篇:项目准备篇;C语言初级应用篇;C语言中级应用篇;C语言高级应用篇和高级话题篇。项目准备篇介绍了C语言的特点、应用领域、C语言的学习方法、C程序的基本结构及无参无返回值函数等知识,该篇完成计算器项目的主菜单设计。初级应用篇采用计算器项目,介绍了基本数据类型、变量、运算符和表达式、三种程序设计结构以及带参有返回值函数等知识。中级应用篇采用“学生成绩管理系统V1.0”项目,介绍了一维数组的基本应用、字符串的使用,并分别介绍了使用二维数组和指针改写完善“学生成绩管理系统V1.0”的方法和思路。高级应用篇介绍了结构体和文件等相关知识,实现了“学生成绩管理系统V2.0”项目,并应用链表知识改写和完善了该项目。高级话题篇是对前四篇内容的深化和扩展,内容包括递归、预处理、变量的作用域与生命周期、指针的高级应用、位运算、联合与枚举等构造类型。
项目准备篇 ———初识 C语言
0.1什么是 C语言
0.1.1什么是程序设计语言
0.1.2 C语言的历史
0.2 C语言的特点
0.3 C语言能做什么
0.4 C语言基本结构
0.4.2自定义函数
0.4.3计算器的主菜单设计
0.5如何学习 C语言
第1篇简易计算器的开发 ———C语言初级应用
项目导学
第1章加法模块的开发
1.1任务说明
1.2任务分析
1.3任务实施
1.4知识点详解
1.4.1常量
1.4.2变量
1.4.3整型变量
1.4.4输入函数 ———scanf
1.4.5输出函数 ———printf
1.5项目完善
第2章除法模块的开发
2.1任务说明
·8· C语言程序设计项目教程
2.2任务分析
2.3任务实施
2.4知识点详解
2.4.1浮点型数据
2.4.2算术运算符
2.4.3算术表达式
2.4.4数据类型转换
2.4.5赋值运算符
2.5项目完善
第3章口令验证模块的开发
3.1任务说明
3.2任务分析
3.3任务实施
3.4知识点详解
3.4.1关系运算符和关系表达式
3.4.2逻辑运算
3.4.3程序的三种基本结构
3.4.4单分支 if语句
3.4.5双分支 if-else语句
3.4.6多分支 if-elseif语句
3.4.7 if语句的嵌套
3.5项目完善
第4章主菜单模块的开发
4.1任务说明
4.2任务分析
4.3任务实施
4.4知识点详解
4.4.1字符型数据
4.4.2多分支 switch语句
第5章应用有参有返回值函数开发计算器
5.1任务说明
5.2任务分析
5.3任务实施
5.4知识点详解
5.4.1无参无返回值函数
5.4.2有参无返回值函数
5.4.3无参有返回值函数
5.4.4有参有返回值函数
5.5项目完善
第6章累加模块的开发
6.1任务说明
6.2任务分析
6.3任务实施
6.4知识点详解
6.4.1 ++和--运算符
6.4.2 for循环
6.4.3 while循环
6.4.4 do-while循环
6.4.5 break和continue语句
6.5项目完善
第7章阶乘累加模块的开发
7.1任务说明
7.2任务分析
7.3任务实施
7.4知识点详解
7.4.1双重循环
7.4.2多重循环
7.5项目完善
第8章案例学习
8.1任务说明
8.2任务分析
8.3任务实施
第2篇学生成绩管理系统 V1.0的开发 ———C语言的中级应用
项目导学
第9章成绩录入模块的开发
9.1任务说明
9.2任务分析
9.3任务实施
9.4知识点详解
9.4.1一维数组的定义
9.4.2一维数组的初始化
9.4.3一维数组元素的引用
·10· C语言程序设计项目教程
9.4.4一维数组的输入和输出
9.4.5一维数组作为函数参数
9.5项目完善
9.5.1录入模块的完善
9.5.2成绩输出模块的开发
第10章成绩查询模块的开发
10.1任务说明
10.2任务分析
10.3任务实施
10.4知识点详解
10.4.1一维数组元素的查找
10.4.2一维数组元素的极值查找
10.5项目完善
10.5.1查找模块的改进
10.5.2成绩统计模块的开发
第11章成绩排序模块的开发
11.1任务说明
11.2任务分析
11.3任务实施
11.4知识点详解
11.4.1冒泡法排序
11.4.2选择法排序
第12章口令验证模块的改进
12.1任务说明
12.2任务分析
12.3任务实施
12.4知识点详解
12.4.1字符串的存储
12.4.2字符串的输入和输出
12.4.3常用的字符串处理函数
12.5项目训练
第13章基于二维数组的多门课程成绩管理系统的开发
13.1任务说明
13.2任务分析
13.3任务实施
13.4知识点详解
13.4.1二维数组的定义
13.4.2二维数组的初始化
13.4.3二维数组的遍历 …
13.4.4更多维的数组
13.5项目完善
第14章基于指针的学生成绩管理系统的开发
14.1指针入门
14.1.1指针的概念
14.1.2指针的定义与引用
14.2学生成绩管理系统框架改造
14.3成绩录入模块改写
14.3.1任务说明
14.3.2任务分析
14.3.3任务实施
14.4知识点详解
14.4.1数组名作为指针
14.4.2指针的运算
14.4.3使用指针操作字符串
14.4.4使用指针创建字符串
14.5项目完善
第15章案例学习
15.1任务说明
15.2任务分析
15.3任务实施
第3篇学生成绩管理系统 V2.0的开发 ———C语言的高级应用
项目导学
第16章学生基本信息录入模块的开发
16.1任务说明
16.2任务分析
16.3任务实施
16.4知识点详解
16.4.1结构体声明
16.4.2结构体变量的定义
16.4.3初始化结构体
16.4.4结构体成员的引用
·12· C语言程序设计项目教程
16.4.5结构体数组
16.5项目完善
第17章学生信息查找模块的开发
17.1任务说明
17.2任务分析
17.3任务实施
17.4知识点详解
17.4.1结构体数组的遍历
17.4.2指定值的查找
17.4.3极值的查找
17.5项目完善
第18章汇总统计模块的开发
18.1任务说明
18.2任务分析
18.3任务实施
18.4项目完善
第19章身份验证模块的开发
19.1任务说明
19.2任务分析
19.3任务实施
19.4知识点详解
19.4.1文本文件与二进制文件
19.4.2文件的读写操作及相关函数
19.5项目完善 …
第20章基于链表的学生成绩管理系统的开发
20.1任务说明
20.2任务分析
20.3任务实施
20.4知识点详解
20.4.1链表结点的定义
20.4.2链表结点的引用
20.4.3链表的遍历
20.4.4链表的插入
20.4.5链表的删除
20.5项目完善
20.5.1主控模块的改写
20.5.2用有参无返回值函数实现输出成绩清单模块
20.5.3用有参无返回值函数实现按姓名搜索记录模块
20.5.4用有参无返回值函数实现按姓名删除记录模块
20.5.5用有参有返回值函数实现追加录入学生成绩模块
第21章案例学习
21.1任务说明
21.2任务分析
21.3任务实施
第4篇高级话题
第22章函数
22.1递归函数
22.2内部函数与外部函数
22.3预处理
22.3.1宏定义
22.3.2文件包含
22.3.3条件编译
22.4变量的作用域与生命周期
22.4.1变量的作用域
22.4.2变量的生命周期
第23章指针与内存分配
23.1二级指针
23.2函数指针
23.3数组指针
23.4内存分配
23.4.1静态内存分配和动态内存分配
23.4.2动态内存分配函数
第24章位运算
24.1移位运算
24.2按位运算
第25章构造类型
25.1结构体的进一步讨论
25.1.1指向结构体类型变量的指针
25.1.2指向结构体类型数组的指针
25.2枚举类型
25.3联合类型
附录ⅠC语言关键字 …
附录Ⅱ ASCI
码对照表
附录Ⅲ运算符的优先级和结合方向
附录Ⅳ C语言常用库函数
附录ⅤC语言常用的转义字符
附录Ⅵ C语言常用英文词汇
附录Ⅶ教学建议
以项目开发为主线,兼顾知识点间的逻辑关系,每章完成一个功能模块的开发。