第一篇 基础篇 3
第1章 编程思想 3
1.1 程序设计思想 3
1.1.1 程序设计的基本步骤 3
1.1.2 程序设计的学习方法 4
1.2 算法 4
1.2.1 算法概念 4
1.2.2 算法的特性 5
1.2.3 算法的表示 6
1.2.4 算法的复杂度 7
1.2.5 结构化程序设计方法 8
1.2.6 算法举例 10
1.3 上机编程准备 11
1.3.1 TurboC编程开发环境 11
1.3.2 VC++编程开发环境 15
1.3.3 实例运行过程 15
上机实践 18
第2章 C语言基础 20
2.1 程序的基本结构 20
2.2 数据类型 21
2.3 标识符、常量和变量 22
2.3.1 标识符 22
2.3.2 常量和变量 22
2.3.3 整型数据 24
2.3.4 实型数据 26
2.3.5 字符型数据 28
2.4 赋值运算符和赋值表达式 29
2.4.1 赋值运算符和赋值表达式 29
2.4.2 运算符的优先级和结合性 30
2.5 算术运算符和算术表达式 31
2.5.1 算术运算符 31
2.5.2 算术表达式 32
2.5.3 算术运算符优先级和结合性 33
2.5.4 算术运算中的类型转换 33
2.6 位运算符、逗号运算符和求字节运算符 35
2.6.1 位运算符 35
2.6.2 逗号运算符 36
2.6.3 求字节运算符 37
2.6.4 VC++与TC之间的不同解释 38
上机实践 38
习题 39
第3章 C程序设计基础 43
3.1 顺序结构程序设计 43
3.1.1 赋值语句 43
3.1.2 基本输入输出函数 43
3.1.3 数据的输入和输出 46
3.2 选择结构程序设计 51
3.2.1 关系运算符和关系表达式 51
3.2.2 逻辑运算符和逻辑表达式 52
3.2.3 语句和复合语句 53
3.2.4 分支结构 53
3.2.5 条件运算符 58
3.3 循环结构程序设计 59
3.3.1 循环结构 59
3.3.2 循环的应用 62
3.3.3 循环语句的嵌套 64
3.3.4 break语句和continue语句 66
3.4 编译预处理 66
3.4.1 宏定义 67
3.4.2 文件包含 69
3.4.3 条件编译 70
上机实践 71
习题 78
第4章 C程序组织基础 88
4.1 函数的概念 88
4.2 数组的概念 90
4.3 结构体的概念 92
4.4 指针的概念 94
4.4.1 指针 94
4.4.2 变量与指针 96
4.4.3 指针变量的引用 96
上机实践 97
习题 98
综合习题一 101
第二篇 提高篇 113
第5章 数据组织 113
5.1 数组 113
5.1.1 一维数组 113
5.1.2 二维数组 115
5.1.3 字符数组 118
5.2 结构体 123
5.2.1 结构体变量 124
5.2.2 结构体数组 124
5.3 共用体和枚举类型 126
5.3.1 共用体类型定义 126
5.3.2 共用体变量的定义和引用 126
5.3.3 枚举类型定义 127
5.3.4 枚举变量与枚举元素 128
5.4 typedef自定义类型 129
上机实践 130
习题 135
第6章 编程模块化思想 140
6.1 问题的提出 140
6.2 函数 140
6.2.1 函数概述 140
6.2.2 函数的调用与参数 142
6.2.3 函数的参数传递 145
6.2.4 函数的嵌套调用和递归调用 149
6.3 局部变量和全局变量 153
6.3.1 局部变量 153
6.3.2 全局变量 153
6.4 变量的存储类别 155
6.4.1 局部变量的存储 155
6.4.2 全局变量的存储 157
6.5 内部函数和外部函数 158
6.5.1 内部函数 158
6.5.2 外部函数 159
6.5.3 多文件编译 159
上机实践 159
习题 162
第7章 指针 168
7.1 指针变量作为函数参数 168
7.2 数组与指针 169
7.2.1 指向数组元素的指针 169
7.2.2 通过指针引用数组元素 170
7.2.3 用数组名作函数参数 171
7.2.4 二维数组与指针 172
7.3 字符串与指针 174
7.3.1 字符串的表示形式 174
7.3.2 字符指针作函数参数 176
7.4 函数与指针 177
7.4.1 用函数指针变量调用函数 177
7.4.2 用指向函数的指针作函数参数值 178
7.4.3 返回指针值的函数 179
7.5 指针数组与二级指针 180
7.5.1 指针数组的概念 180
7.5.2 二级指针 181
7.5.3 主函数与命令行参数 182
7.6 结构与指针 183
7.6.1 指向结构体变量的指针 183
7.6.2 指向结构体数组的指针 184
7.6.3 用指向结构体的指针作函数参数 184
7.7 链表 185
7.7.1 动态分配和释放空间的函数 186
7.7.2 建立链表和输出链表 186
7.7.3 链表的基本操作 188
上机实践 191
习题 195
第8章 文件 201
8.1 文件的概念 201
8.2 文件的使用方法 203
8.2.1 文件的打开和关闭 203
8.2.2 文件的读写 205
8.2.3 文件的定位 211
上机实践 213
习题 217
综合习题二 220
第三篇 设计篇 231
第9章 综合设计 231
9.1 学生成绩管理系统 231
9.2 系统需求分析 231
9.3 系统总体设计 232
9.4 系统详细设计与实现 233
9.5 系统参考程序 235
第10章 实用编程技巧举例 239
10.1 模块化程序编程技巧 239
10.2 使用通用函数的编程技巧 242
10.3 数值分析的计算机编程技巧 244
10.4 读取设计手册上的文本数据的方法和技巧 247
附录A 常用字符与ASCII码对照表 251
附录B 运算符的优先级和结合性 252
附录C 库函数 254
附录D 2013年3月全国计算机等级考试二级C试题及参考答案 260
附录E 习题参考答案 270
附录F C语言上机考试模拟试卷 294
参考文献 420