第1章 初步认识C语言 1
任务1.1 学生信息管理系统之菜单设计 1
1.1.1 C语言基本知识 1
1.1.2 C语言与其他语言 4
1.1.3 了解Visual C++6.0集成开发环境 6
1.1.4 数据的输入和输出 10
1.1.5 任务实现 17
任务1.2 鸡兔同笼问题 19
1.2.1 基本数据类型 19
1.2.2 常量和变量 21
1.2.3 运算符和表达式 23
1.2.4 任务实现 25
课后练习 27
第2章 程序控制结构 29
任务2.1 测身高 29
2.1.1 控制语句中的运算符和表达式 29
2.1.2 if语句 34
2.1.3 switch语句 38
2.1.4 任务实现 39
任务2.2 学生信息管理系统之成绩统计 41
2.2.1 for循环 41
2.2.2 while循环 44
2.2.3 do-while循环 46
2.2.4 任务实现 49
任务2.3 猜价格游戏 52
2.3.1 break和continue语句 52
2.3.2 循环的嵌套 54
2.3.3 任务实现 58
课后练习 61
第3章 数组 64
任务3.1 学生信息管理系统之成绩排序 64
3.1.1 一维数组的定义和引用 64
3.1.2 一维数组的初始化 66
3.1.3 一维数组的使用 68
3.1.4 任务实现 74
任务3.2 学生信息管理系统之成绩添加和查找 76
3.2.1 二维数组的定义和引用 76
3.2.2 二维数组的初始化 78
3.2.3 二维数组的使用 80
3.2.4 任务实现 83
任务3.3 学生信息管理系统之姓名排序 86
3.3.1 字符数组 86
3.3.2 字符串的输入和输出 88
3.3.3 字符串处理函数 93
3.3.4 任务实现 96
课后练习 98
第4章 函数 101
任务4.1 数学能力测试系统 101
4.1.1 函数的定义 101
4.1.2 函数的调用 104
4.1.3 函数的值 109
4.1.4 任务实现 111
任务4.2 汉诺塔问题 115
4.2.1 嵌套调用和递归调用 115
4.2.2 局部变量和全局变量 119
4.2.3 变量的存储类型 123
4.2.4 任务实现 127
任务4.3 学生信息管理系统之函数实现 129
4.3.1 数组和函数 129
4.3.2 库函数 132
4.3.3 编译预处理 133
4.3.4 任务实现 136
课后练习 144
第5章 指针 147
任务5.1 数据加密 147
5.1.1 内存单元和指针 147
5.1.2 指针变量 148
5.1.3 指针运算 152
5.1.4 任务实现 154
任务5.2 学生管理系统之姓名排序 156
5.2.1 指针与数组 156
5.2.2 指针与字符串 163
5.2.3 多级指针 167
5.2.4 任务实现 169
任务5.3 学生信息管理系统之指针实现 171
5.3.1 指针与函数 171
5.3.2 指针型函数与函数指针 178
5.3.3 main函数的参数 182
5.3.4 任务实现 184
课后练习 190
第6章 结构体、共用体和枚举 194
任务6.1 学生成绩排序——结构体 194
6.1.1 结构体 194
6.1.2 结构体数组与指针 200
6.1.3 结构体和函数 206
6.1.4 任务实现 209
任务6.2 学生成绩排序——链表 211
6.2.1 动态内存管理 211
6.2.2 链表的创建 214
6.2.3 链表的基本操作 220
6.2.4 任务实现 227
任务6.3 打印日历 230
6.3.1 共用体 231
6.3.2 枚举类型 233
6.3.3 类型定义typedef 235
6.3.4 任务实现 236
课后练习 238
第7章 文件 242
任务7.1 用户登录 242
7.1.1 文件的基本概念 242
7.1.2 文件的打开和关闭 244
7.1.3 文件的顺序读/写 248
7.1.4 任务实现 253
任务7.2 查找学生信息——文件 256
7.2.1 文件的数据块读/写 257
7.2.2 文件的随机读/写 260
7.2.3 文件检测 262
7.2.4 任务实现 264
课后练习 266
附录A 学生信息管理系统数组实现 268
附录B 学生信息管理系统指针实现 275
参考文献 283