单元1 简单数学运算编程 1
教学导航 1
引例剖析 2
任务1-1 编写程序计算选购商品的金额 2
编程实战 3
任务1-2 编写程序输出指定内容 3
任务1-3 编写程序计算正方形的周长 5
任务1-4 编写程序计算圆形面积和球体体积 7
任务1-5 编写程序求一元二次方程的根 8
任务1-6 编写程序分解三位整数的各位数字 10
任务1-7 编写程序将小写字母转换为大写字母 11
任务1-8 编写程序利用函数输出两个数中的最大值 12
知识探究 14
1.1 C语言的基本概念 14
1.2 C语言程序的基本特点 16
1.3 C语言的数据类型 16
1.4 C语言的常量与变量 20
1.5 C语言的数据类型转换 24
1.6 C语言的运算符 25
1.7 C语言的表达式 29
1.8 C语言的语句 30
1.9 C语言的预处理指令(命令) 32
1.1 0 C语言的函数 36
小试牛刀 40
任务1-9 编写程序用*号输出字母C的图案 40
任务1-10 编写程序实现摄氏温度和华氏温度之间的换算 41
任务1-11 编写程序计算三角形的面积 42
任务1-12 编写程序实现小数的四舍五入 42
任务1-13 编写程序输出字符的ASCII码 43
任务1-14 编写程序利用自定义函数计算长方形的面积 44
单元小结 44
单元习题 45
单元2 日常数据处理编程 54
教学导航 54
引例剖析 55
任务2-1 编写程序求最大公约数和最小公倍数 55
编程实战 56
任务2-2 编写程序判断偶数 56
任务2-3 编写程序判断闰年 57
任务2-4 编写程序判断字符的类型 59
任务2-5 编写程序将分数成绩转换为等级 60
任务2-6 编写程序计算阶乘 63
任务2-7 编写程序求圆周率π的近似值 64
任务2-8 编写程序计算球落地后反弹的高度 66
任务2-9 编写程序判断素数 67
知识探究 69
2.1 C语言的三种基本程序结构 69
2.2 C语言关系运算符和关系表达式 69
2.3 C语言逻辑运算符和逻辑表达式 70
2.4 C语言的条件运算符与条件表达式 71
2.5 C语言的选择结构 71
2.6 C语言的循环结构 75
2.7 C语言的break和continue语句 77
2.8 C语言的嵌套结构 78
小试牛刀 79
任务2-10 编写程序对三个数排序 79
任务2-11 编写程序判断回文数 80
任务2-12 编写程序判断三角形的类型 82
任务2-13 编写程序计算购物的优惠金额 83
任务2-14 编写程序求自然对数的底e的近似值 83
任务2-15 编写程序求逆数 84
任务2-16 编写程序输出9×9乘法口诀表 85
单元小结 86
单元习题 86
单元3 批量数据处理编程 95
教学导航 95
引例剖析 96
任务3-1 编写程序计算平均成绩 96
编程实战 98
任务3-2 编写程序查找数组中的一个数 98
任务3-3 编写程序求矩阵对角线元素之和 100
任务3-4 编写程序实现矩阵转置运算 101
任务3-5 编写程序使用指针实现整数排序 104
任务3-6 编写程序使用指针输出一门和多门课程的成绩 105
任务3-7 编写程序实现数组逆序输出 108
知识探究 112
3.1 C语言的一维数组 112
3.2 C语言的二维数组 114
3.3 C语言的指针 116
3.4 C语言的数组与指针 122
3.5 C语言的函数与指针 126
3.6 C语言的局部变量和全局变量 128
3.7 C语言变量的存储类别 131
小试牛刀 133
任务3-8 编写程序应用数组计算个人所得税 133
任务3-9 编写程序求一维数组的最大值与最小值 135
任务3-10 编写程序打印出杨辉三角形 137
任务3-11 编写程序实现矩阵的乘法运算 139
任务3-12 编写程序输出数组中的全部元素 140
任务3-13 编写程序使用指针比较整型数据的大小 141
单元小结 142
单元习题 143
单元4 字符数据处理编程 149
教学导航 149
引例剖析 150
任务4-1 编写程序计算字符串中包含的单词个数 150
编程实战 152
任务4-2 编写程序分类统计字符个数 152
任务4-3 编写程序求一个字符串的长度 153
任务4-4 编写程序实现字符串的复制 154
任务4-5 编写程序删除字符串中的指定字符 155
任务4-6 编写程序将星期序号转换为英文星期名称 157
任务4-7 编写程序实现字符串排序 158
知识探究 160
4.1 C语言的字符数组 160
4.2 C语言的字符串处理函数 162
4.3 C语言的字符串指针 162
4.4 C语言指向指针的指针变量 163
小试牛刀 164
任务4-8 编写程序判断字符串是否为回文 164
任务4-9 编写程序实现字符串倒置 165
任务4-10 编写程序实现字符串连接 166
任务4-11 编写程序在指定位置插入指定字符 167
任务4-12 编写程序将月份号转换为英文月份名称 168
单元小结 169
单元习题 169
单元5 构造数据处理编程 172
教学导航 172
引例剖析 173
任务5-1 编写程序输入与输出学生的数据记录 173
编程实战 175
任务5-2 编写程序建立学生数据记录 175
任务5-3 编写程序利用指针变量输出结构体数组的值 177
任务5-4 编写程序通过多种方式输出学生数据 178
任务5-5 编写程序计算学生平均成绩和统计优秀人数 179
知识探究 181
5.1 C语言的结构体 181
5.2 C语言的结构体与指针 185
5.3 C语言动态存储分配 187
小试牛刀 189
任务5-6 编写程序建立通讯录 189
任务5-7 编写程序利用结构指针变量输出一条通讯录记录数据 190
任务5-8 编写程序利用结构指针变量输出多条通讯录记录数据 190
单元小结 191
单元习题 192
单元6 文件内容处理编程 196
教学导航 196
引例剖析 196
任务6-1 编写程序利用磁盘文件存储与输出学生的记录数据 196
编程实战 199
任务6-2 编写程序从文件中逐个读取字符并在屏幕上输出 199
任务6-3 编写程序对文件进行读写操作 200
任务6-4 编写程序统计文件中字符串出现的次数 201
任务6-5 编写程序删除文件中的指定记录数据 203
任务6-6 编写程序实现文件的合成 205
知识探究 207
6.1 C语言文件概述 207
6.2 C语言文件的读写 208
6.3 C语言文件的随机读写 212
6.4 C语言的main函数参数 213
小试牛刀 214
任务6-7 编写程序将键盘输入的字符写入到磁盘文件中 214
任务6-8 编写程序从文件中读出字符串 215
任务6-9 编写程序实现文件的复制 215
任务6-10 编写程序在文件中追加一个字符串 216
单元小结 217
单元习题 217
单元7 趣味数学运算编程 221
教学导航 221
引例剖析 221
任务7-1 编写程序求解兔子产仔问题 221
编程实战 223
任务7-2 编写程序求解不重复的3位数问题 223
任务7-3 编写程序求解百钱买百鸡问题 224
任务7-4 编写程序求解完全数问题 226
任务7-5 编写程序输出所有的“水仙花数” 228
任务7-6 编写程序验证卡布列克常数问题 231
任务7-7 编写程序将正整数分解为质因数 233
知识探究 236
7.1 C语言函数的嵌套调用 236
7.2 C语言函数的递归调用 236
小试牛刀 237
任务7-8 编写程序求解猴子吃桃问题 237
任务7-9 编写程序求解完全平方数问题 238
任务7-10 编写程序求解勾股数问题 238
任务7-11 编写程序使用递归算法求阶乘 239
单元小结 240
单元习题 240
单元8 经典算法实现编程 244
教学导航 244
引例剖析 244
任务8-1 编写程序使用回溯法求解背包问题 244
编程实战 248
任务8-2 编写程序使用牛顿迭代法求解方程根 248
任务8-3 编写程序使用穷举搜索法求解换零钱问题 249
任务8-4 编写程序使用递推算法求解渔夫捕鱼问题 250
任务8-5 编写程序使用递归算法求解计算组合数 253
任务8-6 编写程序实现选择排序 255
任务8-7 编写程序实现折半查找 257
知识探究 258
8.1 算法的基本概念 258
8.2 算法设计的特点 259
8.3 算法的类型与特性 259
8.4 算法的描述 260
8.5 经典算法简介 262
8.6 排序算法简介 263
8.7 查找算法简介 264
8.8 C语言的类型定义符typedef 264
小试牛刀 265
任务8-8 编写程序使用迭代算法求解开平方运算 265
任务8-9 编写程序使用递归算法计算1~n自然数之和 266
任务8-10 编写程序使用递归算法求幂 267
任务8-11 编写程序实现冒泡法排序 268
任务8-12 编写程序实现顺序查找 270
单元小结 271
单元习题 271
单元9 硬件与嵌入式编程 273
教学导航 273
引例剖析 274
任务9-1 编写程序实现数字秒表功能 274
编程实战 276
任务9-2 编写程序控制第一盏LED灯亮 276
任务9-3 编写程序控制一盏LED灯闪烁 277
任务9-4 编写程序用右移运算控制流水点亮8盏LED灯 278
任务9-5 编写程序用swtich语句控制8盏LED灯的点亮状态 280
任务9-6 编写程序用while语句控制LED灯的亮灭 281
任务9-7 编写程序使用指针数组控制8盏LED灯的流水点亮 282
任务9-8 编写程序使用指针作函数参数控制LED灯的流水点亮 283
任务9-9 编写程序使用LED数码显示器循环显示数字0~9 285
知识探究 286
9.1 C语言的位运算 286
9.2 嵌入式程序中sfr的使用 287
9.3 嵌入式程序中sbit的使用 288
小试牛刀 289
任务9-10 编写程序控制单盏LED灯的亮与灭 289
任务9-11 编写程序使用P3口控制流水点亮8盏LED灯 290
任务9-12 编写程序使用字符型数组控制8盏LED灯的流水点亮 292
单元小结 293
单元习题 294
附录A C语言中的保留字 295
附录B C语言的运算符 297
附录C C语言的数据类型 299
附录D C语言的转义字符 301
附录E ASCII编码表 302
附录F C语言的常用库函数 303
附录G C语言的输入/输出函数详解 310
附录H 在Visual C++6.0集成开发环境中创建、编译与运行C语言程序 315
附录I C语言的常见编程规范 319
附录J C语言程序调试常见错误信息 322
附录K 8051系列单片机简介 324
附录L Keil C51使用简介 328
参考文献 333