面向新工科专业建设计算机系列教材程序设计基础及应用(C&C++语言 )/陈春丽等
1星价
¥42.5
(7.2折)
2星价¥42.5
定价¥59.0
暂无评论
图文详情
- ISBN:9787302547259
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:343
- 出版时间:2018-01-01
- 条形码:9787302547259 ; 978-7-302-54725-9
内容简介
本书是密切结合计算机的近期新发展的程序设计入门教材,针对程序设计的初学者,阐述程序设计的基本内容。本书共12章,从C/C++语言的程序实例简介、三种控制结构、函数、数组、字符串、自定义数据类型、文件,进而到简单的面向对象程序设计。实例选取工程应用中的数据处理、数学运算等实例及重要算法,引导学生充分利用C++标准库。
目录
章计算机语言程序设计概述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
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…elseif…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.2structtm结构体类型与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
0章指针与动态内存分配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
1章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
2章软件工程项目开发应用技术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
展开全部
作者简介
陈春丽,中国地质大学(北京)信息工程学院计算机基础教研室主任,长期从事计算机基础和专业的教学与科研工作、讲授“大学计算机”“计算机语言程序设计”“数据库技术”“Web开发技术”等课程、主持和主要参与教育部首批“新工科”项目、教育部产学协同育人项目、北京市教改项目、校级教学改革项目等十余项,参与多项省部级科研项目、获北京市教学成果奖等多项奖励。
本类五星书
本类畅销
-
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
落洼物语
¥8.7¥28.0 -
中国当代文学名篇选读
¥19.1¥53.0 -
中医基础理论
¥50.7¥59.0 -
北大人文课(平装)
¥13.9¥45.0 -
宪法-第二版
¥12.2¥29.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
EPLAN电气设计
¥29.9¥39.8 -
闯进数学世界――探秘历史名题
¥21.3¥32.8 -
企业法务教程
¥34.8¥49.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
金融学
¥29.9¥49.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
三国史
¥27.5¥50.0 -
陶瓷坯釉料制备技术/高职高专材料工程技术专业
¥37.4¥45.0 -
陶瓷工艺技术
¥41.7¥49.0 -
飞机总体设计
¥46.8¥78.0 -
陶瓷工艺学/焦宝祥
¥41.7¥49.0 -
古代汉语(第四册)
¥16.1¥35.0 -
编辑审稿实务教程
¥35.1¥45.0