欢迎访问学兔兔,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 书籍手册>计算机与网络 >面向新工科专业建设计算机系列教材 程序设计基础及应用(C&C++语言) 陈春丽等编著 2020年版

面向新工科专业建设计算机系列教材 程序设计基础及应用(C&C++语言) 陈春丽等编著 2020年版

收藏
  • 大小:48.6 MB
  • 语言:中文版
  • 格式: PDF文档
  • 类别:计算机与网络
  • 更新日期:2024-04-22
推荐:升级会员 无限下载,节约时间成本!
关键词:语言   基础   程序设计   C++
资源简介
面向新工科专业建设计算机系列教材 程序设计基础及应用(C&C++语言)
作者: 陈春丽等编著
出版时间: 2020年版
丛编项: 面向新工科专业建设计算机系列教材
内容简介
  本书是密切结合计算机的Z新发展的程序设计入门教材,针对程序设计的初学者,阐述程序设计的基本内容。本书共12章,从C/C++语言的程序实例简介、三种控制结构、函数、数组、字符串、自定义数据类型、文件,进而到简单的面向对象程序设计。实例选取工程应用中的数据处理、数学运算等实例及重要算法,引导学生充分利用C++标准库。
作者简介
目录

第1章计算机语言程序设计概述1
1.1程序设计语言发展1
1.1.1机器语言到高级语言1
1.1.2C&C++语言的发展与特点2
1.2高级语言程序的编译2
1.2.1编译2
1.2.2解释与脚本语言3
1.3算法与程序设计3
1.3.1算法与工程问题的求解3
1.3.2面向过程的程序设计与面向对象的程序设计5
1.4C&C++源程序示例6
1.4.1程序示例6
1.4.2程序代码说明8
1.4.3程序书写原则11
1.5C&C++开发环境12
1.5.1常用的集成开发环境12
1.5.2用DevC++创建C&C++项目13
1.6实用知识: 常见的编译和运行错误15
1.6.1常见的编译错误15
1.6.2常见的运行错误16
1.7练习与思考18
第2章数学表达式与简单程序19
2.1顺序结构19
2.2基本数据类型与常量20
2.2.1基本数据类型简介20
2.2.2整型常量20
2.2.3实型常量20〖3〗程序设计基础及应用(C&C++语言)目录〖3〗
2.2.4字符型常量21
2.2.5符号常量22
2.2.6sizeof运算符24
2.3变量与赋值运算25
2.3.1变量与内存的关系25
2.3.2变量定义与初始化25
2.3.3赋值运算符与自增/自减运算符26
2.3.4陷阱: 变量定义与赋值的常见问题28
2.4算术运算符与算术表达式30
2.4.1算术运算符30
2.4.2算术表达式及优先级30
2.4.3复合赋值运算符31
2.4.4陷阱: 算术运算的常见问题31
2.5类型转换33
2.5.1隐式类型转换33
2.5.2强制类型转换33
2.6输入与输出34
2.6.1C++的输入和输出——cin和cout34
2.6.2C&C++的输入和输出——scanf和printf36
2.6.3一个字符的输入和输出——getchar和putchar函数38
2.6.4格式化输出控制39
2.6.5C99中scanf和printf函数系列的增强42
2.7实用知识: 数学应用中常用的标准库函数42
2.7.1幂与平方根——pow与sqrt函数42
2.7.2绝对值函数——abs与fabs函数43
2.7.3浮点数取整——ceil与floor等函数44
2.7.4三角函数——sin与cos等函数44
2.7.5指数与对数函数——exp与log等函数45
2.7.6陷阱: C语言的NAN错误46
2.8简单程序算法及应用实例46
2.8.1交换两个整数的值46
2.8.2字母替换47
2.8.3BMI计算49
2.9练习与思考50
第3章选择结构及相关表达式52
3.1选择结构52
3.2关系运算符和关系表达式53
3.2.1关系运算符53
3.2.2关系表达式及应用53
3.2.3陷阱: 关系表达式的常见问题54
3.3逻辑运算符和逻辑表达式54
3.3.1逻辑运算符54
3.3.2逻辑表达式及应用55
3.4条件运算符及条件表达式56
3.5C99&C++的布尔型常量与变量58
3.6if语句58
3.6.1标准if…else语句58
3.6.2简单的if语句61
3.6.3复杂的if…else if … else语句61
3.6.4if语句的嵌套63
3.7switch语句65
3.7.1switch语句实现的多分支结构65
3.7.2break语句的合理使用67
3.8实用知识: 生成随机数函数——rand等函数69
3.9选择结构算法及应用70
3.9.1判断整数m是否能被n整除70
3.9.2判断一个浮点数的值是否等于071
3.9.3利用BMI判断肥胖程度72
3.10练习与思考73
第4章自定义函数与封装76
4.1函数与结构化程序设计76
4.2自定义函数的声明与定义79
4.2.1函数的声明79
4.2.2函数的定义79
4.2.3函数返回值81
4.2.4陷阱: 函数声明与定义的常见问题82
4.3函数的调用83
4.3.1函数调用的格式84
4.3.2陷阱: 函数调用的常见问题85
4.3.3函数的调用过程86
4.3.4函数的嵌套调用87
4.4函数的参数传递90
4.4.1参数的值传递90
4.4.2C++的引用传递91
4.4.3const修饰引用形参93
4.5变量的作用域与生存期94
4.5.1局部变量的作用域与生存期94
4.5.2全局变量的作用域与生存期94
4.5.3静态变量的作用域与生存期96
4.6C++的函数重载与默认参数97
4.6.1C++的函数重载97
4.6.2陷阱: 函数重载的调用失败问题99
4.6.3C++的默认参数99
4.7递归思想——递归函数102
4.7.1递归函数的定义102
4.7.2递归函数的调用过程103
4.7.3递归调用中的栈106
4.8自定义函数的应用106
4.8.1自定义函数——计算BMI及输出体形判断结果106
4.8.2自定义函数——判断一个字符是否为大写字母107
4.8.3自定义函数——获得用户选择的购物菜单项序号108
4.9练习与思考109
第5章迭代与循环结构112
5.1循环结构112
5.2循环控制语句113
5.2.1while语句113
5.2.2for语句114
5.2.3do…while语句117
5.2.4陷阱: 循环的常见问题119
5.3循环和迭代的提前结束120
5.3.1break语句120
5.3.2continue语句123
5.4循环与递归124
5.5循环结构的嵌套126
5.5.1循环嵌套的语句126
5.5.2多循环的优化128
5.5.3一重循环的尝试130
5.6实用知识: 循环中的变量及作用131
5.6.1循环控制变量131
5.6.2递推变量132
5.6.3计数器变量132
5.6.4控制多行输入直到EOF结束133
5.7循环结构的算法及应用134
5.7.1应用1: 数学表达式的求解134
5.7.2应用2: 循环显示菜单及执行用户选择的菜单项的功能136
5.7.3应用3: 忽略输入错误的输入控制139
5.8练习与思考143
第6章数值型数组与数据处理146
6.1一维数组146
6.1.1一维数组的声明与存储146
6.1.2一维数组的初始化148
6.1.3数组元素的使用148
6.1.4数组的输入与输出150
6.2一维数组与函数151
6.2.1一维数组作为函数的形参151
6.2.2函数的址传递153
6.2.3陷阱: 数组越界问题157
6.3实用知识: 一维数组的实用算法157
6.3.1中值与方差(标准差)计算157
6.3.2返回数组的最大值/最小值及下标159
6.3.3顺序查找与折半查找161
6.3.4冒泡排序与选择排序162
6.4二维数组与多维数组164
6.4.1二维数组的定义与存储165
6.4.2二维数组的初始化165
6.4.3二维数组元素的使用166
6.4.4二维数组与函数167
6.4.5多维数组169
6.5数组综合应用实例169
6.5.1实现购物菜单的结账子功能169
6.5.2接收不定个数的整数173
6.5.3计算日平均温度与最大温差175
6.6练习与思考178
第7章字符型数组与字符串处理180
7.1字符串常量180
7.2字符数组的定义与初始化180
7.2.1字符数组的定义180
7.2.2字符数组的初始化181
7.2.3陷阱: 字符串使用=和==的问题181
7.3字符数组的输入和输出182
7.3.1用C++的cin函数接收一个字符串182
7.3.2用C++的cin.getline方法和getline函数接收一行字符182
7.3.3用C++的cout函数输出字符串183
7.3.4用C&C++的gets和scanf函数接收字符串183
7.3.5用C&C++的puts和printf函数输出字符串184
7.4字符数组与函数184
7.4.1字符数组作为函数的形参184
7.4.2数组作为函数的返回值188
7.5实用知识: 标准库中的字符串处理函数189
7.6字符串与数值型的转换函数190
7.6.1数值转换为字符串的函数190
7.6.2字符串转换为数值的函数191
7.6.3利用C语言的通用函数实现数值与字符串的转换191
7.7字符数组综合应用举例192
7.7.1删除字符串中的指定字符192
7.7.2合并两个有序字符串为一个新的有序字符串193
7.7.3判断身份证号是否合法194
7.8练习与思考196
第8章文件与数据处理198
8.1文件概述198
8.1.1文本文件与二进制文件198
8.1.2C++的I/O 流199
8.1.3FILE类型199
8.2C++的文件打开与关闭199
8.2.1文件的打开199
8.2.2文件的关闭201
8.3C++的文件读写201
8.3.1fstream类的常用检查方法201
8.3.2文本文件的读写202
8.3.3二进制文件的读写207
8.4C语言的文件打开与读写210
8.4.1C语言的文件打开与关闭210
8.4.2C语言的文件读写211
8.4.3C语言读写文件的示例211
8.5文件应用示例212
8.5.1密码文件的读写212
8.5.2学生成绩分段统计图214
8.5.3气温周报文件的读写217
8.5.4带参数的main函数219
8.6练习与思考221
第9章自定义数据类型223
9.1C++的类223
9.1.1类的定义223
9.1.2类的成员函数224
9.1.3创建和使用对象226
9.1.4构造函数和析构函数227
9.1.5对象数组233
9.2结构体235
9.2.1结构体类型的声明235
9.2.2结构体类型变量的定义236
9.2.3结构体类型变量的使用237
9.2.4结构体类型的数组240
9.3结构体与类的比较243
9.3.1C语言的结构体和C++的结构体的区别243
9.3.2C++的结构体和类的区别243
9.4数据类型的别名244
9.5枚举类型244
9.5.1枚举类型的声明244
9.5.2枚举变量的定义及赋值245
9.5.3自定义枚举量的值245
9.6C++的string类247
9.6.1string类对象的定义247
9.6.2string类成员函数247
9.6.3string类的运算符248
9.6.4string类对象的输入与输出249
9.6.5字符数组转换为string类字符串250
9.6.6string类字符串转换为字符数组250
9.7实用知识: C语言的日期标准函数库251
9.7.1time_t类型与time函数251
9.7.2struct tm结构体类型与localtime函数251
9.7.3获取当前系统年月日的代码段示例252
9.8自定义类的综合应用实例252
9.8.1自定义日期类252
9.8.2自定义BMI类256
9.8.3一组BMI数据的文件读写258
9.9练习与思考261
第10章指针与动态内存分配263
10.1指针与指针变量263
10.1.1指针变量的定义 263
10.1.2指针变量赋值与初始化264
10.1.3引用指针变量 265
10.2使用指针变量访问数组265
10.2.1一维数组和指针265
10.2.2二维数组和指针 266
10.2.3二级指针269
10.2.4返回指针的函数271
10.3动态内存分配与回收272
10.3.1栈内存与堆内存272
10.3.2在C++中动态分配和释放内存272
10.3.3用malloc与free函数动态分配和释放内存275
10.3.4空指针与野指针问题276
10.4使用指针变量访问对象或结构体变量276
10.5链式数据结构276
10.5.1单链表277
10.5.2单链表的访问278
10.5.3单链表结点的插入279
10.5.4单链表结点的删除280
10.6练习与思考282
第11章C++的面向对象程序设计283
11.1C++类的进一步定义283
11.1.1this指针283
11.1.2复制类284
11.1.3静态成员285
11.2C++类的运算符重载287
11.2.1赋值运算符的重载287
11.2.2对象的输入与输出运算符的重载290
11.2.3四则运算符的重载292
11.2.4运算符重载的一般规则294
11.3C++类的继承性294
11.3.1基类和派生类295
11.3.2派生类的声明 295
11.3.3继承方式296
11.3.4protected成员的特点与作用299
11.3.5继承时的构造函数300
11.3.6继承时的析构函数304
11.4C++类的多态性305
11.4.1多态的概念305
11.4.2虚函数实现多态306
11.5C++标准模板类STL310
11.5.1STL中的算法310
11.5.2STL中的容器312
11.5.3STL中的迭代器316
11.6C++11标准中新增的遍历容器方法316
11.7Boost程序库——C++标准库317
11.8练习与思考318
第12章软件工程项目开发应用技术319
12.1程序设计的多文件结构319
12.2条件编译指令及在多文件中的应用322
12.3位运算符和位运算表达式的应用322
12.4静态链接库325
12.4.1创建静态链接库325
12.4.2部署静态链接库325
12.4.3在控制台项目中使用静态链接库326
12.5实用算法及应用327
12.5.1快速排序327
12.5.2动态规划方法应用实例329
附录AC&C++的关键字与数据类型331
A.1C语言关键字331
A.2C++常用的专有关键字及含义332
附录BC&C++的标准库及主要的库函数335
B.1数学函数335
B.2字符函数和字符串函数336
B.3输入输出函数338
附录CDevC++的配置及调试341
C.1环境配置——修改菜单的语言341
C.2编辑器显示配置——修改编辑器字体341
C.3编译器选项配置342
C.4单步调试343
第1章绪论1
1.1知识点回顾1
1.1.1计算机组成1
1.1.2程序设计语言2
1.1.3程序设计过程3
1.2习题解答5
1.2.1简答题5
1.2.2编程题12
1.3进一步拓展12
1.3.1计算机为什么采用二进制12
1.3.2算法的评价13
第2章程序的基本组成14
2.1知识点回顾14
2.1.1C++程序的基本结构14
2.1.2常量与变量14
2.1.3数据的输入输出18
2.1.4算术运算18
2.1.5赋值运算19
2.2习题解答21
2.2.1简答题21
2.2.2程序设计题27
2.3进一步拓展34
2.3.1“按位与”运算35
2.3.2“按位或”运算37
2.3.3“按位异或”运算38
2.3.4“取反”运算39
2.3.5“左移”运算402.3.6“右移”运算40
第3章分支程序设计43
3.1知识点回顾43
3.1.1关系表达式和逻辑表达式43
3.1.2分支语句44
3.2习题解答45
3.2.1简答题45
3.2.2程序设计题48
〖3〗程序设计基础及应用(C&C++语言)目录〖3〗第4章循环程序设计63
4.1知识点回顾63
4.1.1计数循环63
4.1.2while循环64
4.1.3dowhile循环64
4.1.4break和continue语句65
4.2习题解答65
4.2.1简答题65
4.2.2程序设计题67
4.3进一步拓展81
4.3.1goto语句81
4.3.2结构化程序设计82
4.3.3位运算的进一步讨论83
第5章批量数据处理——数组84
5.1知识点回顾84
5.1.1一维数组84
5.1.2二维数组85
5.1.3字符串86
5.2习题解答88
5.2.1简答题88
5.2.2程序设计题90
5.3进一步拓展104
5.3.1特殊矩阵104
5.3.2对称矩阵105
5.3.3三角矩阵105
5.3.4稀疏矩阵106
第6章过程封装——函数107
6.1知识点回顾107
6.1.1函数的概念107
6.1.2函数的定义107
6.1.3函数的参数和返回值108
6.1.4数组作为函数的参数108
6.1.5重载函数109
6.1.6函数模板109
6.1.7变量的作用域与存储类别110
6.1.8递归程序设计111
6.1.9C++11的扩展112
6.2习题解答113
6.2.1简答题113
6.2.2程序设计题117
6.3进一步拓展138
6.3.1模拟计算机程序的运行138
6.3.2模拟器的设计139
第7章间接访问——指针144
7.1知识点回顾144
7.1.1指针的概念144
7.1.2指针运算与数组144
7.1.3指针与动态内存分配145
7.1.4字符串的指针表示146
7.1.5指针、数组和字符串传递146
7.1.6引用与引用传递147
7.1.7多级指针与指向函数的指针148
7.1.8main函数的参数149
7.1.9lambda表达式149
7.2习题解答150
7.2.1简答题150
7.2.2程序设计题151
第8章数据封装——结构体161
8.1知识点回顾161
8.1.1记录的概念161
8.1.2结构体变量的使用162
8.1.3结构体作为函数的参数163
8.1.4链表163
8.2习题解答164
8.2.1简答题164
8.2.2程序设计题165
8.3进一步拓展174
第9章模块化开发177
9.1知识点回顾177
9.1.1自顶向下分解177
9.1.2模块划分177
9.1.3设计自己的库177
9.2习题解答178
9.2.1简答题178
9.2.2程序设计题179
9.3进一步拓展195
9.3.1软件危机195
9.3.2软件工程196
第10章创建新的类型199
10.1知识点回顾199
10.1.1面向对象的思想199
10.1.2面向对象程序设计的特点199
10.1.3类的定义200
10.1.4对象的使用201
10.1.5对象的构造与析构201
10.1.6C++11对构造的扩展202
10.1.7常量对象和常量成员函数204
10.1.8常量数据成员205
10.1.9静态数据成员与静态成员函数205
10.1.10友元206
10.2习题解答206
10.2.1简答题206
10.2.2程序设计题209
10.3进一步拓展244
10.3.1不要随便改变复制构造的意义244
10.3.2计算机模拟程序245
第11章运算符重载249
11.1知识点回顾249
11.1.1什么是运算符重载249
11.1.2运算符重载的方法249
11.1.3自定义类型转换函数250
11.2习题解答251
11.2.1简答题251
11.2.2程序设计题255
11.3进一步拓展277
下载地址