第1篇 欢迎进入C语言大门 1
第1章 了解程序设计语言 2
1.1 什么是算法和程序设计 2
1.1.1 程序设计语言简介 2
1.1.2 算法的描述 3
1.1.3 程序设计方法简介 5
1.1.4 结构化程序设计 6
1.2 了解C语言基础知识 6
1.2.1 探究C语言的发展和特点 6
1.2.2 阅读简单的C语言程序 7
1.3 编译和运行C语言应用程序 9
1.3.1 C语言应用程序的处理流程 9
1.3.2 Turbo C 2.0上机环境介绍 9
1.4 运行几个简单的C语言程序 11
本章小结 12
习题1 12
第2章 了解C语言的语法规则 14
2.1 C语言的数据类型 14
2.2 常量和变量 14
2.2.1 标识符 14
2.2.2 常量 16
2.2.3 变量 16
2.3 C语言的基本数据类型及其转换 17
2.3.1 C语言的基本数据类型 17
2.3.2 数据类型转换 22
2.4 书写表达式 22
2.4.1 算术运算符和算术表达式 23
2.4.2 赋值运算符和赋值表达式 24
2.4.3 逗号运算符和逗号表达式 26
2.5 项目开发实训——银行利息计算程序 27
本章小结 28
习题2 28
第3章 设计顺序结构程序 30
3.1 C语言的语句类型 30
3.1.1 C语言中的语句分类 30
3.1.2 最简单的C语言语句——赋值语句 31
3.2 输入和输出数据 32
3.2.1 输出数据 32
3.2.2 输入数据 38
3.3 项目开发实例——学会大、小写字母的转换 42
本章小结 42
习题3 42
第4章 设计选择结构程序 45
4.1 选择结构简介 45
4.1.1 解决选择问题的基本步骤和方法 45
4.1.2 描述条件 46
4.2 双分支选择结构程序设计 48
4.2.1 不含else子句的if语句 49
4.2.2 含else子句的if语句 49
4.2.3 嵌套的if语句 51
4.3 多分支选择结构程序设计 52
4.4 典型案例分析 54
本章小结 56
习题4 56
第5章 设计循环结构程序 58
5.1 了解循环结构 58
5.2 设计单重循环结构程序 59
5.2.1 当型单重循环程序设计(while语句) 59
5.2.2 直到型单重循环程序设计(do-while语句) 60
5.2.3 for语句实现的循环 61
5.2.4 强制缩短与中止循环过程设计 63
5.2.5 区别3种循环结构 65
5.3 设计复杂循环结构程序 66
5.4 典型案例分析 67
本章小结 70
习题5 70
第6章 多功能计算软件项目实训 72
6.1 项目实训涉及知识要点综述 72
6.2 项目实训的目的和任务 72
6.3 项目需求分析 72
6.4 项目总体设计 72
6.5 项目数据定义 73
6.6 项目界面设计 73
6.7 项目代码实现 74
6.8 项目实训小结 75
第2篇 开发中型项目 76
第7章 近距离接触C语言函数 77
7.1 了解C语言函数 77
7.1.1 用函数解决实际问题的方法与步骤 77
7.1.2 常用标准库函数 77
7.2 定义函数 78
7.2.1 定义自己的函数 79
7.2.2 函数的参数 81
7.2.3 函数的返回值 82
7.3 调用函数 83
7.3.1 调用函数的一般格式 83
7.3.2 声明一个函数 85
7.3.3 调用函数中的参数传递方式 86
7.4 深入探讨C函数 87
7.4.1 函数的嵌套调用 87
7.4.2 函数的递归调用 88
7.5 变量的作用域和存储类别 90
7.5.1 变量的作用域 90
7.5.2 变量的存储类别 93
7.6 内部函数与外部函数 99
本章小结 99
习题7 99
第8章 编译预处理 101
8.1 定义宏 101
8.1.1 定义不带参数的宏 101
8.1.2 定义带参数的宏 102
8.1.3 终止宏定义 106
8.2 了解文件包含 106
8.2.1 初识文件包含 106
8.2.2 调试多文件程序 106
8.3 了解条件编译 107
本章小结 108
习题8 108
第9章 应用数组设计程序 110
9.1 使用一维数组 110
9.1.1 定义一维数组 110
9.1.2 引用一维数组元素 111
9.1.3 初始化一维数组 111
9.1.4 应用一维数组解决实际问题 112
9.2 理解二维数组 114
9.2.1 定义二维数组 114
9.2.2 引用二维数组元素 114
9.2.3 初始化二维数组 115
9.2.4 应用二维数组解决实际问题 116
9.3 深入探讨数组——字符数组 117
9.3.1 字符数组的定义、引用和初始化 117
9.3.2 字符串处理函数 119
9.4 典型案例分析 122
本章小结 125
习题9 125
第10章 应用指针解决实际问题 127
10.1 了解指针的基本知识 127
10.1.1 理解地址和指针 127
10.1.2 定义指针变量 128
10.1.3 指针的基本运算 128
10.2 综合应用指针与数组 130
10.2.1 指向一维数组的指针变量 130
10.2.2 指向字符串的指针变量 132
10.2.3 指针与二维数组 133
10.2.4 指针数组 135
10.2.5 指向指针的指针 136
10.3 综合应用指针与函数 137
10.3.1 指针变量作函数参数 137
10.3.2 带参数的主函数 139
10.3.3 指向函数的指针变量 140
10.3.4 返回指针值的函数(指针函数) 142
本章小结 143
习题10 143
第11章 学生成绩管理系统项目实训 146
11.1 项目实训涉及知识要点综述 146
11.2 项目实训的目的和任务 146
11.3 项目需求分析 146
11.4 项目总体设计 146
11.5 项目详细设计 147
11.6 项目实训小结 147
11.7 项目代码实现 148
11.8 项目实训小结 150
第3篇 开发大型项目 151
第12章 探究结构体、共用体、枚举及位运算 152
12.1 理解结构体 152
12.1.1 定义结构体类型 152
12.1.2 定义和初始化结构体变量 153
12.1.3 结构体变量的引用 155
12.1.4 深入探究结构体 156
12.1.5 使用结构体变量、结构体指针变量作函数参数 158
12.1.6 结构体指针的应用——链表 159
12.2 了解共用体(联合体) 168
12.2.1 定义共用体类型、共用体类型变量 168
12.2.2 引用共用体变量 168
12.3 了解枚举类型 169
12.4 用typedef定义类型 170
12.5 了解位运算 171
本章小结 172
习题12 173
第13章 学习文件 175
13.1 初识文件 175
13.1.1 区别不同的文件 175
13.1.2 操作文件的基本方法和步骤 176
13.1.3 指向文件——文件类型指针 176
13.1.4 打开与关闭文件 177
13.2 读/写文本文件(ASCII码文件) 178
13.2.1 文件的字符输入/输出函数 178
13.2.2 测试文件结束函数feof() 179
13.2.3 文件的字符串输入/输出函数 180
13.2.4 文件的格式输入/输出函数 180
13.3 读/写二进制文件 180
13.4 文件的定位 181
本章小结 183
习题13 183
第14章 小型家庭财务管理项目实训 186
14.1 项目实训涉及知识要点综述 186
14.2 项目实训的目的和任务 186
14.3 项目实训要求 186
14.4 项目需求分析 186
14.5 项目总体设计 187
14.6 项目详细设计 188
14.6.1 成员用户登录模块设计 188
14.6.2 成员财务管理模块设计 191
14.6.3 成员管理模块设计 201
14.7 项目实训小结 213
附录A C语言中的关键字 214
附录B 常用字符与ASCII代码对照表 215
附录C 运算符的优先级和结合方向 216
附录D 常用的Turbo C标准库函数 218