项目1 第一个C语言程序 1
任务1.1 熟悉C语言的特点 2
1.1.1 程序设计语言概述 2
1.1.2 C语言的发展历史 2
1.1.3 认识C语言的特点 3
任务1.2 安装Visual C++ 6.0 4
任务1.3 在Visual C++ 6.0中开发项目程序 5
1.3.1 输入C语言源程序 6
1.3.2 编译 7
1.3.3 连接 8
1.3.4 执行 8
任务1.4 C语言程序的结构 9
1.4.1 C语言程序的结构 9
1.4.2 C语言程序的上机步骤 10
任务1.5 任务拓展 12
1.5.1 程序设计的基本概念 12
1.5.2 程序设计规范 13
1.5.3 自己动手 13
习题1 14
项目2 设计简单计算器 16
任务2.1 确定变量标识符 17
2.1.1 命名数据对象 17
2.1.2 标识符 17
2.1.3 变量 18
2.1.4 常量 19
任务2.2 选择数据类型 20
2.2.1 定义变量 20
2.2.2 整型数据类型 20
2.2.3 实型数据类型 22
2.2.4 字符数据类型 23
2.2.5 变量的初始化 26
任务2.3 实现人机对话 27
2.3.1 输入操作数和输出提示信息 27
2.3.2 输出函数 27
2.3.3 输入函数 30
任务2.4 执行运算 33
2.4.1 实现计算器的四则运算 33
2.4.2 算术运算符和算术表达式 34
2.4.3 赋值运算符和赋值表达式 37
2.4.4 关系运算符 39
2.4.5 逻辑运算符和逻辑表达式 40
2.4.6 逗号运算符与逗号表达式 42
任务2.5 任务拓展 43
2.5.1 程序举例 43
2.5.2 自己动手 44
习题2 45
项目3 设计高级计算器 48
任务3.1 完善除法功能 49
3.1.1 完善除法运算 49
3.1.2 三种基本控制结构 50
3.1.3 if语句 51
3.1.4 if语句使用注意事项 54
3.1.5 条件运算符和条件表达式 55
任务3.2 设计高级计算器的菜单 57
3.2.1 实现菜单功能 57
3.2.2 switch语句(不带break) 58
3.2.3 switch语句(带break) 59
3.2.4 switch语句使用注意事项 62
任务3.3 实现累加和与阶乘运算 63
3.3.1 计算累加和与阶乘 63
3.3.2 for语句 65
3.3.3 while语句 68
3.3.4 do-while语句 70
任务3.4 任务拓展 72
3.4.1 break语句 72
3.4.2 continue语句 73
3.4.3 if语句的嵌套 74
3.4.4 循环语句的嵌套 76
3.4.5 交换语句 81
3.4.6 自己动手 82
习题3 83
项目4 设计学生成绩管理系统 88
任务4.1 录入/输出多名学生1门课程的成绩 89
4.1.1 录入和输出学生成绩 89
4.1.2 一维数组 90
4.1.3 一维数组的引用 91
4.1.4 一维数组的初始化 93
任务4.2 查询学生成绩 94
4.2.1 实现学生成绩的查询 94
4.2.2 成绩查询 96
4.2.3 查询成绩的最大值 97
任务4.3 学生成绩排序 97
4.3.1 实现学生成绩的排序 97
4.3.2 冒泡法排序 99
任务4.4 处理多名学生多门课程的成绩 101
4.4.1 输出班级学生成绩单 101
4.4.2 二维数组 102
4.4.3 二维数组的引用 103
4.4.4 二维数组的初始化 104
任务4.5 输入/输出学生姓名 106
4.5.1 输出含学生姓名的班级学生成绩单 106
4.5.2 字符数组 109
4.5.3 字符串 111
4.5.4 字符数组的输入/输出 112
任务4.6 任务拓展 114
4.6.1 字符串处理函数 114
4.6.2 程序举例 115
4.6.3 自己动手 118
习题4 120
项目5 用函数实现学生成绩管理系统 124
任务5.1 认识函数 125
5.1.1 使用函数实现学生1门课程的成绩管理 125
5.1.2 函数的定义和调用 126
任务5.2 嵌套调用和递归调用 131
5.2.1 使用函数实现学生多门课程的成绩管理 131
5.2.2 函数的嵌套调用 132
5.2.3 函数的递归调用 134
任务5.3 用函数实现学生成绩管理系统 136
5.3.1 使用函数完善学生成绩管理系统 136
5.3.2 函数的值调用和引用调用 139
5.3.3 函数的参数 141
任务5.4 任务拓展 144
5.4.1 变量的作用域 144
5.4.2 编译预处理 146
5.4.3 程序举例 151
5.4.4 自己动手 153
习题5 153
项目6 用指针优化学生成绩管理系统 156
任务6.1 了解指针 157
6.1.1 地址和指针的概念 157
6.1.2 指向变量的指针变量 158
6.1.3 指针变量作为函数参数 162
任务6.2 优化学生成绩的录入模块 166
6.2.1 使用指针输入和输出学生的成绩 166
6.2.2 指向数组元素的指针 168
6.2.3 一维数组的指针 169
6.2.4 二维数组的指针 172
任务6.3 优化输出班级学生成绩单 175
6.3.1 使用指针优化学生成绩管理系统 175
6.3.2 指向数组的指针作为函数的参数 176
任务6.4 任务拓展 180
6.4.1 指向字符串的指针变量 180
6.4.2 程序举例 183
6.4.3 自己动手 184
习题6 185
项目7 用结构体实现学生成绩管理系统 189
任务7.1 确定学生基本信息的类型 190
7.1.1 结构体类型 190
7.1.2 结构体类型的定义 190
7.1.3 定义学生结构体类型 192
任务7.2 学生信息的录入和输出 194
7.2.1 输入和输出学生基本信息 194
7.2.2 结构体变量初始化 196
7.2.3 结构体变量成员的访问 196
任务7.3 批量学生数据的处理 198
7.3.1 定义学生结构体数组 198
7.3.2 结构体数组 198
7.3.3 指向结构体的指针 201
任务7.4 统计学生成绩 203
7.4.1 计算学生的总分和平均分 204
7.4.2 输出总分最高的学生信息 205
任务7.5 增加和删除学生记录 206
7.5.1 增加学生记录 206
7.5.2 删除学生记录 208
习题7 209
项目8 文件的操作 213
任务8.1 文件类型指针变量的定义 213
8.1.1 文件 214
8.1.2 文件指针 215
8.1.3 定义文件指针变量 215
任务8.2 文件的打开和关闭 215
8.2.1 打开学生信息的写入文件 215
8.2.2 打开文件 215
8.2.3 关闭文件 216
任务8.3 文件的读写 217
8.3.1 保存学生信息到文件 217
8.3.2 文件的读写函数 219
习题8 222
附录 228
附录1 程序调试 228
附录2 ASCII代码表 232
附录3 C语言运算符的优先级与结合性 233
附录4 Turbo C 2.0常用的库函数及其标题文件 234
参考文献 239