第1章 计算思维与程序设计 1
1.1 计算思维 1
1.2 算法 2
1.2.1 算法概念 2
1.2.2 算法效率 3
1.3 程序设计 3
1.3.1 程序设计语言 4
1.3.2 程序的编译与执行 5
1.4 小结 7
习题1 7
第2章 C语言与MATLAB基础 8
2.1 C语言概述 8
2.1.1 C语言简介 8
2.1.2 C语言程序结构 8
2.1.3 C语言编译系统 10
2.2 C语言语法基础 10
2.2.1 字符集 10
2.2.2 标识符 11
2.2.3 关键字 11
2.2.4 常量 11
2.2.5 变量 11
2.3 C语言的数据类型 12
2.3.1 整型数据 12
2.3.2 实型数据 13
2.3.3 字符型数据 14
2.4 C语言运算符与表达式 15
2.4.1 算术运算符和算术表达式 15
2.4.2 赋值运算符和赋值表达式 17
2.4.3 关系运算符和关系表达式 18
2.4.4 逻辑运算符和逻辑表达式 20
2.4.5 位运算 21
2.4.6 其他运算 24
2.5 MATLAB概述 25
2.5.1 MATLAB简介 25
2.5.2 基本功能 25
2.5.3 主要应用 26
2.5.4 MATLAB特点 27
2.5.5 MATLAB优点 27
2.5.6 专业应用 30
2.6 MATLAB语法基础 30
2.6.1 MATLAB的数据类型 30
2.6.2 常量 32
2.6.3 部分常用运算符 32
2.6.4 变量及其赋值 33
2.7 小结 34
习题2 35
第3章 数据的输入/输出 41
3.1 字符输入/输出函数 41
3.2 字符串输入/输出函数 42
3.3 格式输入/输出函数 42
3.3.1 格式输入函数 42
3.3.2 格式输出函数 44
3.4 MATLAB的输入/输出 50
3.4.1 输入文本数据 50
3.4.2 输出文本数据 51
3.4.3 低级文件输入/输出函数 51
3.4.4 注释与标点 52
3.5 实例拓展 52
3.6 小结 53
习题3 54
第4章 选择结构程序设计 55
4.1 if语句 55
4.1.1 单分支if语句 55
4.1.2 双分支if…else语句 55
4.1.3 多分支选择语句 56
4.1.4 if语句的嵌套 57
4.2 switch语句 58
4.2.1 switch语句简介 58
4.2.2 break语句在switch中的应用 59
4.3 综合实例 60
4.4 MATLAB选择结构 61
4.4.1 if……else…endif结构 62
4.4.2 switch…case结构 62
4.4.3 try……catch结构 63
4.5 实例拓展 64
4.5.1 C语言菜单选择实例 64
4.5.2 MATLAB菜单选择实例 65
4.6 小结 66
习题4 66
第5章 循环结构程序设计 72
5.1 while语句 72
5.2 do…while语句 73
5.3 for语句 74
5.4 循环结构的嵌套 76
5.5 break语句和continue语句在循环结构中的应用 77
5.6 综合实例 78
5.7 MATLAB循环结构 80
5.7.1 while结构 80
5.7.2 for语句 81
5.8 实例拓展 82
5.8.1 工程计算实例 82
5.8.2 MATLAB实例 83
5.9 小结 84
习题5 84
第6章 函数与编译预处理 91
6.1 函数概述 91
6.2 函数的定义和说明 92
6.2.1 函数的定义 92
6.2.2 函数的返回值 94
6.2.3 函数的说明 95
6.3 函数的调用 97
6.3.1 函数调用的一般形式 97
6.3.2 函数调用的方式 98
6.4 函数的参数 98
6.5 函数的嵌套调用和递归调用 101
6.5.1 函数的嵌套调用 101
6.5.2 函数的递归调用 102
6.6 变量的存储类型 108
6.6.1 变量的作用域与生存期 108
6.6.2 变量的存储类型 108
6.6.3 局部变量 109
6.6.4 全局变量和静态全局变量 111
6.7 内部函数和外部函数 114
6.7.1 内部函数 114
6.7.2 外部函数 114
6.8 编译预处理命令 115
6.8.1 宏替换 115
6.8.2 文件包含 118
6.8.3 条件编译 119
6.9 综合实例 122
6.10 MATLAB函数简介 124
6.10.1 m文件概述 124
6.10.2 用m文件实现MATLAB函数 125
6.11 实例拓展 126
6.11.1 工程计算实例 127
6.11.2 MATLAB实例 128
6.12 小结 129
习题6 130
第7章 数组 139
7.1 一维数组 139
7.1.1 一维数组的定义 139
7.1.2 一维数组元素的引用 140
7.1.3 一维数组的初始化 140
7.2 二维数组 143
7.2.1 二维数组的定义和引用 143
7.2.2 二维数组元素的初始化 145
7.3 多维数组 146
7.3.1 多维数组的定义、使用与存储 146
7.3.2 多维数组的初始化 147
7.4 字符串与字符数组 148
7.4.1 字符串与字符数组 148
7.4.2 字符数组的初始化 149
7.4.3 字符数组的输入/输出 150
7.4.4 字符串处理函数 153
7.5 字符串数组 155
7.6 数组作为函数参数 156
7.6.1 数组元素作为函数参数 156
7.6.2 地址量作为函数参数 156
7.7 综合实例 161
7.8 MATLAB数组 162
7.8.1 向量的创建 163
7.8.2 矩阵的创建 163
7.8.3 矩阵元素的提取与替换 164
7.8.4 矩阵元素的重排和复制排列 166
7.8.5 矩阵的翻转和旋转 166
7.8.6 矩阵的生成与提取函数 167
7.8.7 应用实例 167
7.9 实例拓展 167
7.9.1 工程计算实例 167
7.9.2 MATLAB实例 170
7.10 小结 171
习题7 172
第8章 指针 180
8.1 指针的基本概念 180
8.2 指针变量的声明与使用 181
8.2.1 指针变量的声明 181
8.2.2 指针变量的赋值与使用 181
8.2.3 二级指针 184
8.3 指针运算 185
8.3.1 赋值运算 185
8.3.2 算术运算 185
8.3.3 关系运算 187
8.4 指针与数组 187
8.4.1 指针与一维数组 187
8.4.2 指针与二维数组 191
8.5 指针与字符串 194
8.5.1 指向字符串的指针 194
8.5.2 字符指针与字符数组的比较 197
8.6 指针与函数 199
8.6.1 指针作为函数参数 199
8.6.2 函数指针变量 208
8.6.3 指针型函数 210
8.7 指针数组与main函数的参数 212
8.8 综合实例 216
8.9 实例拓展 218
8.10 小结 223
习题8 224
第9章 构造数据类型 234
9.1 结构体 234
9.1.1 结构体的定义 234
9.1.2 结构体变量说明 235
9.1.3 结构体变量的引用 237
9.1.4 结构体数组 238
9.1.5 指向结构体变量的指针 240
9.1.6 结构体与函数 242
9.1.7 动态存储分配 244
9.1.8 结构体与链表 246
9.2 共用体 250
9.3 枚举 253
9.4 自定义数据类型 254
9.5 综合实例 255
9.6 MATLAB的结构数据类型 258
9.6.1 结构数组的创建 258
9.6.2 结构数组的操作 263
9.7 小结 263
习题9 264
第10章 文件 269
10.1 文件的概念 269
10.2 文件指针 270
10.3 文件的打开与关闭 270
10.3.1 文件打开函数 270
10.3.2 文件关闭函数 272
10.4 文件的读/写 273
10.4.1 字符读/写函数fgetc和fputc 273
10.4.2 字符串读/写函数fgets和fputs 276
10.4.3 数据块读/写函数fread和fwrite 277
10.4.4 格式化读/写函数fscanf和fprintf 279
10.5 文件的随机读/写 280
10.5.1 文件定位 280
10.5.2 文件的随机读/写 280
10.6 文件检测函数 281
10.7 综合实例 282
10.8 MATLAB文件操作 285
10.8.1 文件的打开与关闭 285
10.8.2 二进制文件的读/写操作 286
10.8.3 文本文件的读/写操作 287
10.8.4 MATLAB的字符串操作 288
10.9 小结 288
习题10 289
第11章 C++面向对象程序设计基础 293
11.1 面向对象的基本概念 293
11.1.1 类和对象 293
11.1.2 封装 293
11.1.3 继承 293
11.1.4 多态 293
11.2 C++概述 294
11.3 C++面向对象的特性 294
11.4 C++的词法与规则 294
11.5 C++程序结构的组成 295
11.6 C++程序的开发步骤 295
11.7 C++程序示例 295
11.8 面向对象的程序设计方法 296
11.8.1 结构化程序设计 296
11.8.2 面向对象程序设计 297
11.8.3 结构化方法与面向对象方法的比较 297
11.9 小结 298
习题11 298
第12章 C/C++与MATLAB混合编程 300
12.1 软件开发 300
12.2 混合编程概念 302
12.3 混合编程开发实例 303
12.4 小结 312
附录A C语言常用库函数 313
附录BMATLAB函数表 318
参考文献 334