计算机类专业教育 > 程序设计类
C语言程序设计
书号:9787113199302 套系名称:教育部大学计算机课程改革规划教材
作者:王全民 郑爽 出版日期:2015-02-01
定价:41.00 页码 / 开本:340 /16
策划编辑:周欣 责任编辑:周海燕 彭立辉
适用专业:无 适用层次:高等院校
最新印刷时间:2023-01-16
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是国家级教改立项研究项目《以计算思维能力培养为核心的理工类专业大学计算机课程改革研究》成果之一。
本书试图以培养学生计算思维能力为目标,从解决实际问题的角度出发,由导例引出知识点,强化程序设计求解问题的思路和方法。全书共分为8章,第1章阐述了程序设计和计算思维的关系;第2章~第7章主要阐述C语言程序设计的基础知识和数据结构的初步内容;第8章列举了综合性较强的案例,相应源代码可到中国铁道出版社官方网站下载。本书除第1章和第8章外,每章的后面给出了大量的习题,并对其进行难易
程度区分,便于考查学习效果。
本书适合作为高等学校非计算机专业的教材 ,也可作为计算机专业以及编程爱好者的参考用书。
无
第 1 章 绪论 / 1
1.1 程序设计 / 2
1.1.1 程序设计与算法 / 2
1.1.2 程序设计语言 / 3
1.2 计 算思维 / 4
1.2.1 问题的提出 / 4
1.2.2 计算思维能力培养 / 5
1.2.3 程序设计能力与计算思维能力 / 7
1.3 C 程序开发的基本过程 / 8
1.3.1 安装 Visual C++ 6.0 集成开发
环境 / 8
1.3.2 利用 Visual C++ 6.0 集成开发
环境运行一个 C 程序 / 9
1.3.3 运行 C 程序的基本过程 / 13
第 2 章 C 语言程序设计基础 / 14
2.1 C 语言程序的基本结构和特点 / 15
2.1.1 导例:输入生日并显示 / 15
2.1.2 导例:比大小 / 16
2.1.3 C 程序的基本结构 / 18
2.1.4 C 语言的基本特点 / 19
2.2 基本数据类型与基本输入 / 输出 / 19
2.2.1 导例:汇率换算 / 20
2.2.2 导例:字符加密 / 21
2.2.3 导例:考核通过了吗 / 23
2.2.4 C 语言提供的基本数据类型 / 24
2.2.5 标识符与关键字、常量与变量 / 26
2.2.6 运算符与表达式 / 28
2.2.7 基本的输入 / 输出 / 30
2.3 C 程序的基本控制结构 / 32
目录
CONTENTS
2.3.1 导例:计算圆的周长和面积 / 32
2.3.2 导例:今年是闰年吗 / 33
2.3.3 导例:求解一元二次方程 / 34
2.3.4 导例:计算存款利息 / 36
2.3.5 导例:计算 n! / 38
2.3.6 导例:求解两个数的最大公约数 / 39
2.3.7 导例:计算 π 的近似值 / 40
2.3.8 顺序控制语句:赋值语句、函数
调用语句 / 41
2.3.9 选择控制语句:if...else、switch
语句 / 42
2.3.10 循环控制语句:while 语句、
do...while 语句和 for 语句 / 44
2.3.11 转向语句:break 和 continue
语句 / 45
2.4 综合案例 / 46
2.4.1 导例:可以构成三角形吗 / 46
2.4.2 导例:列出小于 n 的全部质数 / 48
2.4.3 导例:诚实族和说谎族 / 50
2.4.4 导例:制作电子月历 / 52
2.4.5 程序设计风格 / 56
2.4.6 程序调试的基本方法 / 57
习题 / 59
第 3 章 算法初步 / 64
3.1 算法的基本概念 / 65
3.1.1 导例:猜猜商品价格 / 65
3.1.2 导例:过河游戏 / 66
3.1.3 算法定义与基本特征 / 68
3.1.4 算法设计的基本过程 / 68
3.1.5 算法的评价标准 / 69
3.2 算法的描述 / 69
3.2.1 导例:生活中的流程 / 69
3.2.2 导例:猜猜商品价格的流程图 / 71
3.2.3 算法的描述 / 72
3.2.4 问题求解的过程 / 73
3.3 常用算法 / 74
3.3.1 导例:古堡算式问题 / 74
3.3.2 导例:神殿寻宝 / 75
3.3.3 导例:大臣的旅费 / 77
3.3.4 穷举法 / 81
3.3.5 递归算法 / 82
3.3.6 动态规划法 / 83
习题 / 84
第 4 章 函数 / 85
4.1 库函数 86
4.1.1 导例:平方根表 / 87
4.1.2 导例:随机生成一张扑克牌 / 89
4.1.3 库函数使用方法 / 92
4.1.4 常用的库函数 / 93
4.2 自定义函数 / 94
4.2.1 导例:阶乘累加和 / 95
4.2.2 导例:三色球问题 / 97
4.2.3 函数的定义、声明和调用 / 99
4.2.4 函数调用过程分析 / 102
4.3 函数的参数传递与返回值 / 102
4.3.1 导例:爬动的蠕虫 / 103
4.3.2 导例:日 K 蜡烛图 / 105
4.3.3 函数的参数传递 / 107
4.3.4 函数的返回值 / 109
4.4 递归函数 / 111
4.4.1 导例:假币问题(三分法) / 111
4.4.2 导例:Fibonacci 数列 / 113
4.4.3 递归函数的执行过程 / 116
4.4.4 递归函数的效率分析 / 119
4.5 局部变量、全局变量与变量作用域 / 121
4.5.1 导例:富翁与骗子 / 121
4.5.2 导例:简易库存存取货管理 / 124
4.5.3 局部变量和全局变量 / 129
4.5.4 变量的作用域和生存期 / 129
4.6 函数综合应用 / 133
4.6.1 导例:模拟银行 ATM 机存取款 / 134
4.6.2 导例:贷款计算器 / 140
4.6.3 程序主体框架的设计与实现 / 145
4.6.4 模块化程序设计的基本特征 / 146
习题 / 147
第 5 章 组合数据类型 / 152
5.1 数组 / 153
5.1.1 导例:如何存储和操作某班 C 语
言课程的成绩 / 153
5.1.2 导例:利用选择排序实现对某班
C 语言课程成绩的排序 / 154
5.1.3 导例:利用冒泡排序算法实现对
某班 C 语言课程成绩的排序 / 157
5.1.4 导例:利用二分查找算法检索某
个成绩的排名 / 159
5.1.5 导例:学分绩点(GPA)计算 / 162
5 . 1 . 6 导例:统计字符串中字符的信息 / 164
5.1.7 一维数组 / 165
5.1.8 二维数组 / 166
5.1.9 字符数组及字符串 / 167
5.1.10 数组作为函数参数 / 170
5.2 结构类型 / 171
5.2.1 导例:手机类型 / 171
5.2.2 导例:学生类型 / 173
5.2.3 结构类型的基本操作 / 174
5.2.4 结构数组 / 176
5.2.5 结构类型作为函数的参数与返回
类型 / 176
5.3 指针类型 / 177
5.3.1 导例:寻找武功秘籍 / 178
5.3.2 导例:打印输出所有人的出勤
情况 / 179
5.3.3 导例:求一次实验的样本方差 / 181
5.3.4 导例:月份名称的翻译 / 184
5 . 3 . 5 导例:涨工资了(工资改变了吗) / 185
5.3.6 导例:找出单行文本中第一个
最长的单词 / 187
5.3.7 指针的相关概念与定义 / 191
5.3.8 指针的基本操作、动态内存分配
和释放 / 192
5.3.9 指针型数组 / 193
5.3.10 指针类型作为函数的参数与返回
类型 / 193
5.4 链表 / 195
5.4.1 导例:快递物流记录 / 195
5.4.2 导例:老鹰捉小鸡 / 198
5.4.3 链表的定义 / 203
5.4.4 链表的创建、销毁与基本操作 / 204
习 题 / 206
第 6 章 数据结构 / 212
6.1 栈 / 213
6.1.1 导例:简单背包问题 / 213
6.1.2 导例:数制转换问题 / 216
6.1.3 栈的相关概念与基本操作 / 219
6.1.4 利用栈组织数据的基本特征 / 223
6.2 队列 / 223
6.2.1 导例:舞伴问题 / 223
6.2.2 导例:过河问题 / 228
6.2.3 队列的相关概念与基本操作 / 236
6.2.4 利用队列组织数据的基本特征 / 242
6.3 二叉树 / 242
6.3.1 导例:爬树问题 / 243
6.3.2 导例:查找问题 / 246
6.3.3 二叉树的相关概念与基本操作 / 251
6.3.4 利用二叉树组织数据的基本特征 / 254
6.4 综合应用举例 / 255
6.4.1 导例:八皇后问题 / 255
6.4.2 导例:叫号排队问题 / 260
6.4.3 导例:电文编码问题 / 267
6.4.4 数据结构在程序设计中的作用 / 273
6.4.5 数据结构初论 / 274
习题 / 278
第 7 章 数据外部存储 / 283
7.1 文件 / 284
7.1.1 导例:读取通讯录文件 / 284
7.1.2 导例:从通讯录文件中查询
联系人 / 286
7.1.3 导例:备份通讯录文件 / 289
7.1.4 文件的相关基本概念 / 291
7.1.5 文件的基本操作 / 292
7.2 数据库应用 / 296
7.2.1 导例:创建 MySQL 数据库 / 296
7.2.2 导例:从 MySQL 数据库中读 / 写
通讯录 / 299
7.2.3 C 程序对 MySQL 数据库的操作 / 303
习题 / 306
第 8 章 综合案例 / 307
8.1 大整数运算问题 / 308
8.2 校园卡管理 / 310
8.3 约瑟夫问题 / 315
8.4 分子动力学模拟 / 317
8.5 网络通信——聊天 / 318
8.6 五子棋游戏 / 319
8.7 交通信号灯的自动控制 / 321
参考文献 / 324王全民 副教授硕士生导师 博士 主讲:网络安全技术与应用、.NET实训项目开发实践、信息技术基础、C语言程序设计
郑爽 讲师 硕士 主讲:网络安全技术与应用、信息技术基础、C语言程序设计