×
C语言项目式系统开发教程(微课版)(第2版)

C语言项目式系统开发教程(微课版)(第2版)

1星价 ¥45.4 (7.6折)
2星价¥45.4 定价¥59.8
暂无评论
图文详情
  • ISBN:9787115203878
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:265
  • 出版时间:2022-08-01
  • 条形码:9787115203878 ; 978-7-115-20387-8

本书特色

1.以“大案例、一案到底”的思路,讲解“图书收银超市系统”项目作为全书主线。 2.以问题分析引导、算法流程图帮助找出用计算机解决问题的关键,将考证与竞赛习题引入教材,激发兴趣,培养独立思考和解决实际问题的能力。 3.配套微课视频,随时随地移动端观看视频,合理利用碎片化时间,辅助学习。 4.线上MOOC平台资源有利于混合教学模式的开展,线上和线下有机结合,适应学生差异化学习需求。 5.思政教育在课程中应用,针对C语言程序设计课程构建的具有思政育人的理论教学环节和实践教学环节。

内容简介

本书共分为10个单元,单元1~单元9的内容包括认识C语言程序、数据描述与数据处理、选择结构程序设计、循环结构程序设计、数组程序设计、模块化程序设计、指针程序设计、结构体程序设计、文件程序设计;单元10以图书超市收银系统项目为例,带领读者实现整个项目的设计、掌握开发流程。 本书采用任务驱动的编写思路,以技能为主线,以具体的任务为载体,使读者更容易掌握学习内容和学习方法。通过本书的学习,读者能够利用C语言程序开发工具Dev-C++进行程序编辑、编译和运行,能够使用不同的数据类型来描述现实生活中的数据,能够使用运算符对数据进行操作,能够使用程序流程图来描述算法,能够运用选择结构、循环结构来解决实际问题,能够运用数组、函数、指针、结构体、文件等知识设计复杂的应用程序,并能熟练掌握程序的调试方法。 本书可作为高等教育本、专科院校计算机相关专业的教材,也可作为计算机培训机构的参考教材。

目录

第 1章 初识MyBatis框架Photoshop CC入门 1
单元1 认识C语言程序 1
任务1-1 初识C语言-——-搭建开发环境 2
【任务目标】 2
【任务陈述】 2
【知识准备】 2
1.1.1 计算机编程语言的发展历史 2
1.1.2 C语言的标准 3
1.1.3 C语言的使用步骤 4
【任务实施】 5
【课堂实训】 8
任务1-2 编写第 一个C语言程序输出
树形图 8
【任务目标】 8
【任务陈述】 8
【知识准备】 8
1.2.1 C语言程序的基本组成 8
【任务实施】 10
【课堂实训】 10
单元小结 10
单元习题 10
1.1 初识框架 1
1.1.1 框架概述 1
1.1.2 框架的优势 2
1.1.3 当前主流框架 2
1.2 MyBatis介绍 3
1.2.1 传统JDBC的劣势 3
1.2.2 MyBatis概述 3
1.3 MyBatis环境搭建 4
1.4 MyBatis入门程序 7
1.5 MyBatis工作原理 9
1.6 本章小结 10
1.1 初识框架 1
1.1.1 框架概述 1
1.1.2 框架的优势 2
1.1.3 当前主流框架 2
1.2 MyBatis介绍 3
1.2.1 传统JDBC的劣势 3
1.2.2 MyBatis概述 3
1.3 MyBatis环境搭建 4
1.4 MyBatis入门程序 7
1.5 MyBatis工作原理 9
1.6 本章小结 10
1.1 计算机世界的数字图像 1
1.1.1 位图与矢量图 1
1.1.2 像素 2
1.1.3 分辨率 3
1.1.4 常用的图像格式 3
1.2 图像的色彩 4
1.2.1 三原色 4
1.2.2 色彩属性 4
1.2.3 颜色模式 5
1.3 认识Photoshop CC 2019 6
1.3.1 Photoshop CC 2019的工作界面 6
1.3.2 Photoshop CC 2019的新增和
调整功能 14
1.3.3 Photoshop CC 2019的基础
操作 17
1.4 本章小结 26
1.5 课后练习 26
第 2章 MyBatis的核心配置Java编程基础 2411
单元2 数据描述与数据处理 12
任务2-1 计算办公用品采购数量 13
【任务目标】 13
【任务陈述】 13
【知识准备】 13
2.1.1 整数数据类型 13
2.1.2 变量 14
2.1.3 常量 15
2.1.4 算术运算符与表达式 16
【任务实施】 17
【课堂实训】 17
任务2-2 计算身体质量指数 18
【任务目标】 18
【任务陈述】 18
【知识准备】 18
2.2.1 浮点数的概述 18
2.2.2 浮点数的应用 19
【任务实施】 20
【课堂实训】 21
任务2-3 计算时间差 21
【任务目标】 21
【任务陈述】 21
【知识准备】 22
2.3.1 自加、自减运算符 22
2.3.2 位运算符 22
2.3.3 复合赋值运算符 23
2.3.4 逗号运算符 24
【任务实施】 24
【课堂实训】 25
任务2-4 会员信息输入与输出 25
【任务目标】 25
【任务陈述】 25
【知识准备】 26
2.4.1 字符编码 26
2.4.2 字符类型 26
2.4.3 字符的输出与输入 28
2.4.54 数据类型转换 30
【任务实施】 32
【课堂实训】 32
单元小结 32
单元习题 33

