本书通过实例的形式系统讲解C语言程序设计的相关知识和应用,内容包括初识C语言、C语言基础、顺序结构、选择结构、循环结构、数组、函数、指针、结构体和共用体、文件以及综合项目实训。前10个单元内容包含问题引入、本单元学习任务、知识描述、实例分析与实现、知识拓展和同步练习。最后一个单元给出3个综合项目实训,每个实训项目给出需求分析、详细设计和程序实现。本书配备了全套慕课视频,生动形象地讲解了C语言的基础知识和应用方法,易学易用。
体系完整的慕课教学视频同步讲解,实现系统学习
20个趣味动画,重点难点轻松掌握
二维码扫一扫,实现泛在学习、移动学习
配有综合实战,引导学生设计完整的解决方案
常中华,青岛职业技术学院信息学院院长、教授,从教近20年。现为山东省高教学会计算机教学研究会常务理事、山东省教育信息化专家委员会委员、山东省计算机职业教育专业建设指导委员会委员。国家示范院校建设软件技术专业群项目负责人、山东省优秀教学团队软件技术专业团队带头人、省级工业物联网工程技术中心负责人。 主要担任《C语言程序设计》《HTML5应用程序开发》《SQL Server数据库及应用》等课程教学工作,编著《C语言程序设计实例教程》,在智慧树和蓝墨云班课开展混合式教学与实践。
单元1 初识C语言 1
问题引入 1
本单元学习任务 1
知识描述 1
1.1 C语言概述 1
1.1.1 什么是C语言 1
1.1.2 为什么学习C语言 3
1.2 C语言的结构 4
1.2.1 C程序及其结构 4
1.2.2 如何开发C程序 6
实例分析与实现 6
知识拓展 初学者最常问的几个问题 7
同步练习 8
单元2 C语言基础 9
问题引入 9
本单元学习任务 9
知识描述 9
2.1 数据类型 9
2.1.1 进制与进制转换 10
2.1.2 整数类型 13
2.1.3 实数类型 14
2.1.4 字符类型 14
2.2 常量与变量 15
2.2.1 常量 15
2.2.2 变量 18
2.3 运算符与表达式 22
2.3.1 算术运算符和算术表达式 22
2.3.2 赋值运算符和赋值表达式 24
2.3.3 位运算 25
2.3.4 数据类型转换 28
2.3.5 几个特殊的运算符 30
实例分析与实现 32
知识拓展 人工智能 33
同步练习 34
单元3 顺序结构 37
问题引入 37
本单元学习任务 37
知识描述 37
3.1 算法与结构化程序设计 37
3.1.1 什么是算法 38
3.1.2 算法与流程图 38
3.1.3 结构化程序设计及原则 40
3.2 C语言语句 41
3.3 字符输入与输出 43
3.3.1 字符输入函数 43
3.3.2 字符输出函数 44
3.4 格式化输入与输出 44
3.4.1 格式化输入函数 45
3.4.2 格式化输出函数 49
实例分析与实现 53
知识拓展 C程序代码编写规范 54
同步练习 55
单元4 选择结构 59
问题引入 59
本单元学习任务 59
知识描述 59
4.1 条件判断表达式 59
4.1.1 关系运算符和关系表达式 59
4.1.2 逻辑运算符和逻辑表达式 60
4.2 if选择语句 62
4.2.1 单分支if语句 62
4.2.2 多分支if语句 64
4.2.3 条件运算符 69
4.3 switch语句 69
实例分析与实现 73
知识拓展 程序中的语法错误和逻辑错误调试 74
同步练习 75
单元5 循环结构 78
问题引入 78
本单元学习任务 78
知识描述 78
5.1 while语句 78
5.2 do-while语句 81
5.3 for语句 84
5.4 嵌套的循环 86
5.4.1 循环嵌套的方法 87
5.4.2 break语句和continue语句 91
实例分析与实现 92
知识拓展 算法的时间复杂度 94
同步练习 95
单元6 数组 98
问题引入 98
本单元学习任务 98
知识描述 98
6.1 一维数组 98
6.1.1 一维数组的定义 99
6.1.2 一维数组的初始化 99
6.1.3 一维数组元素的引用 100
6.2 二维数组 104
6.2.1 二维数组的定义 104
6.2.2 二维数组的初始化 105
6.2.3 二维数组元素的引用 106
6.3 字符数组和字符串 108
6.3.1 字符数组 108
6.3.2 字符串及其处理函数 110
实例分析与实现 116
知识拓展 算法的空间复杂度 117
同步练习 118
单元7 函数 122
问题引入 122
本单元学习任务 122
知识描述 122
7.1 函数的定义 122
7.2 函数的调用 124
7.2.1 函数调用的形式 124
7.2.2 参数的传递方式 126
7.2.3 函数的返回值 128
7.2.4 函数的参数类型 129
7.3 函数的嵌套调用 131
7.4 函数的递归调用 133
7.5 函数的声明 135
7.6 变量的作用域和存储类别 136
7.6.1 变量的作用域 136
7.6.2 变量的存储类别 137
实例分析与实现 139
知识拓展 模块化程序设计 140
同步练习 141
单元8 指针 145
问题引入 145
本单元学习任务 145
知识描述 145
8.1 地址和指针 145
8.2 指针变量 146
8.3 指向数组的指针 148
8.3.1 指向一维数组的指针 149
8.3.2 指向字符串的指针 152
8.3.3 指向二维数组的指针 154
8.4 用指针变量作为函数参数 158
8.5 返回指针值的函数 159
实例分析与实现 160
知识拓展 main函数的形式参数 161
同步练习 163
单元9 结构体和共用体 167
问题引入 167
本单元学习任务 167
知识描述 167
9.1 结构体类型 167
9.1.1 结构体类型的定义 167
9.1.2 结构体变量的定义 168
9.1.3 结构体变量的初始化 170
9.1.4 结构体变量的引用 170
9.2 结构体数组 173
9.3 结构体指针 174
9.4 结构体与函数 176
9.5 链表 177
9.5.1 链表的概念 177
9.5.2 链表的实现 178
9.5.3 链表的操作 179
9.6 共用体类型 181
9.6.1 共用体类型的定义 181
9.6.2 共用体变量的定义 181
9.6.3 共用体变量的初始化和引用 182
实例分析与实现 183
知识拓展 数据库技术 184
同步练习 185
单元10 文件 189
问题引入 189
本单元学习任务 189
知识描述 189
10.1 文件概述 189
10.1.1 文件的分类 189
10.1.2 文件指针 190
10.2 文件的打开和关闭 190
10.3 文件的读写 192
10.3.1 字符读写函数 192
10.3.2 字符串读写函数 195
10.3.3 数据块读写函数 197
10.3.4 格式化读写函数 198
10.4 文件的定位 199
实例分析与实现 200
知识拓展 云计算与大数据 202
同步练习 203
单元11 综合项目实训 205
问题引入 205
本单元学习任务 205
11.1 猜拳游戏 205
11.1.1 项目需求分析 205
11.1.2 项目详细设计 206
11.1.3 项目程序实现 209
11.2 数字珠玑妙算 211
11.2.1 项目需求分析 212
11.2.2 项目详细设计 213
11.2.3 项目程序实现 214
11.3 模拟七段数码管动态显示日期和时间 216
11.3.1 项目需求分析 216
11.3.2 项目详细设计 216
11.3.3 项目程序实现 218
附录A 常用字符与标准ASCII编码表 222
附录B 运算符的优先级和结合性 223
附录C 常用标准库函数 225