C语言程序设计基础项目教程(第2版) / 高职高专计算机任务驱动模式教材
¥35.00定价
作者: 唐懿芳、龙立功等
出版时间:2016年7月
出版社:清华大学出版社
- 清华大学出版社
- 9787302433699
- 2-1
- 153916
- 16开
- 2016年7月
- 工学
- 软件工程
- TP312
- 计算机类
- 高职高专
内容简介
本书通过项目实例,重点讲解C语言结构化程序设计的基本思想、方法和解决实际问题的技巧,培养学习者设计、分析应用程序的能力和良好的编程习惯。全书共分10个模块,主要内容有C语言基础、顺序结构程序设计及输入/输出语句、选择结构程序设计、循环结构程序设计、数组的应用、函数的应用、结构体与共用体的应用、指针、文件等,最后提供了两个有趣的游戏类综合设计项目供学习者学习参考。本书的编写理念是面向问题的学习。先提出问题,然后导入相关程序设计知识和语法知识,采用流程图描述算法,思路清晰,逻辑明了,直观易懂;程序代码完整,所有的程序均在Visual C 6.0环境下调试通过,便于学习;对问题进行扩展分析,拓宽了读者的学习视野;项目的技能训练举一反三,便于读者巩固、提高。本书适合作为普通高等院校、高等职业技术院校计算机及相关专业学习程序设计的教材,也可作为培训班或程序开发人员的学习用书。
目录
.1输出Hello
World! Hello C!——C语言的结构1
1.1.1计算机程序及其设计语言1
1.1.2第一个C语言程序2
1.1.3第一个C语言程序的说明2
1.1.4C语言程序结构3
任务1.2熟悉编写C语言程序的环境4
1.2.1C语言程序编辑实例4
1.2.2C语言程序的设计步骤7
1.2.3C语言程序的执行过程与上机调试步骤8
任务1.3猜牌游戏的体验——C语言的综合运用一9
任务1.4打字游戏的体验——C语言的综合运用二9
归纳与总结10
习题110
模块2顺序结构程序设计及输入/输出语句/12
任务2.1计算三角形的周长和面积——数值计算12
2.1.1数据的分类13
2.1.2常量和变量13
2.1.3数据类型18
2.1.4数据的输入和输出21
2.1.5C语言算术表达式与数学公式25
2.1.6程序语句序列的表示25
2.1.7程序代码26
任务2.2密码的破解——字符运算26
2.2.1运算符与表达式26
2.2.2数据类型转换34
2.2.3对称加密技术的引入35
2.2.4运行程序36〖2〗〖3〗〖4〗任务2.3求解一元二次方程——数学函数和复杂公式37
2.3.1常用数学函数37
2.3.2一元二次方程组的求解39
任务2.4猜牌游戏的界面——输入/输出语句40
任务2.5编程语句的规范化41
2.5.1标识符命名规则42
2.5.2程序版式43
2.5.3注释规范44
2.5.4编码原则46
归纳与总结46
习题247
模块3选择结构程序设计/50
任务3.1求数字的绝对值——if分支判断50
3.1.1if语句形式(1)——if形式51
3.1.2if语句形式(2)——ifelse形式51
3.1.3if语句形式(3)——ifelseif形式51
3.1.4C语言的语句52
3.1.5程序语句序列的表示53
3.1.6程序代码53
任务3.2完善三角形面积计算——ifelse分支判断54
3.2.1关系运算符与关系表达式54
3.2.2逻辑运算符与逻辑表达式55
3.2.3if条件判断语句55
3.2.4程序代码56
3.2.5程序说明56
3.2.6小技巧57
任务3.3学生学习成绩评定——多条件分支57
3.3.1结构化程序设计59
3.3.2随机函数59
3.3.3多分支选择59
3.3.4程序代码62
3.3.5程序说明63
3.3.6补充代码63
任务3.4猜牌游戏拓展——猜牌分支思考64
归纳与总结65
习题366
模块4循环结构程序设计/69
任务4.1打印抽奖号码——while循环69
4.1.1while循环语句70
4.1.2死循环70
4.1.3程序设计流程图71
4.1.4程序代码71
4.1.5程序说明71
4.1.6应用拓展71
任务4.2模拟抽奖——dowhile循环72
4.2.1dowhile循环语句73
4.2.2while和dowhile的区别73
4.2.3程序代码75
4.2.4程序说明75
4.2.5应用拓展76
任务4.3韩信点兵——for循环77
4.3.1穷举法78
4.3.2for循环语句78
4.3.3break语句78
4.3.4continue语句79
4.3.5break语句与continue语句的区别79
4.3.6goto语句79
4.3.7程序代码80
4.3.8程序说明80
4.3.9应用拓展81
任务4.4打印吉祥图案——循环嵌套81
4.4.1循环嵌套81
4.4.2for语句的一些特殊用法82
4.4.3算法分析83
4.4.4程序代码84
4.4.5程序说明85
任务4.5VC 6.0程序的跟踪调试入门86
4.5.1程序断点设置86
4.5.2观看值Watch87
4.5.3进程控制88
4.5.4实例操作88
任务4.6猜牌游戏拓展——显示所选的牌90
4.6.1程序代码90
4.6.2程序说明90
归纳与总结90
习题491
模块5数组的应用/96
任务5.1一名参赛选手的评分程序——一维数组96
5.1.1一维数组的定义97
5.1.2一维数组元素的引用97
5.1.3一维数组的存储结构98
5.1.4一维数组的初始化98
5.1.5程序设计思路99
5.1.6程序代码100
5.1.7程序说明100
任务5.2多名参赛选手的评分程序——二维数组101
5.2.1二维数组的定义101
5.2.2二维数组元素的使用102
5.2.3程序设计思路103
5.2.4程序代码103
任务5.3参赛选手的成绩排名——冒泡排序和选择排序104
5.3.1冒泡排序105
5.3.2选择排序106
5.3.3冒泡排序和选择排序的比较107
5.3.4程序设计思路107
5.3.5程序代码107
任务5.4输入英文句子统计单词数——字符数组与字符串108
5.4.1字符型数组109
5.4.2字符串和字符串结束标志109
5.4.3字符串输入/输出110
5.4.4字符串处理函数110
5.4.5程序设计思路113
5.4.6程序代码114
5.4.7程序说明115
任务5.5猜牌游戏拓展——数组的应用115
归纳与总结117
习题5118
模块6函数的应用/121
任务6.1打印字符图形——函数的定义与调用121
6.1.1函数的概念及分类122
6.1.2函数定义122
6.1.3函数的调用123
6.1.4形式参数和实际参数124
6.1.5程序设计流程124
6.1.6程序代码124
6.1.7程序说明125
任务6.2小学生加减法算术测试竞赛程序——有参函数126
6.2.1模块化程序设计126
6.2.2函数的分类126
6.2.3函数的返回值127
6.2.4函数调用中参数的传递方法127
6.2.5程序设计流程128
6.2.6程序代码129
6.2.7程序说明130
任务6.3排序——函数的调用及地址传递130
6.3.1地址传递130
6.3.2函数原型说明131
6.3.3全局变量、局部变量与变量的作用域132
6.3.4程序设计流程132
6.3.5程序代码133
任务6.4递归算法——函数的嵌套调用与递归调用134
6.4.1函数的嵌套调用134
6.4.2函数的递归调用135
6.4.3程序代码136
6.4.4递归函数的执行过程136
归纳与总结137
习题6138
模块7结构体与共用体的应用/141
任务7.1熟悉结构体141
7.1.1结构体数据类型的定义142
7.1.2结构体类型变量的说明143
7.1.3结构体变量成员的引用144
7.1.4结构体变量的赋值与初始化144
7.1.5结构体数组的说明与初始化145
任务7.2扑克牌人机游戏——结构体应用145
7.2.1程序设计流程145
7.2.2程序代码146
7.3共用体类型149
7.3.1共用体数据类型的定义149
7.3.2共用体数据类型的应用150
归纳与总结151
习题7152
模块8指针/154
任务8.1使用指针计算圆的面积——指针的定义154
8.1.1指针与指针变量155
8.1.2指针变量的定义156
8.1.3指针变量的初始化156
8.1.4程序代码157
任务8.2猜数游戏——指针指向一维数组的应用158
8.2.1指针指向数组159
8.2.2指针的移动160
8.2.3通过指针引用数组元素160
8.2.4指针变量作为函数的参数161
8.2.5程序代码162
任务8.3字符串纠正程序——指针指向字符串164
8.3.1字符串的表示形式164
8.3.2字符指针在字符串处理函数中的使用165
8.3.3空格和大写字母的判断166
8.3.4程序代码166
任务8.4猜牌游戏——指针的简单综合应用167
8.4.1类型定义关键字typedef167
8.4.2指向结构体变量的指针168
8.4.3结构体指针变量作为函数参数169
归纳与总结170
习题8170
模块9文件/173
任务9.1将字符写入文件——文件的定义及简单应用173
9.1.1文件的概念174
9.1.2文件的存储174
9.1.3文件指针的定义174
9.1.4文件的处理174
9.1.5打开文件175
9.1.6文本文件的读/写176
9.1.7关闭文件176
任务9.2简单的考试出题与评分系统——文件格式化读/写178
9.2.1打开多个文件178
9.2.2格式化读/写函数fscanf()和fprintf()178
任务9.3简单的人事信息管理系统——文件数据块的读/写181
9.3.1数据块读/写函数fread()和fwrite()181
9.3.2文件随机定位函数182
任务9.4猜牌游戏拓展——将用户名及选牌写入文件保存184
归纳与总结185
习题9185
模块10综合项目实践/187
任务10.1打字小游戏187
10.1.1功能描述187
10.1.2系统设计187
10.1.3关键技术189
10.1.4程序实现190
10.1.5运行结果196
任务10.2人机互动猜牌游戏197
10.2.1功能描述197
10.2.2系统设计197
10.2.3关键技术197
10.2.4程序实现199
10.2.5运行结果203
附录/205
附录A常用的C语言库函数205
附录BC语言常见错误分析210
附录CASCII码表218
附录D习题参考解答219
参考文献/238
World! Hello C!——C语言的结构1
1.1.1计算机程序及其设计语言1
1.1.2第一个C语言程序2
1.1.3第一个C语言程序的说明2
1.1.4C语言程序结构3
任务1.2熟悉编写C语言程序的环境4
1.2.1C语言程序编辑实例4
1.2.2C语言程序的设计步骤7
1.2.3C语言程序的执行过程与上机调试步骤8
任务1.3猜牌游戏的体验——C语言的综合运用一9
任务1.4打字游戏的体验——C语言的综合运用二9
归纳与总结10
习题110
模块2顺序结构程序设计及输入/输出语句/12
任务2.1计算三角形的周长和面积——数值计算12
2.1.1数据的分类13
2.1.2常量和变量13
2.1.3数据类型18
2.1.4数据的输入和输出21
2.1.5C语言算术表达式与数学公式25
2.1.6程序语句序列的表示25
2.1.7程序代码26
任务2.2密码的破解——字符运算26
2.2.1运算符与表达式26
2.2.2数据类型转换34
2.2.3对称加密技术的引入35
2.2.4运行程序36〖2〗〖3〗〖4〗任务2.3求解一元二次方程——数学函数和复杂公式37
2.3.1常用数学函数37
2.3.2一元二次方程组的求解39
任务2.4猜牌游戏的界面——输入/输出语句40
任务2.5编程语句的规范化41
2.5.1标识符命名规则42
2.5.2程序版式43
2.5.3注释规范44
2.5.4编码原则46
归纳与总结46
习题247
模块3选择结构程序设计/50
任务3.1求数字的绝对值——if分支判断50
3.1.1if语句形式(1)——if形式51
3.1.2if语句形式(2)——ifelse形式51
3.1.3if语句形式(3)——ifelseif形式51
3.1.4C语言的语句52
3.1.5程序语句序列的表示53
3.1.6程序代码53
任务3.2完善三角形面积计算——ifelse分支判断54
3.2.1关系运算符与关系表达式54
3.2.2逻辑运算符与逻辑表达式55
3.2.3if条件判断语句55
3.2.4程序代码56
3.2.5程序说明56
3.2.6小技巧57
任务3.3学生学习成绩评定——多条件分支57
3.3.1结构化程序设计59
3.3.2随机函数59
3.3.3多分支选择59
3.3.4程序代码62
3.3.5程序说明63
3.3.6补充代码63
任务3.4猜牌游戏拓展——猜牌分支思考64
归纳与总结65
习题366
模块4循环结构程序设计/69
任务4.1打印抽奖号码——while循环69
4.1.1while循环语句70
4.1.2死循环70
4.1.3程序设计流程图71
4.1.4程序代码71
4.1.5程序说明71
4.1.6应用拓展71
任务4.2模拟抽奖——dowhile循环72
4.2.1dowhile循环语句73
4.2.2while和dowhile的区别73
4.2.3程序代码75
4.2.4程序说明75
4.2.5应用拓展76
任务4.3韩信点兵——for循环77
4.3.1穷举法78
4.3.2for循环语句78
4.3.3break语句78
4.3.4continue语句79
4.3.5break语句与continue语句的区别79
4.3.6goto语句79
4.3.7程序代码80
4.3.8程序说明80
4.3.9应用拓展81
任务4.4打印吉祥图案——循环嵌套81
4.4.1循环嵌套81
4.4.2for语句的一些特殊用法82
4.4.3算法分析83
4.4.4程序代码84
4.4.5程序说明85
任务4.5VC 6.0程序的跟踪调试入门86
4.5.1程序断点设置86
4.5.2观看值Watch87
4.5.3进程控制88
4.5.4实例操作88
任务4.6猜牌游戏拓展——显示所选的牌90
4.6.1程序代码90
4.6.2程序说明90
归纳与总结90
习题491
模块5数组的应用/96
任务5.1一名参赛选手的评分程序——一维数组96
5.1.1一维数组的定义97
5.1.2一维数组元素的引用97
5.1.3一维数组的存储结构98
5.1.4一维数组的初始化98
5.1.5程序设计思路99
5.1.6程序代码100
5.1.7程序说明100
任务5.2多名参赛选手的评分程序——二维数组101
5.2.1二维数组的定义101
5.2.2二维数组元素的使用102
5.2.3程序设计思路103
5.2.4程序代码103
任务5.3参赛选手的成绩排名——冒泡排序和选择排序104
5.3.1冒泡排序105
5.3.2选择排序106
5.3.3冒泡排序和选择排序的比较107
5.3.4程序设计思路107
5.3.5程序代码107
任务5.4输入英文句子统计单词数——字符数组与字符串108
5.4.1字符型数组109
5.4.2字符串和字符串结束标志109
5.4.3字符串输入/输出110
5.4.4字符串处理函数110
5.4.5程序设计思路113
5.4.6程序代码114
5.4.7程序说明115
任务5.5猜牌游戏拓展——数组的应用115
归纳与总结117
习题5118
模块6函数的应用/121
任务6.1打印字符图形——函数的定义与调用121
6.1.1函数的概念及分类122
6.1.2函数定义122
6.1.3函数的调用123
6.1.4形式参数和实际参数124
6.1.5程序设计流程124
6.1.6程序代码124
6.1.7程序说明125
任务6.2小学生加减法算术测试竞赛程序——有参函数126
6.2.1模块化程序设计126
6.2.2函数的分类126
6.2.3函数的返回值127
6.2.4函数调用中参数的传递方法127
6.2.5程序设计流程128
6.2.6程序代码129
6.2.7程序说明130
任务6.3排序——函数的调用及地址传递130
6.3.1地址传递130
6.3.2函数原型说明131
6.3.3全局变量、局部变量与变量的作用域132
6.3.4程序设计流程132
6.3.5程序代码133
任务6.4递归算法——函数的嵌套调用与递归调用134
6.4.1函数的嵌套调用134
6.4.2函数的递归调用135
6.4.3程序代码136
6.4.4递归函数的执行过程136
归纳与总结137
习题6138
模块7结构体与共用体的应用/141
任务7.1熟悉结构体141
7.1.1结构体数据类型的定义142
7.1.2结构体类型变量的说明143
7.1.3结构体变量成员的引用144
7.1.4结构体变量的赋值与初始化144
7.1.5结构体数组的说明与初始化145
任务7.2扑克牌人机游戏——结构体应用145
7.2.1程序设计流程145
7.2.2程序代码146
7.3共用体类型149
7.3.1共用体数据类型的定义149
7.3.2共用体数据类型的应用150
归纳与总结151
习题7152
模块8指针/154
任务8.1使用指针计算圆的面积——指针的定义154
8.1.1指针与指针变量155
8.1.2指针变量的定义156
8.1.3指针变量的初始化156
8.1.4程序代码157
任务8.2猜数游戏——指针指向一维数组的应用158
8.2.1指针指向数组159
8.2.2指针的移动160
8.2.3通过指针引用数组元素160
8.2.4指针变量作为函数的参数161
8.2.5程序代码162
任务8.3字符串纠正程序——指针指向字符串164
8.3.1字符串的表示形式164
8.3.2字符指针在字符串处理函数中的使用165
8.3.3空格和大写字母的判断166
8.3.4程序代码166
任务8.4猜牌游戏——指针的简单综合应用167
8.4.1类型定义关键字typedef167
8.4.2指向结构体变量的指针168
8.4.3结构体指针变量作为函数参数169
归纳与总结170
习题8170
模块9文件/173
任务9.1将字符写入文件——文件的定义及简单应用173
9.1.1文件的概念174
9.1.2文件的存储174
9.1.3文件指针的定义174
9.1.4文件的处理174
9.1.5打开文件175
9.1.6文本文件的读/写176
9.1.7关闭文件176
任务9.2简单的考试出题与评分系统——文件格式化读/写178
9.2.1打开多个文件178
9.2.2格式化读/写函数fscanf()和fprintf()178
任务9.3简单的人事信息管理系统——文件数据块的读/写181
9.3.1数据块读/写函数fread()和fwrite()181
9.3.2文件随机定位函数182
任务9.4猜牌游戏拓展——将用户名及选牌写入文件保存184
归纳与总结185
习题9185
模块10综合项目实践/187
任务10.1打字小游戏187
10.1.1功能描述187
10.1.2系统设计187
10.1.3关键技术189
10.1.4程序实现190
10.1.5运行结果196
任务10.2人机互动猜牌游戏197
10.2.1功能描述197
10.2.2系统设计197
10.2.3关键技术197
10.2.4程序实现199
10.2.5运行结果203
附录/205
附录A常用的C语言库函数205
附录BC语言常见错误分析210
附录CASCII码表218
附录D习题参考解答219
参考文献/238