2.1 MyBatis的核心对象 11
2.1.1 SqlSessionFactoryBuilder 11
2.1.2 SqlSessionFactory 12
2.1.3 SqlSession 13
2.2 MyBatis核心配置文件 14
2.2.1 配置文件的主要元素 14
2.2.2 元素 15
2.2.3 元素 16
2.2.4 元素 17
2.2.5 元素 18
2.2.6 元素 20
2.3 MyBatis映射文件 21
2.3.1 MyBatis映射文件中的常用元素 21
2.3.2 元素 212.3.3 元素 222.3.4 元素 232.3.5 元素 242.3.6 元素 242.3.7 元素 252.4 案例:员工管理系统 282.5 本章小结 292.1 MyBatis的核心对象 112.1.1 SqlSessionFactoryBuilder 112.1.2 SqlSessionFactory 122.1.3 SqlSession 132.2 MyBatis核心配置文件 142.2.1 配置文件的主要元素 142.2.2 元素 152.2.3 元素 162.2.4 元素 172.2.5 元素 182.2.6 元素 202.3 MyBatis映射文件 212.3.1 MyBatis映射文件中的常用元素 212.3.2 元素 21
2.3.3 元素 22
2.3.4 元素 23
2.3.5 元素 24
2.3.6 元素 24
2.3.7 元素 25
2.4 案例:员工管理系统 28
2.5 本章小结 29
2.1 Java基本语法 24
2.1.1 Java程序的基本格式 24
2.1.2 Java中的注释 25
2.1.3 Java中的标识符 25
2.1.4 Java中的关键字 26
2.1.5 Java中的常量 27
2.2 Java中的变量 28
2.2.1 变量的定义 28
2.2.2 变量的数据类型 29
2.2.3 变量的类型转换 30
2.2.4 变量的作用域 32
2.3 Java中的运算符 33
2.3.1 算术运算符 33
2.3.2 赋值运算符 34
2.3.3 比较运算符 35
2.3.4 逻辑运算符 36
2.3.5 运算符的优先级 37
【案例2-1】 商品入库 38
2.4 选择结构语句 38
2.4.1 if条件语句 38
2.4.2 三元运算符 41
2.4.3 switch条件语句 42
【案例2-2】 小明都可以买什么 44
2.5 循环结构语句 44
2.5.1 while循环语句 44
2.5.2 do...while循环语句 45
2.5.3 for循环语句 46
2.5.4 循环嵌套 47
2.5.5 跳转语句(break、continue) 48
【案例2-3】 超市购物程序设计 50
【案例2-4】 为新员工分配部门 50
【案例2-5】 剪刀石头布 50
2.6 方法 50
2.6.1 什么是方法 50
2.6.2 方法的重载 52
2.7 数组 53
2.7.1 数组的定义 53
2.7.2 数组的常见操作 56
2.7.3 二维数组 59
【案例2-6】 登录注册 60
【案例2-7】 抽取幸运观众 60
2.8 本章小结 61
2.9 本章习题 61
第3章单元3 选择结构程序设计动态SQL面向对象(上) 62306
任务3-1 计算时间差 37
【任务目标】 37
【任务陈述】 37
【知识准备】 37
3.1.1 关系运算符与关系表达式 37
3.1.2 算法及其表示 38
3.1.3 单分支if语句 40
3.1.4 程序调试方法 42
【任务实施】 43
【课堂实训】 44
任务3-2 购物找零计算器 44
【任务目标】 44
【任务陈述】 44
【知识准备】 45
3.2.1 if...else语句 45
3.2.2 条件运算符 46
【任务实施】 47
【课堂实训】 48
任务3-3 计算购物折扣问题 48
【任务目标】 48
【任务陈述】 49
【知识准备】 49
3.3.1 if语句嵌套 49
3.3.2 逻辑运算符与逻辑表达式 51
【任务实施】 54
【课堂实训】 55
任务3-4 划分会员等级 56
【任务目标】 56
【任务陈述】 56
【知识准备】 56
3.4.1 多分支语句if...else if...else 56
3.4.2 单一出口原则 58
【任务实施】 59
【课堂实训】 60
任务3-5 判断指定月份天数 60
【任务目标】 60
【任务陈述】 60
【知识准备】 61
3.5.1 switch语句 61
3.5.2 break语句 62
【任务实施】 654
【课堂实训】 66
单元小结 666
单元习题 67
3.1 动态SQL中的元素 30
3.2 条件查询操作 31
3.2.1 元素 31
3.2.2 、、
元素 34
3.2.3 、元素 35
3.3 更新操作 37
3.4 复杂查询操作 39
3.4.1 元素的属性 39
3.4.2 元素迭代数组 40
3.4.3 元素迭代List 41
3.4.4 元素迭代Map 42
3.5 案例:学生信息查询系统 43
3.6 本章小结 43
3.1 动态SQL中的元素 30
3.2 条件查询操作 31
3.2.1 元素 31
3.2.2 、、
元素 34
3.2.3 、元素 35
3.3 更新操作 37
3.4 复杂查询操作 39
3.4.1 元素中的属性 39
3.4.2 元素迭代数组 40
3.4.3 元素迭代List 41
3.4.4 元素迭代Map 42
3.5 案例:学生信息询系统 43
3.6 本章小结 43
3.1 面向对象的思想 62
3.2 类与对象 63
3.2.1 类的定义 63
3.2.2 对象的创建与使用 64
3.2.3 对象的引用传递 66
3.2.4 访问控制 67
3.3 封装性 68
3.3.1 为什么要封装 68
3.3.2 如何实现封装 69
【案例3-1】 基于控制台的购书系统 70
3.4 构造方法 70
3.4.1 定义构造方法 70
3.4.2 构造方法的重载 71
【案例3-2】 银行存取款 73
【案例3-3】 查看手机配置与功能 73
3.5 this关键字 73
3.5.1 使用this关键字调用本类中的
属性 73
3.5.2 使用this关键字调用成员方法 74
3.5.3 使用this关键字调用本类的
构造方法 74
3.6 代码块 75
3.6.1 普通代码块 75
3.6.2 构造块 76
3.7 static关键字 76
3.7.1 静态属性 77
3.7.2 静态方法 78
3.7.3 静态代码块 79
【案例3-4】 学生投票系统 80
3.8 本章小结 80
3.9 本章习题 80
第4章单元4 循环结构程序设计MyBatis的关联映射和
缓存机制面向对象(下) 814471
任务4-1 购物计算器 72
【任务目标】 72
【任务陈述】 72
【知识准备】 72
4.1.1 循环概述 72
4.1.2 while循环语句 72
【任务实施】 75
【课堂实训】 756
任务4-2 猜数游戏设计与实现 767
【任务目标】 767
【任务陈述】 767
【知识准备】 77
4.2.1 C语言随机数 77
4.2.2 do...while循环语句 789
【任务实施】 80
【课堂实训】 8181
任务4-3 数的阶乘计算 812
【任务目标】 812
【任务陈述】 812
【知识准备】 82
4.3.1 for循环的一般形式 82
4.3.2 for循环语句的执行过程 823
4.3.3 for循环语句的应用场景 845
4.3.4 三3种循环的选择 845
【任务实施】 845
【课堂实训】 856
任务4-4 判断素数问题 86
【任务目标】 86
【任务陈述】 86
【知识准备】 867

