单元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