高级语言程序设计(C语言版 第3版)——基于计算思维能力培养(附微课视频)

分享 推荐 0 收藏 0 阅读 149
王明文 (主审) 揭安全 (作者) 978-7-115-68704-3

关于本书的内容有任何问题,请联系 孙澍

(1)理论联系实际,注重计算思维能力的培养
以“够用、实用、应用”为原则,将C语言语法融入实际问题的求解过程,强化模块化程序设计和算法思维。
(2)案例驱动,贴近真实应用场景
选取贴近生活、通俗易懂的案例来分析问题的本质,突出应用导向,有助于提高读者的学习兴趣。
(3)内容编排体现“以学为中心”的教学思想
精选相关练习与实验,题型涵盖全国计算机等级考试二级C语言程序设计考试题型,使读者在学习完相关内容后能够及时巩固并拓展所学知识,做到举一反三。
(4)分层实验体系,强化动手能力
构建“验证型→设计型→综合型”三层次实验体系,引导读者应用人工智能分析代码效率并提供优化建议。

特别说明

教材配套学银在线 MOOC,共有授课视频 126 个,时长 1046 分钟,获评江西省在线开放课程,网址为:
https://www.xueyinonline.com/detail/227312165

内容摘要

        本书是一本以 C 语言为例,介绍结构化程序设计方法的教材。全书共 10 章,内容包括:程序设计引论,数据类型、运算符与表达式,算法与简单 C 语言程序设计,程序基本控制结构,函数及其应用,数组及其应用,指针及其应用,结构体及其应用,文件与数据存储,C 语言综合性程序设计案例分析等。
        全书理论联系实际,将 C 语言的语法融入问题求解方法的学习中。书中案例贴近生活、通俗易懂,紧密联系应用实践,易激发读者的学习兴趣;内容组织由浅入深,重点突出。概括起来,具有以下特色:一是知行合一,将语法知识与实际问题求解有机结合;二是渐进式学习,采用“概念→示例→实践→总结”的四步教学法,层层深入;三是可视化解析,采用图文并茂的方式来解析教学重点与难点,直观呈现复杂概念和算法;四是项目驱动,本书第 10 章为一个综合项目案例,涵盖从需求分析、模块设计、代码实现和测试的完整开发流程;五是能力导向,每章设有思维导图和编程实验,培养实际开发能力。
        本书可作为高等学校计算机相关专业的程序设计基础课程教材,也可作为非计算机专业的 C 语言程序设计课程教材,还可供从事计算机相关工作的科技人员、程序设计爱好者及各类自学人员参考。

目录

第 1 章 程序设计引论 ............................... 1
1.1 计算机科学与问题求解 ............................ 1
1.2 程序与程序设计 ........................................ 2
1.2.1 程序 ..................................................... 2
1.2.2 程序设计 ............................................. 4
1.3 程序设计语言 ............................................ 4
1.3.1 程序设计语言分类 ............................. 4
1.3.2 程序的执行方式 ................................. 5
1.4 C 语言简介 ................................................. 7
1.5 C 语言程序开发工具 ................................. 9
1.6 C 语言程序开发步骤 ............................... 13
本章小结 ........................................................... 17
练习一 ............................................................... 17
实验一 ............................................................... 18

第 2 章 数据类型、运算符与表达式 ............................................ 19
2.1 C 语言程序基本结构 ............................... 19
2.2 C 程序中常见的符号 ............................... 22
2.3 数据类型 .................................................. 23
2.4 常量 .......................................................... 26
2.4.1 整型常量 ........................................... 26
2.4.2 实型常量 ........................................... 27
2.4.3 字符常量 ........................................... 28
2.4.4 字符串常量 ....................................... 29
2.4.5 宏常量 ............................................... 29
2.5 变量 .......................................................... 30
2.5.1 变量的声明 ....................................... 30
2.5.2 变量的初始化 ................................... 31
2.5.3 变量的访问与使用 ........................... 31
2.6 运算符与表达式 ...................................... 33
2.6.1 算术运算符 ....................................... 34
2.6.2 运算符的优先级与结合性 ............... 35
2.6.3 关系运算符 ....................................... 36
2.6.4 复合赋值运算符 ............................... 37
2.6.5 ++和--运算符 .................................... 38
2.7 表达式的类型转换 .................................. 39
2.7.1 赋值表达式的类型转换 ................... 39
2.7.2 强制类型转换 ................................... 40
2.8 const 常量 ................................................. 41
本章小结 ........................................................... 41
练习二 ............................................................... 42
实验二 ............................................................... 44