4.4.1 转移语句 86
4.4.21 break语句 867
4.4.32 continue语句 888
【任务实施】 89
【课堂实训】 90
任务4-5 凑硬币问题 901
【任务目标】 901
【任务陈述】 910
【知识准备】 9110
4.5.1 循环嵌套 9110
4.5.2 枚举法 922
4.5.3 接力break与goto语句 934
【任务实施】 94
【课堂实训】 957
单元小结 967
单元习题 967
4.1 关联映射概述 44
4.2 一对一查询 45
4.3 一对多查询 51
4.4 多对多查询 54
4.5 MyBatis缓存机制 58
4.5.1 一级缓存 58
4.5.2 二级缓存 63
4.6 案例:商品的类别 66
4.7 本章小结 67
4.1 关联映射概述 44
4.2 一对一查询 45
4.3 一对多查询 51
4.4 多对多查询 54
4.5 MyBatis缓存机制 58
4.5.1 一级缓存 58
4.5.2 二级缓存 63
4.6 案例:商品的类别 66
4.7 本章小结 67
4.1 类的继承 81
4.1.1 继承的概念 81
4.1.2 方法的重写 83
4.1.3 super关键字 85
4.2 final关键字 87
4.2.1 final关键字修饰类 87
4.2.2 final关键字修饰方法 88
4.2.3 final关键字修饰变量 88
4.3 抽象类和接口 89
4.3.1 抽象类 89
4.3.2 接口 90
【案例4-1】 打印不同的图形 93
【案例4-2】 饲养员喂养动物 93
【案例4-3】 多彩的声音 93
【案例4-4】 学生和老师 93
【案例4-5】 图形的面积与周长计算
程序 93
【案例4-6】 研究生薪资管理 93
4.4 多态 94
4.4.1 多态概述 94
4.4.2 对象类型的转换 95
4.4.3 instanceof关键字 96
【案例4-7】 经理与员工工资案例 97
【案例4-8】 模拟物流快递系统程序
设计 97
4.5 Object类 97
4.6 内部类 98
4.6.1 成员内部类 98
4.6.2 局部内部类 99
4.6.3 静态内部类 100
4.6.4 匿名内部类 101
4.7 异常(Exception) 101
4.7.1 什么是异常 101
4.7.2 try…catch和finally 103
4.7.3 throws关键字 104
4.7.4 编译时异常与运行时异常 106
4.7.5 自定义异常 106
4.8 本章小结 107
4.9 本章习题 107
第5章单元5 数组程序设计MyBatis的注解开发Java API 108681002
任务5-1 成绩统计 1013
【任务目标】 1013
【任务陈述】 1013
【知识准备】 1013
5.1.1 数组的概念 1013
5.1.2 一维数组的定义 1024
5.1.3 一维数组的初始化 1035
5.1.4 一维数组的遍历与搜索 1035
【任务实施】 1047
【课堂实践训】 1068
任务5-2 成绩排序 1068
【任务目标】 1068
【任务陈述】 1069
【知识准备】 1079
5.2.1 排序 1079
5.2.2 二分查找 1103
【任务实施】 1124
【课堂实训践】 1146
任务5-3 井字棋游戏 1146
【任务目标】 1146
【任务陈述】 1147
【知识准备】 1157
5.3.1 二维数组的定义 1157
5.3.2 二维数组的初始化 1168
5.3.3 二维数组的遍历 11820
【任务实施】 11922
【课堂实训践】 1224
任务5-4 用户登录验证 1225
【任务目标】 1225
【任务陈述】 1235
【知识准备】 1235
5.4.1 字符数组与字符串 1235
5.4.2 字符数组与字符串的输入和
输出 1247
5.4.3 字符串函数 1279
【任务实施】 12931
【课堂实训践】 1302
单元小结 1302
单元习题 1313
5.1 基于注解的单表增删改查 68
5.1.1 @Select注解 68
5.1.2 @Insert注解 70
5.1.3 @Update注解 71
5.1.4 @Delete注解 72
5.1.5 @Param注解 73
5.2 基于注解的关联查询 74
5.2.1 一对一查询 74
5.2.2 一对多查询 75
5.2.3 多对多查询 77
5.3 案例:基于MyBatis注解的学生
管理程序 79
5.4 本章小结 79
5.1 基于注解的单表增删改查 68
5.1.1 @Select注解 68
5.1.2 @Insert注解 70
5.1.3 @Update注解 71
5.1.4 @Delete注解 72
5.1.5 @Param注解 73
5.2 基于注解的关联查询 74
5.2.1 一对一查询 74
5.2.2 一对多查询 75
5.2.3 多对多查询 77
5.3 案例:基于MyBatis注解的学生
管理程序 79
5.4 本章小结 79
5.1 字符串类 108
5.1.1 String类的初始化 108
5.1.2 String类的常见操作 109
5.1.3 StringBuffer类 113
5.1.4 StringBuilder类 115
【案例5-1】 模拟订单号生成 116
【案例5-2】 模拟默认密码自动生成 117
【案例5-3】 模拟用户登录 117
5.2 System类与Runtime类 117
5.2.1 System类 117
5.2.2 Runtime类 120
5.3 Math类与Random类 122
5.3.1 Math类 122
5.3.2 Random类 123
【案例5-4】 将字符串转换为二进制 125
5.4 日期时间类 125
5.4.1 Instant类 126
5.4.2 LocalDate类 127
5.4.3 LocalTime类与
LocalDateTime类 129
5.4.4 Period和Duration类 130
【案例5-5】 二月天 131
5.5 包装类 131
5.6 正则表达式 133
5.6.1 元字符 133
5.6.2 Pattern类和Matcher类 134
5.6.3 String类对正则表达式的支持 136
5.7 本章小结 137
5.8 本章习题 137
第6章单元6 函数模块化程序设计初识Spring框架集合 138801368
任务6-1 制作图书超市收银系统菜单 1379
【任务目标】 1379
【任务陈述】 1379
【知识准备】 1379
6.1.1 函数的概念 1379
6.1.2 函数的定义 13840
6.1.3 函数的调用 13941
6.1.4 函数的声明 13941
【任务实施】 1402
【课堂实训】 1413
任务6-2 素数判断 1424
【任务目标】 1424
【任务陈述】 1424
【知识准备】 1424
6.2.1 函数参数 1424
6.2.2 参数值传递 1435
6.2.3 函数返回值 1457
【任务实施】 1479
【课堂实训】 14850
任务6-3 计算并输出大于平均分的学生
成绩 14851
【任务目标】 14851
【任务陈述】 14951
【知识准备】 14951
6.3.1 地址 14951
6.3.2 参数地址传递 14952
6.3.3 变量作用域 15053
【任务实施】 1557
【课堂实训】 1569
任务6-4 计算斐波那契数列第N项值 1579
【任务目标】 1579
【任务陈述】 1579
【知识准备】 15760
6.4.1 递归函数 15760
6.4.2 递推与递归 15860
6.4.3 递归条件 15861
【任务实施】 1602
【课堂实训】 1613
单元小结 1614
单元习题 1624
单元76.1 Spring介绍 80
6.1.1 Spring概述 80
6.1.2 Spring框架的优点 81
6.1.3 Spring的体系结构 81
6.1.4 Spring 5的新特性 83
6.1.5 Spring的下载及目录结构 84
6.2 Spring的入门程序 84
6.3 控制反转与依赖注入 87
6.3.1 控制反转的概念 87
6.3.2 依赖注入的概念 88
6.3.3 依赖注入的类型 88
6.3.4 依赖注入的应用 90
6.4 本章小结 926.1 Spring介绍 80
6.1.1 Spring概述 80
6.1.2 Spring框架的优点 81
6.1.3 Spring的体系结构 81
6.1.4 Spring 5的新特性 83
6.1.5 Spring的下载及目录结构 84
6.2 Spring的入门程序 84
6.3 控制反转与依赖注入 87
6.3.1 控制反转的概念 87
6.3.2 依赖注入的概念 88
6.3.3 依赖注入的类型 88
6.3.4 依赖注入的应用 90
6.4 本章小结 92
6.1 集合概述 138
6.2 Collection接口 139
6.3 List接口 139
6.3.1 List接口简介 139
6.3.2 ArrayList集合 140
6.3.3 LinkedList集合 141
6.3.4 Iterator接口 143
6.3.5 foreach循环 145
【案例6-1】 库存管理系统 146
【案例6-2】 学生管理系统 146
6.4 Set接口 146
6.4.1 Set接口简介 146
6.4.2 HashSet集合 147
6.4.3 TreeSet集合 149
【案例6-3】 模拟用户注册 151
6.5 Map接口 151
6.5.1 Map接口简介 151
6.5.2 HashMap集合 152
6.5.3 TreeMap集合 155
6.5.4 Properties集合 156
【案例6-4】 斗地主洗牌发牌 157
【案例6-5】 模拟百度翻译 157
6.6 泛型 157
6.6.1 泛型概述 157
6.6.2 泛型类和泛型对象 158
6.6.3 泛型方法 159
6.6.4 泛型接口 160
6.6.5 类型通配符 161
6.7 JDK 8新特性—Lambda
表达式 162
6.8 本章小结 163
6.9 本章习题 163
第7章 指针程序设计Spring中的Bean的管理I/O(输入/输出) 164931668
任务7-1 交换两个变量的值 1679
【任务目标】 1679
【任务陈述】 1679
【知识准备】 1679
7.1.1 指针概述 1679
7.1.2 指针变量 16971
7.1.3 指针与动态内存分配 1702
【任务实施】 1713
【课堂实训】 1724
任务7-2 小写字母变大写字母 1724
【任务目标】 1724
【任务陈述】 1724
【知识准备】 1735
7.2.1 指针的运算 1735
7.2.2 指针变量访问数组 1746
7.2.3 指针与字符串 1768
7.2.4 指针数组 1768

