大学C/C++语言程序设计基础 第3版
作者: 阳小华
出版时间: 2019年版
内容简介
本书在第2版的基础上修订而成,以计算思维为主线重新组织内容。同时强调掌握科学计算工具和培养科学计算能力对理工类学生的重要性。在绪论中介绍了当今计算机前沿技术,如大数据、云计算与边缘计算、人工智能、信息检索等相关内容;增加了计算机系统的组成、工作原理、存储机制、数制、编码、信息数字化等学习程序设计的先导知识。全书系统介绍了C/C++语言及科学计算软件MATLAB的基本概念和语法规则。 全书共12章,主要内容包括:绪论、C语言与MATLAB基础、数据的输入/输出、选择结构程序设计、循环结构程序设计、函数与编译预处理、数组、指针、构造数据类型、文件、C++面向对象程序设计基础、C/C++与MATLAB混合编程。附录中列出了C语言常用库函数和MATLAB函数表。为了提高学生的编程兴趣,本书将工程计算综合实例贯穿全书,增强本书的实用性和可读性。本书兼顾全国计算机等级考试的要求。为方便教学,本书配有电子课件和相关程序源代码,任课教师可以登录华信教育资源网(www.hxedu.com.cn)免费注册下载。 本书可作为高等学校理工类非计算机专业的程序设计教材,也可作为全国计算机等级考试的辅助教材,还可供程序设计爱好者参考。
目录
目 录
第1章 绪论\t1
1.1 计算机前沿技术\t1
1.1.1 大数据\t1
1.1.2 云计算与边缘计算\t2
1.1.3 人工智能\t5
1.1.4 信息检索\t6
1.2 计算机基础\t7
1.2.1 计算机系统\t7
1.2.2 数制转换\t9
1.2.3 信息的数字化\t13
1.3 计算思维与算法\t18
1.3.1 计算思维\t18
1.3.2 算法\t19
1.4 程序设计语言概述\t22
1.5 小结\t23
习题1\t24
第2章 C语言与MATLAB基础\t25
2.1 C语言概述\t25
2.1.1 C语言简介\t25
2.1.2 C语言程序结构\t25
2.1.3 C语言编译系统\t27
2.2 C语言语法基础\t27
2.2.1 字符集\t27
2.2.2 标识符\t28
2.2.3 关键字\t28
2.2.4 常量\t28
2.2.5 变量\t29
2.3 C语言的数据类型\t29
2.3.1 整型数据\t29
2.3.2 实型数据\t30
2.3.3 字符型数据\t31
2.4 C语言运算符与表达式\t32
2.4.1 算术运算符和算术
表达式\t33
2.4.2 赋值运算符和赋值
表达式\t34
2.4.3 关系运算符和关系
表达式\t36
2.4.4 逻辑运算符和逻辑
表达式\t37
2.4.5 位运算\t38
2.4.6 其他运算\t41
2.5 MATLAB概述\t42
2.6 MATLAB语法基础\t47
2.6.1 MATLAB的数据类型\t47
2.6.2 常量\t49
2.6.3 部分常用运算符\t49
2.6.4 变量及其赋值\t50
2.7 小结\t51
习题2\t53
第3章 数据的输入/输出\t58
3.1 字符输入/输出函数\t58
3.2 字符串输入/输出函数\t59
3.3 格式输入/输出函数\t59
3.4 MATLAB的输入/输出\t67
3.4.1 输入文本数据\t67
3.4.2 输出文本数据\t68
3.4.3 低级文件输入/输出函数\t68
3.4.4 注释与标点\t69
3.5 实例拓展\t69
3.6 小结\t70
习题3\t71
第4章 选择结构程序设计\t72
4.1 if语句\t72
4.1.1 单分支if语句\t72
4.1.2 双分支if…else语句\t72
4.1.3 多分支选择语句\t73
4.1.4 if语句的嵌套\t74
4.2 switch语句\t75
4.2.1 switch语句简介\t75
4.2.2 break语句在switch
中的应用\t76
4.3 综合实例\t77
4.4 MATLAB选择结构\t78
4.4.1 if…else…endif结构\t78
4.4.2 switch…case结构\t79
4.4.3 try…catch结构\t80
4.5 实例拓展\t81
4.6 小结\t83
习题4\t83
第5章 循环结构程序设计\t89
5.1 while语句\t89
5.2 do…while语句\t90
5.3 for语句\t91
5.4 循环结构的嵌套\t93
5.5 break语句和continue语句在循环
结构中的应用\t94
5.6 综合实例\t95
5.7 MATLAB循环结构\t97
5.7.1 while语句\t97
5.7.2 for语句\t98
5.8 实例拓展\t99
5.9 小结\t101
习题5\t101
第6章 函数与编译预处理\t108
6.1 函数概述\t108
6.2 函数的定义和说明\t109
6.2.1 函数的定义\t109
6.2.2 函数的返回值\t111
6.2.3 函数的说明\t113
6.3 函数的调用\t114
6.3.1 函数调用的一般形式\t114
6.3.2 函数调用的方式\t115
6.4 函数的参数\t116
6.5 函数的嵌套调用和递归调用\t118
6.5.1 函数的嵌套调用\t118
6.5.2 函数的递归调用\t119
6.6 变量的存储类型\t125
6.6.1 变量的作用域与
生存期\t125
6.6.2 变量的存储类型\t125
6.6.3 局部变量\t126
6.6.4 全局变量和静态全局
变量\t129
6.7 内部函数和外部函数\t131
6.7.1 内部函数\t132
6.7.2 外部函数\t132
6.8 编译预处理命令\t133
6.8.1 宏替换\t133
6.8.2 文件包含\t136
6.8.3 条件编译\t137
6.9 综合实例\t140
6.10 MATLAB函数简介\t142
6.10.1 m文件概述\t142
6.10.2 用m文件实现MATLAB
函数\t143
6.11 实例拓展\t144
6.12 小结\t146
习题6\t147
第7章 数组\t156
7.1 一维数组\t156
7.1.1 一维数组的定义\t156
7.1.2 一维数组元素的引用\t157
7.1.3 一维数组的初始化\t157
7.2 二维数组\t160
7.2.1 二维数组的定义和引用\t160
7.2.2 二维数组元素的初始化\t162
7.3 多维数组\t163
7.3.1 多维数组的定义、
使用与存储\t163
7.3.2 多维数组的初始化\t164
7.4 字符串与字符数组\t165
7.4.1 字符串与字符数组的
概念\t165
7.4.2 字符数组的初始化\t166
7.4.3 字符数组的输入/输出\t167
7.4.4 字符串处理函数\t170
7.5 字符串数组\t172
7.6 数组作为函数参数\t173
7.6.1 数组元素作为函数参数\t173
7.6.2 地址量作为函数参数\t173
7.7 综合实例\t178
7.8 MATLAB数组\t179
7.8.1 向量的创建\t180
7.8.2 矩阵的创建\t180
7.8.3 矩阵元素的提取与替换\t181
7.8.4 矩阵元素的重排和
复制排列\t183
7.8.5 矩阵的翻转和旋转\t183
7.8.6 矩阵的生成与提取函数\t184
7.8.7 应用实例\t184
7.9 实例拓展\t184
7.10 小结\t188
习题7\t189
第8章 指针\t197
8.1 指针的基本概念\t197
8.2 指针变量的声明与使用\t198
8.2.1 指针变量的声明\t198
8.2.2 指针变量的赋值与使用\t198
8.2.3 二级指针\t201
8.3 指针运算\t202
8.3.1 赋值运算\t202
8.3.2 算术运算\t202
8.3.3 关系运算\t204
8.4 指针与数组\t204
8.4.1 指针与一维数组\t204
8.4.2 指针与二维数组\t208
8.5 指针与字符串\t211
8.5.1 指向字符串的指针\t211
8.5.2 字符指针与字符数组的
比较\t214
8.6 指针与函数\t216
8.6.1 指针作为函数参数\t216
8.6.2 函数指针变量\t225
8.6.3 指针型函数\t227
8.7 指针数组与main( )函数的
参数\t229
8.8 综合实例\t233
8.9 实例拓展\t235
8.10 小结\t240
习题8\t241
第9章 构造数据类型\t251
9.1 结构体\t251
9.1.1 结构体的定义\t251
9.1.2 结构体变量的说明\t252
9.1.3 结构体变量的引用\t254
9.1.4 结构体数组\t255
9.1.5 指向结构体的指针\t257
9.1.6 结构体与函数\t259
9.1.7 动态存储分配\t261
9.1.8 结构体与链表\t263
9.2 共用体\t267
9.3 枚举\t270
9.4 自定义数据类型\t271
9.5 综合实例\t272
9.6 MATLAB的结构数据类型\t275
9.6.1 结构体数组的创建\t275
9.6.2 结构体数组的操作\t280
9.7 小结\t280
习题9\t281
第10章 文件\t286
10.1 文件的概念\t286
10.2 文件指针\t287
10.3 文件的打开与关闭\t287
10.3.1 文件打开函数\t287
10.3.2 文件关闭函数\t289
10.4 文件的读/写\t290
10.4.1 字符读/写函数
fgetc( )和fputc( )\t290
10.4.2 字符串读/写函数
fgets( )和fputs( )\t293
10.4.3 数据块读/写函数
fread( )和fwrite( )\t294
10.4.4 格式化读/写函数
fscanf( )和fprintf( )\t296
10.5 文件的随机读/写\t297
10.5.1 文件定位\t297
10.5.2 文件的随机读/写函数\t297
10.6 文件检测函数\t298
10.7 综合实例\t299
10.8 MATLAB文件操作\t302
10.8.1 文件的打开与关闭\t302
10.8.2 二进制文件的读/
写操作\t303
10.8.3 文本文件的读/写操作\t304
10.8.4 MATLAB的字符串
操作\t305
10.9 小结\t305
习题10\t306
第11章 C++面向对象程序设计基础\t310
11.1 面向对象的基本概念\t310
11.1.1 类和对象\t310
11.1.2 封装\t310
11.1.3 继承\t310
11.1.4 多态\t310
11.2 C++概述\t311
11.3 C++面向对象的特性\t311
11.4 C++的词法与规则\t311
11.5 C++程序结构的组成\t312
11.6 C++程序的开发步骤\t312
11.7 C++程序示例\t312
11.8 面向对象的程序设计方法\t314
11.8.1 结构化程序设计\t314
11.8.2 面向对象程序设计\t314
11.8.3 结构化方法与面向
对象方法的比较\t314
11.9 小结\t315
习题11\t315
第12章 C/C++与MATLAB混合编程\t317
12.1 软件开发\t317
12.2 混合编程概念\t318
12.3 混合编程开发实例\t319
12.4 小结\t328
附录A C语言常用库函数\t329
附录B MATLAB函数表\t334
参考文献\t353