第 3 章 算法与简单 C 语言程序设计 ................................................. 45
3.1 C 语句 ....................................................... 45
3.2 C 程序输入/输出操作的实现 .................. 46
3.2.1 字符输入/输出 .................................. 46
3.2.2 格式输入/输出 .................................. 47
3.3 算法 .......................................................... 53
3.3.1 问题求解过程中算法的作用 ........... 54
3.3.2 算法的特点 ....................................... 56
3.3.3 算法的表示 ....................................... 56
3.4 简单程序设计举例 .................................. 61
本章小结 ........................................................... 64
练习三 ............................................................... 65
实验三 ............................................................... 65

第 4 章 程序基本控制结构 ................... 67
4.1 逻辑运算符与逻辑表达式 ...................... 67
4.1.1 逻辑运算符 ....................................... 67
4.1.2 逻辑表达式 ....................................... 68
4.2 选择控制结构 .......................................... 69
4.2.1 if 单分支语句 ................................... 69
4.2.2 if 双分支语句 ................................... 75
4.2.3 if 多分支语句 ................................... 77
4.3 条件表达式 .............................................. 81
4.4 switch 多分支语句 ................................... 81
4.5 循环控制语句 .......................................... 86
4.5.1 while 循环语句 ................................. 86
4.5.2 for 循环语句 ..................................... 90
4.5.3 do while 循环语句 ............................ 95
4.6 程序跳转语句 .......................................... 97
4.6.1 break 语句 ......................................... 97
4.6.2 continue 语句 .................................... 99
4.6.3 goto 语句 ......................................... 101
4.7 多重循环及其应用 ................................ 101
4.8 循环程序设计方法 ................................ 105
4.8.1 迭代法 ............................................. 105
4.8.2 穷举法 ............................................. 108
本章小结 ......................................................... 109
练习四 ............................................................. 110
实验四 ............................................................. 114

第 5 章 函数及其应用 ........................... 117
5.1 C 函数概述 ............................................ 117
5.2 C 语言函数的定义和调用 .................... 118
5.2.1 C 语言函数的定义 ......................... 118
5.2.2 return 语句 ...................................... 120
5.2.3 函数调用 ......................................... 121
5.2.4 函数声明 ......................................... 123
5.3 引用库函数与自定义函数 .................... 124
5.3.1 库函数分类 ..................................... 124
5.3.2 #include 指令 .................................. 125
5.4 函数参数传递方式 ................................ 126
5.5 函数嵌套调用 ........................................ 128
5.5.1 嵌套调用的概念 ............................. 128
5.5.2 模块化程序设计基本方法 ............. 128
5.6 递归函数及其应用 ................................ 132
5.6.1 递归的概念 ..................................... 132
5.6.2 递归程序分析 ................................. 135
5.6.3 递归程序应用 ................................. 137
5.7 变量的作用域与生存期 ........................ 139
5.7.1 局部变量 ......................................... 139
5.7.2 全局变量 ......................................... 141
5.7.3 变量的存储类型 ............................. 143
5.8 函数综合应用—趣味算术游戏 ........ 145
本章小结 ......................................................... 152
练习五 ............................................................. 153
实验五 ............................................................. 157

第 6 章 数组及其应用 ........................... 159
6.1 一维数组 ................................................ 159
6.1.1 一维数组的定义与引用 ................. 159
6.1.2 一维数组的初始化 ......................... 163
6.2 向函数传递一维数组 ............................ 165
6.3 基于数组的常用算法及其应用 ............ 169
6.3.1 顺序查找 ......................................... 169
6.3.2 数据删除 ......................................... 170
6.3.3 数据插入 ......................................... 171
6.3.4 寻找最大值 ..................................... 172
6.3.5 数据排序 ......................................... 174
6.3.6 数据倒置 ......................................... 178
6.3.7 二分查找 ......................................... 180
6.3.8 一维数组应用实例 ......................... 182
6.4 二维数组 ................................................ 185
6.4.1 二维数组的定义、引用及初始化 .... 185
6.4.2 二维数组应用实例 ......................... 188
6.5 向函数传递二维数组 ............................ 190
6.6 字符串及字符数组 ................................ 192
6.6.1 字符串 ............................................. 192
6.6.2 字符数组的初始化 ......................... 193
6.6.3 字符数组的输入/输出 .................... 193
6.6.4 字符串处理函数 ............................. 196
6.6.5 字符串应用实例 ............................. 198
6.7 基于数组的递归算法 ............................ 203
本章小结 ......................................................... 205
练习六 ............................................................. 206
实验六 ............................................................. 211