【任务实施】 17880
【课堂实训】 1802
任务7-3 三3个数排序 1802
【任务目标】 1802
【任务陈述】 1802
【知识准备】 1813
7.3.1 指针接收变量地址 1813
7.3.2 指针接收数组地址 1824
【任务实施】 1846
【课堂实训】 1857
单元小结 1857
单元习题 1868
7.1 Spring IoC容器 93
7.1.1 BeanFactory接口 93
7.1.2 ApplicationContext接口 94
7.2 Bean的配置 94
7.3 Bean的实例化 96
7.3.1 构造方法实例化 96
7.3.2 静态工厂实例化 97
7.3.3 实例工厂实例化 98
7.4 Bean的作用域 100
7.4.1 singleton作用域 100
7.4.2 prototype作用域 101
7.5 Bean的装配方式 101
7.5.1 基于XML的装配 101
7.5.2 基于注解的装配 102
7.5.3 自动装配 106
7.6 Bean的生命周期 106
7.7 本章小结 108
7.1 Spring IoC容器 93
7.1.1 BeanFactory接口 93
7.1.2 ApplicationContext接口 94
7.2 Bean的配置 94
7.3 Bean的实例化 96
7.3.1 构造方法实例化 96
7.3.2 静态工厂实例化 97
7.3.3 实例工厂实例化 98
7.4 Bean的作用域 100
7.4.1 singleton作用域 100
7.4.2 prototype作用域 101
7.5 Bean的装配方式 101
7.5.1 基于XML的装配 101
7.5.2 基于注解的装配 102
7.5.3 自动装配 106
7.6 Bean的生命周期 106
7.7 本章小结 108
7.1 File类 164
7.1.1 创建File对象 164
7.1.2 File类的常用方法 165
7.1.3 遍历目录下的文件 167
7.1.4 删除文件及目录 169
【案例7-1】 批量操作文件管理器 170
7.2 字节流 170
7.2.1 字节流的概念 170
7.2.2 InputStream读文件 172
7.2.3 OutputStream写文件 173
7.2.4 文件的复制 175
7.2.5 字节缓冲流 176
【案例7-2】 商城进货交易记录 177

