技术教育社区
www.teccses.org

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

封面

作者:彭顺生 朱清妍

页数:265

出版社:人民邮电出版社

出版日期:2022

ISBN:9787115203878

电子书格式:pdf/epub/txt

内容简介

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

作者简介

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

本书特色

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

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《C语言项目式系统开发教程(微课版)(第2版)》
Article link:https://www.teccses.org/1394142.html