第 7 章 指针及其应用 ........................... 213
7.1 指针的本质 ............................................ 213
7.2 指针变量的定义与初始化 .................... 214
7.3 间接寻址运算符 .................................... 217
7.4 指针与函数 ............................................ 218
7.4.1 传值调用与传地址调用 ................. 218
7.4.2 指针做函数参数的应用实例 ......... 219
7.5 指针和一维数组 .................................... 223
7.5.1 指针的算术运算与关系运算 ......... 223
7.5.2 应用指针访问一维数组 ................. 224
7.5.3 深入理解一维数组做函数参数的本质 ................................................. 227
7.6 字符指针 ................................................ 228
7.6.1 使用字符指针指示字符串常量 ..... 229
7.6.2 利用字符指针访问字符串变量 ..... 230
7.7 指针和二维数组 .................................... 232
7.7.1 列指针 ............................................. 232
7.7.2 行指针 ............................................. 233
7.8 指针的高级应用 .................................... 234
7.8.1 指针数组及其应用 ......................... 234
7.8.2 动态内存分配 ................................. 237
7.8.3 二级指针 ......................................... 241
本章小结 ......................................................... 244
练习七 ............................................................. 244
实验七 ............................................................. 250

第 8 章 结构体及其应用 ...................... 251
8.1 为何要用结构体 .................................... 251
8.2 结构体类型与结构体变量 .................... 252
8.2.1 结构体类型的声明 ......................... 252
8.2.2 结构体变量的定义 ......................... 253
8.2.3 对结构体变量的操作 ..................... 254
8.2.4 结构体变量的初始化 ..................... 255
8.3 指向结构体的指针 ................................ 256
8.4 向函数传递结构体 ................................ 258
8.4.1 传值调用 ......................................... 258
8.4.2 传地址调用 ..................................... 258
8.5 结构体数组 ............................................ 259
8.5.1 结构体数组的定义 ......................... 259
8.5.2 结构体数组的初始化与引用 ......... 260
8.5.3 结构体数组的应用 ......................... 261
8.6 动态数据结构—单链表 .................... 264
8.6.1 单链表的定义 ................................. 265
8.6.2 在单链表中插入新结点 ................. 266
8.6.3 建立单链表 ..................................... 267
8.6.4 单链表的遍历 ................................. 269
8.6.5 在单链表中查找结点 ..................... 270
8.6.6 在单链表中删除结点 ..................... 271
本章小结 ......................................................... 273
练习八 ............................................................. 273
实验八 ............................................................. 277

第 9 章 文件与数据存储 ...................... 278
9.1 引例—学生信息文件的创建 ............ 278
9.2 文件概述 ................................................ 279
9.2.1 流的概念 ......................................... 279
9.2.2 文件的分类 ..................................... 280
9.2.3 文件指针 ......................................... 281
9.3 文件的打开和关闭 ................................ 282
9.3.1 文件的打开 ..................................... 282
9.3.2 文件的关闭 ..................................... 283
9.4 文件检测函数 ........................................ 284
9.4.1 检测文件末尾函数 ......................... 284
9.4.2 检测出错函数 ................................. 284
9.5 文件的读/写操作 ................................... 285
9.5.1 字符读/写函数 ................................ 285
9.5.2 字符读/写函数应用实例 ................ 285
9.5.3 字符串读/写函数 ............................ 287
9.5.4 字符串读/写函数应用实例 ............ 287
9.5.5 格式化读/写函数 ............................ 288
9.5.6 格式化读/写函数应用实例 ............ 288
9.5.7 数据块读/写函数 ............................ 290
9.5.8 数据块读/写函数应用实例 ............ 291
9.6 文件的随机读/写 ................................... 293
9.6.1 文件的定位 ..................................... 293
9.6.2 文件随机读/写应用实例 ................ 294
9.7 利用位运算对文件数据加密 ................ 297
9.7.1 位运算 ............................................. 297
9.7.2 数据文件加密实例 ......................... 298
本章小结 ......................................................... 301
练习九 ............................................................. 301
实验九 ............................................................. 303

第 10 章 C 语言综合性程序设计案例分析 ................................... 304
10.1 软件开发过程概述 .............................. 304
10.2 基于用户角色的图书管理系统案例分析 ...................................................... 306
10.2.1 问题描述与需求分析 ................... 307
10.2.2 总体设计与详细设计 ................... 307
10.2.3 编码 ............................................... 314
10.2.4 测试 ............................................... 349
本章小结 ......................................................... 349
实验十 ............................................................. 349

附录 A C 语言中的关键字 ................. 350
附录 B 常用字符与其 ASCII 值对照表 .......................................... 351
附录 C 运算符的优先级和结合性 .... 352
附录 D 常用的 C 语言库函数 .......... 353
附录 E 全国计算机等级考试二级 C 语言程序设计考试大纲(2025 年版) ..... 357

参考文献 ......................................................... 360

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

揭安全
江西师范大学人工智能学院教授,江西省高水平本科教学团队(计算机软件与理论核心课程教学团队)负责人,获国家级教学成果二等奖 1 项,江西省教学成果一等奖 5 项,主讲的“数据结构”课程获国家线上线下混合式一流课程,主讲的“高级语言程序设计”课程获江西省一流本科课程。先后获得全国师范教育明德教师奖、江西省模范教师、江西省金牌教师(教学名师)、江西省先进工作者、江西省师德标兵等荣誉称号。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部