【案例7-3】 日记本 177
7.3 字符流 177
7.3.1 字符流定义及基本用法 177
7.3.2 字符流操作文件 178
7.3.3 转换流 180
【案例7-4】 升级版日记本 181
【案例7-5】 微信投票 181
7.4 本章小结 181
7.5 本章习题 181
第8章 多线程 182第8章单元8 结构体程序设计Spring AOP 109924
任务8-1 统计候选人票数统计 1935
【任务目标】 1935
【任务陈述】 1935
【知识准备】 1945
8.1.1 结构体概述 1945
8.1.2 定义结构体 1946
8.1.3 结构体变量的定义 1957
8.1.4 结构体变量的初始化 1968
8.1.5 结构体变量成员的引用与
赋值 1968
8.1.6 结构体数组 198200
【任务实施】 199202
【课堂实训践】 2013
任务8-2 增加图书信息 2014
【任务目标】 2014
【任务陈述】 2024
【知识准备】 2024
8.2.1 链表概述 2024
8.2.2 定义链表 2035
8.2.3 链表操作 2035
【任务实施】 2057
【课堂实训践】 20810
单元小结 20810
单元习题 20911

8.1 Spring AOP介绍 109
8.1.1 Spring AOP概述 109
8.1.2 Spring AOP术语 110
8.2 Spring AOP的实现机制 110
8.2.1 JDK动态代理 111
8.2.2 CGLib动态代理 113
8.3 基于XML的AOP实现 114
8.4 基于注解的AOP实现 119
8.5 本章小结 122
单元第9章 文件程序设计Spring的数据库编程 1232146
任务9-1 顺序读写图书信息 2157
【任务目标】 2157
【任务陈述】 2157
【知识准备】 2157
9.1.1 文件相关概念 2157
9.1.2 文件指针 2179
9.1.3 文件的打开与关闭 2179
9.1.4 读写文件 21921
【任务实施】 2257
【课堂实训践】 2268
任务9-2 随机存取会员信息 2279
【任务目标】 2279
【任务陈述】 2279
【知识准备】 22830
9.2.1 fseek()函数 22830
9.2.2 rewind()函数 22931
9.2.3 ftell()函数 2302
9.2.4 文件检测函数 2302
【任务实施】 2313
【课堂实训践】 2324
单元小结 2335
单元习题 2335
单元9.1 Spring JDBC 123
9.1.1 JdbcTemplate概述 123
9.1.2 Spring JDBC的配置 124
9.2 JdbcTemplate的增删改查操作 125
9.2.1 execute()方法 125
9.2.2 update()方法 127
9.2.3 query()方法 132
9.3 Spring事务管理概述 134
9.3.1 事务管理的核心接口 135
9.3.2 事务管理的方式 137
9.4 声明式事务管理 137
9.4.1 基于XML方式的声明式事务 137
9.4.2 基于注解方式的声明式事务 141
9.5 案例:实现用户登录 143
9.6 本章小结 143
8.1 Spring AOP介绍 109
8.1.1 Spring AOP概述 109
8.1.2 Spring AOP术语 110
8.2 Spring AOP的实现机制 110
8.2.1 JDK动态代理 111
8.2.2 CGLib动态代理 113
8.3 基于XML的AOP实现 114
8.4 基于注解的AOP实现 119
8.5 本章小结 122

