第1章 绪论 1
1.1 计算机前沿技术 1
1.1.1 大数据 1
1.1.2 云计算与边缘计算 2
1.1.3 人工智能 5
1.1.4 信息检索 6
1.2 计算机基础 7
1.2.1 计算机系统 7
1.2.2 数制转换 9
1.2.3 信息的数字化 13
1.3 计算思维与算法 18
1.3.1 计算思维 18
1.3.2 算法 19
1.4 程序设计语言概述 22
1.5 小结 23
习题1 24
第2章 C语言与MATLAB基础 25
2.1 C语言概述 25
2.1.1 C语言简介 25
2.1.2 C语言程序结构 25
2.1.3 C语言编译系统 27
2.2 C语言语法基础 27
2.2.1 字符集 27
2.2.2 标识符 28
2.2.3 关键字 28
2.2.4 常量 28
2.2.5 变量 29
2.3 C语言的数据类型 29
2.3.1 整型数据 29
2.3.2 实型数据 30
2.3.3 字符型数据 31
2.4 C语言运算符与表达式 32
2.4.1 算术运算符和算术表达式 33
2.4.2 赋值运算符和赋值表达式 34
2.4.3 关系运算符和关系表达式 36
2.4.4 逻辑运算符和逻辑表达式 37
2.4.5 位运算 38
2.4.6 其他运算 41
2.5 MATLAB概述 42
2.6 MATLAB语法基础 47
2.6.1 MATLAB的数据类型 47
2.6.2 常量 49
2.6.3 部分常用运算符 49
2.6.4 变量及其赋值 50
2.7 小结 51
习题2 53
第3章 数据的输入/输出 58
3.1 字符输入/输出函数 58
3.2 字符串输入/输出函数 59
3.3 格式输入/输出函数 59
3.4 MATLAB的输入/输出 67
3.4.1 输入文本数据 67
3.4.2 输出文本数据 68
3.4.3 低级文件输入/输出函数 68
3.4.4 注释与标点 69
3.5 实例拓展 69
3.6 小结 70
习题3 71
第4章 选择结构程序设计 72
4.1 if语句 72
4.1.1 单分支if语句 72
4.1.2 双分支if…else语句 72
4.1.3 多分支选择语句 73
4.1.4 if语句的嵌套 74
4.2 switch语句 75
4.2.1 switch语句简介 75
4.2.2 break语句在switch中的应用 76
4.3 综合实例 77
4.4 MATLAB选择结构 78
4.4.1 if…else…elseif结构 78
4.4.2 switch…case结构 79
4.4.3 try…catch结构 80
4.5 实例拓展 81
4.6 小结 83
习题4 83
第5章 循环结构程序设计 89
5.1 while语句 89
5.2 do…while语句 90
5.3 for语句 91
5.4 循环结构的嵌套 93
5.5 break语句和continue语句在循环结构中的应用 94
5.6 综合实例 95
5.7 MATLAB循环结构 97
5.7.1 while语句 97
5.7.2 for语句 98
5.8 实例拓展 99
5.9 小结 101
习题5 101
第6章 函数与编译预处理 108
6.1 函数概述 108
6.2 函数的定义和说明 109
6.2.1 函数的定义 109
6.2.2 函数的返回值 111
6.2.3 函数的说明 113
6.3 函数的调用 114
6.3.1 函数调用的一般形式 114
6.3.2 函数调用的方式 115
6.4 函数的参数 116
6.5 函数的嵌套调用和递归调用 118
6.5.1 函数的嵌套调用 118
6.5.2 函数的递归调用 119
6.6 变量的存储类型 125
6.6.1 变量的作用域与生存期 125
6.6.2 变量的存储类型 125
6.6.3 局部变量 126
6.6.4 全局变量和静态全局变量 129
6.7 内部函数和外部函数 131
6.7.1 内部函数 132
6.7.2 外部函数 132
6.8 编译预处理命令 133
6.8.1 宏替换 133
6.8.2 文件包含 136
6.8.3 条件编译 137
6.9 综合实例 140
6.10 MATLAB函数简介 142
6.10.1 m文件概述 142
6.10.2 用m文件实现MATLAB函数 143
6.11 实例拓展 144
6.12 小结 146
习题6 147
第7章 数组 156
7.1 一维数组 156
7.1.1 一维数组的定义 156
7.1.2 一维数组元素的引用 157
7.1.3 一维数组的初始化 157
7.2 二维数组 160
7.2.1 二维数组的定义和引用 160
7.2.2 二维数组元素的初始化 162
7.3 多维数组 163
7.3.1 多维数组的定义、使用与存储 163
7.3.2 多维数组的初始化 164
7.4 字符串与字符数组 165
7.4.1 字符串与字符数组的概念 165
7.4.2 字符数组的初始化 166
7.4.3 字符数组的输入/输出 167
7.4.4 字符串处理函数 170
7.5 字符串数组 172
7.6 数组作为函数参数 173
7.6.1 数组元素作为函数参数 173
7.6.2 地址量作为函数参数 173
7.7 综合实例 178
7.8 MATLAB数组 179
7.8.1 向量的创建 180
7.8.2 矩阵的创建 180
7.8.3 矩阵元素的提取与替换 181
7.8.4 矩阵元素的重排和复制排列 183
7.8.5 矩阵的翻转和旋转 183
7.8.6 矩阵的生成与提取函数 184
7.8.7 应用实例 184
7.9 实例拓展 184
7.10 小结 188
习题7 189
第8章 指针 197
8.1 指针的基本概念 197
8.2 指针变量的声明与使用 198
8.2.1 指针变量的声明 198
8.2.2 指针变量的赋值与使用 198
8.2.3 二级指针 201
8.3 指针运算 202
8.3.1 赋值运算 202
8.3.2 算术运算 202
8.3.3 关系运算 204
8.4 指针与数组 204
8.4.1 指针与一维数组 204
8.4.2 指针与二维数组 208
8.5 指针与字符串 211
8.5.1 指向字符串的指针 211
8.5.2 字符指针与字符数组的比较 214
8.6 指针与函数 216
8.6.1 指针作为函数参数 216
8.6.2 函数指针变量 225
8.6.3 指针型函数 227
8.7 指针数组与main()函数的参数 229
8.8 综合实例 233
8.9 实例拓展 235
8.10 小结 240
习题8 241
第9章 构造数据类型 251
9.1 结构体 251
9.1.1 结构体的定义 251
9.1.2 结构体变量的说明 252
9.1.3 结构体变量的引用 254
9.1.4 结构体数组 255
9.1.5 指向结构体的指针 257
9.1.6 结构体与函数 259
9.1.7 动态存储分配 261
9.1.8 结构体与链表 263
9.2 共用体 267
9.3 枚举 270
9.4 自定义数据类型 271
9.5 综合实例 272
9.6 MATLAB的结构体数据类型 275
9.6.1 结构体数组的创建 275
9.6.2 结构体数组的操作 280
9.7 小结 280
习题9 281
第10章 文件 286
10.1 文件的概念 286
10.2 文件指针 287
10.3 文件的打开与关闭 287
10.3.1 文件打开函数 287
10.3.2 文件关闭函数 289
10.4 文件的读/写 290
10.4.1 字符读/写函数fgetc()和fputc() 290
10.4.2 字符串读/写函数fgets()和fputs() 293
10.4.3 数据块读/写函数ead()和fwrite() 294
10.4.4 格式化读/写函数fscanf()和fprintf() 296
10.5 文件的随机读/写 297
10.5.1 文件定位 297
10.5.2 文件的随机读/写函数 297
10.6 文件检测函数 298
10.7 综合实例 299
10.8 MATLAB文件操作 302
10.8.1 文件的打开与关闭 302
10.8.2 二进制文件的读/写操作 303
10.8.3 文本文件的读/写操作 304
10.8.4 MATLAB的字符串操作 305
10.9 小结 305
习题10 306
第11章 C++面向对象程序设计基础 310
11.1 面向对象的基本概念 310
11.1.1 类和对象 310
11.1.2 封装 310
11.1.3 继承 310
11.1.4 多态 310
11.2 C++概述 311
11.3 C++面向对象的特性 311
11.4 C++的词法与规则 311
11.5 C++程序结构的组成 312
11.6 C++程序的开发步骤 312
11.7 C++程序示例 312
11.8 面向对象的程序设计方法 314
11.8.1 结构化程序设计 314
11.8.2 面向对象程序设计 314
11.8.3 结构化方法与面向对象方法的比较 314
11.9 小结 315
习题11 315
第12章 C/C++与MATLAB混合编程 317
12.1 软件开发 317
12.2 混合编程概念 318
12.3 混合编程开发实例 319
12.4 小结 327
附录A C语言常用库函数 328
附录B MATLAB函数表 333
参考文献 352