8.1 线程概述 182
8.1.1 进程 182
8.1.2 线程 183
8.2 线程的创建 183
8.2.1 继承Thread类创建多线程 183
8.2.2 实现Runnable接口创建
多线程 185
8.2.3 两种实现多线程方式的
对比分析 186
8.3 线程的生命周期及状态转换 188
8.4 线程的调度 189
8.4.1 线程的优先级 189
8.4.2 线程休眠 190
【案例8-1】 龟兔赛跑 191
8.4.3 线程让步 192
8.4.4 线程插队 192
【案例8-2】 Svip优先办理服务 193
8.5 多线程同步 193
8.5.1 线程安全问题 193
8.5.2 同步代码块 194
8.5.3 同步方法 195
8.5.4 死锁问题 197
【案例8-3】 模拟银行存取钱 198
【案例8-4】 工人搬砖 198
【案例8-5】 小朋友就餐 198
8.6 本章小结 198
8.7 本章习题 198

第 10章 图书超市收银系统设计与
实现初识Spring MVC框架 1442357
任务10-1 需求分析 2357
任务10-2 系统欢迎界面的设计与实现 23840
任务10-3 图书基本信息管理 2413
任务10-4 购书结算处理 2479
任务10-5 售书历史记录处理 25032
单元小结 25365
单元习题 25365
附录A ——C语言关键字 2557
附录B 2568
附录C——常用的C语言库函数 25860
附录D——运算符 262410.1 Spring MVC介绍 144
10.1.1 Spring MVC概述 144
10.1.2 Spring MVC特点 145
10.2 Spring MVC入门程序 145

10.3 Spring MVC工作原理 151
10.4 本章小结 152
10.1 Spring MVC介绍 144
10.1.1 Spring MVC概述 144
10.1.2 Spring MVC特点 145
10.2 Spring MVC入门程序 145
10.3 Spring MVC工作原理 151
10.4 本章小结 152
第 11章 Spring MVC的核心类和
注解 153
11.1 DispatcherServlet 153
11.2 @Controller注解 154
11.3 @RequestMapping注解 155
11.3.1 @RequestMapping注解的
使用 155
11.3.2 @RequestMapping注解的
属性 156
11.3.3 请求映射方式 159
11.4 本章小结 161
11.1 DispatcherServlet 153
11.2 @Controller注解 154
11.3 @RequestMapping注解 155
11.3.1 @RequestMapping注解的
使用 155
11.3.2 @RequestMapping注解的
属性 156
11.3.3 请求映射方式 159
11.4 本章小结 161
第 12章 Spring MVC数据绑定和
响应 162
12.1 数据绑定 162
12.2 简单数据绑定 163
12.2.1 默认类型数据绑定 163
12.2.2 简单数据类型绑定 164
12.2.3 POJO绑定 166
12.2.4 自定义类型转换器 168
12.3 复杂数据绑定 171
12.3.1 数组绑定 171
12.3.2 集合绑定 173
12.3.3 复杂POJO绑定 174
12.3.4 JSON数据绑定 180
12.4 页面跳转 185
12.4.1 返回值为void类型的页面
跳转 185
12.4.2 返回值为String类型的页面
跳转 186
12.4.3 返回值为ModelAndView
类型的页面跳转 190
12.5 数据回写 191
12.5.1 普通字符串的回写 191
12.5.2 JSON数据的回写 192

12.6 本章小结 194
12.1 数据绑定 162
12.2 简单数据绑定 163
12.2.1 默认类型数据绑定 163
12.2.2 简单数据类型绑定 164
12.2.3 POJO绑定 166
12.2.4 自定义类型转换器 168
12.3 复杂数据绑定 171
12.3.1 数组绑定 171
12.3.2 集合绑定 173
12.3.3 复杂POJO绑定 174
12.3.4 JSON数据绑定 180
12.4 页面跳转 185
12.4.1 返回值为void类型的页面
跳转 185
12.4.2 返回值为String类型的页面
跳转 186
12.5.3 返回值为ModelAndView类型的页面跳转 190
12.5 数据回写 191
12.6.1 普通字符串的回写 191
12.6.2 JSON数据的回写 192
12.6 本章小结 194
第 13章 Spring MVC的高级
功能 1986
13.1 异常处理 196
13.1.1 简单异常处理器 196
13.1.2 自定义异常处理器 199
13.1.3 异常处理注解 202
13.2 拦截器 203
13.2.1 拦截器概述 203
13.2.2 拦截器的配置 204
13.2.3 拦截器的执行流程 204
13.2.4 案例:后台系统登录验证 208
13.3 文件上传和下载 213
13.3.1 文件上传 213
13.3.2 文件下载 215
13.3.3 案例:文件上传和下载 215
13.4 本章小结 222
13.1 异常处理 196
13.1.1 简单异常处理器 196
13.1.2 自定义异常处理器 199
13.1.3 异常处理注解 202
13.2 拦截器 203
13.2.1 拦截器概述 203
13.2.2 拦截器的配置 204
13.2.3 拦截器的执行流程 204
13.2.4 案例:后台系统登录验证 208
13.3 文件上传和下载 213
13.3.1 文件上传 213
13.3.2 文件下载 215
13.3.3 案例:文件上传和下载 215
13.4 本章小结 222

第 14章 SSM框架整合 223
14.1 常用方式整合SSM框架 223
14.1.1 整合思路 223
14.1.2 项目基础结构搭建 224
14.1.3 Spring和MyBatis整合 228
14.1.4 Spring和Spring MVC整合 230
14.2 纯注解方式整合SSM框架 232
14.2.1 整合思路 232
14.2.2 纯注解SSM框架整合 232
14.3 本章小结 235
14.1 常用方式整合SSM框架 223
14.1.1 整合思路 223
14.1.2 项目基础结构搭建 224
14.1.3 Spring和MyBatis整合 228
14.1.4 Spring和Spring MVC整合 230
14.2 纯注解方式整合SSM框架 232
14.2.1 整合思路 232
14.2.2 纯注解SSM框架整合 232
14.3 本章小结 235
第 15章 云借阅图书管理系统 236
15.1 系统概述 236
15.1.1 系统功能介绍 236
15.1.2 系统架构设计 237
15.1.3 文件组织结构 238
15.1.4 系统开发及运行环境 238
15.2 数据库设计 238
15.3 系统环境搭建 239
15.3.1 需要引入的依赖 239
15.3.2 准备数据库资源 242
15.3.3 准备项目环境 242
15.4 用户登录模块 245
15.4.1 用户登录 245
15.4.2 实现登录验证 250
15.4.3 注销登录 252
15.5 图书管理模块 253
15.5.1 新书推荐 253
15.5.2 图书借阅 262
15.5.3 当前借阅 269
15.5.4 借阅记录 277
15.6 访问权限控制 283
15.7 本章小结 28515.1 系统概述 236
15.1.1 系统功能介绍 236
15.1.2 系统架构设计 237
15.1.3 文件组织结构 237
15.1.4 系统开发及运行环境 238
15.2 数据库设计 238
15.3 系统环境搭建 239
15.3.1 需要引入的依赖 239
15.3.2 准备数据库资源 242
15.3.3 准备项目环境 242
15.4 用户登录模块 245
15.4.1 用户登录 245
15.4.2 实现登录验证 250
15.4.3 注销登录 252
15.5 图书管理模块 253
15.5.1 新书推荐 253
15.5.2 图书借阅 262
15.5.3 当前借阅 269
15.5.4 借阅记录 277
15.6 访问权限控制 283
15.7 本章小结 285
第9章 网络编程 199


9.1 网络通信协议 199
9.1.1 IP地址和端口号 200
9.1.2 InetAddress 201
9.1.3 UDP与TCP 201
9.2 UDP通信 202
9.2.1 DatagramPacket 203
9.2.2 DatagramSocket 203
9.2.3 UDP网络程序 204
9.2.4 多线程的UDP网络程序 206
【案例9-1】 模拟微信聊天 207
9.3 TCP通信 207
9.3.1 ServerSocket 207
9.3.2 Socket 208
9.3.3 简单的TCP网络程序 209
9.3.4 多线程的TCP网络程序 211
【案例9-2】 字符串反转 212
【案例9-3】 上传文件 212
9.4 本章小结 212
9.5 本章习题 212
第 10章 JDBC 213
10.1 什么是JDBC 213
10.2 JDBC常用API 214
10.3 实现JDBC程序 216
10.4 本章小结 220
10.5 本章习题 220
第 11章 GUI(图形用户界面) 221
11.1 Swing概述 221
11.2 Swing顶级容器 222
11.2.1 JFrame 222
11.2.2 JDialog 223
11.3 布局管理器 225
11.3.1 FlowLayout 225
11.3.2 BorderLayout 227
11.3.3 GridLayout 228
11.3.4 GridBagLayout 229
11.4 事件处理机制 231
11.4.1 事件处理机制 231
11.4.2 Swing常用事件处理 232
11.5 Swing常用组件 236
11.5.1 面板组件 236
11.5.2 文本组件 238
11.5.3 标签组件 240
11.5.4 按钮组件 241
11.5.5 下拉框组件 245
【案例11-1】 简易记事本 249
【案例11-2】 简易计算器 249
【案例11-3】 模拟QQ登录 250
11.6 本章小结 250
11.7 本章习题 250
第 12章 Java反射机制 251
12.1 反射概述 251
12.2 认识Class类 251
12.3 Class类的使用 253
12.3.1 通过无参构造实例化对象 253
12.3.2 通过有参构造实例化对象 255
12.4 反射的应用 256
12.4.1 获取所实现的全部接口 256
12.4.2 获取全部方法 257
12.4.3 获取全部属性 258
【案例12-1】 重写toString()方法 260
【案例12-2】 速度计算 260
【案例12-3】 利用反射实现通过读取
配置文件对类进行
实例化 260
12.5 本章小结 260
12.6 本章习题 260
第 13章 基于Java Swing的图书
管理系统 261
13.1 项目概述 261
13.1.1 需求分析 261
13.1.2 功能结构 262
13.1.3 项目预览 262
13.2 数据库设计 263
13.2.1 E-R图设计 263
13.2.2 数据表结构 264
13.3 项目环境搭建 265
13.4 实体类设计 266
13.5 工具类设计 269
13.6 用户注册和登录模块 270
13.6.1 实现用户注册功能 270
13.6.2 实现用户登录功能 273
13.7 图书借还模块 275
13.7.1 实现用户借书功能 275
13.7.2 实现用户还书功能 278
13.8 书籍管理模块 281
13.8.1 实现书籍添加功能 281
13.8.2 实现书籍信息修改功能 283
13.9 用户管理模块 287
13.9.1 实现用户信息修改功能 287
13.9.2 实现借阅信息查询功能 290
13.10 类别管理模块 291
13.11 本章小结 291
展开全部

作者简介

彭顺生,湖南信息职业技术学院软件技术学院教学副院长,长期讲授程序设计类课程,主要研究项目为软件开发,曾出版过多部教材,2014年10月在清华大学出版社出版《C# Windows项目开发案例教程》。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航