没有合适的资源?快使用搜索试试~ 我知道了~
首页C++ Primer 第四版中文版:现代编程风格与标准库
C++ Primer 第四版中文版:现代编程风格与标准库
需积分: 0 0 下载量 82 浏览量
更新于2024-06-30
收藏 2.49MB PDF 举报
"《C++Primer》第四版是一本由严立钻监制的C++语言入门教程,旨在提供清晰、全面且准确的语言指南。本书重点讲述了现代C++编程风格,强调标准库的使用,适合初学者学习。" 《C++Primer》第四版在内容上进行了重大更新,反映了C++语言的发展趋势,即更加注重提升程序员的编程效率,而非仅仅关注运行时效率。随着C++标准库的普及,书中大量引入了标准库的使用示例,以帮助读者更好地理解和应用C++。 书中对语言主题的讲述顺序进行了调整,使得学习路径更加顺畅。每章新增的"小结"和"术语"部分,方便读者回顾和巩固所学知识。此外,为了帮助读者快速掌握关键概念,作者使用了特殊版式标注重要术语、提示常见错误、提倡良好编程习惯,并进行了大量前后交叉引用,以阐述各种特性之间的关系。 针对初学者可能遇到的难点,书中有特别的讨论和解释,这部分内容同样采用特殊版式以突出。同时,为了实践和加深理解,书中包含了大量的示例代码,读者可以在指定的网址获取这些示例的源代码,进行实际操作。 此书保留了前几版的传统,依然是一本深入浅出的C++教程。作者通过一系列逐步展开的示例,引导读者探索C++语言的各个方面,不仅教授语法,还强调实际编程技巧和最佳实践。这使得《C++Primer》第四版成为C++初学者理想的自学资料,同时也适合有一定经验的程序员参考,以更新他们的知识体系,适应现代C++的编程要求。
资源详情
资源推荐
16
18.7. 固有的不可移植的特征...................................................................................985
对链接到 C 的预处理器支持.............................................................................................992
Exercises Section 18.7.3 ..............................................................................................994
小结...............................................................................................................................994
术语...............................................................................................................................995
附录 A. 标准库 ..........................................................................................................................999
A.1. 标准库名字和头文件................................................................................................1000
A.2. 算法简介 ..................................................................................................................1003
A.2.1. 查找对象的算法...........................................................................................1003
A.2.2. 其他只读算法...............................................................................................1005
A.2.3. 二分查找算法...............................................................................................1006
A.2.4. 写容器元素的算法.......................................................................................1006
A.2.5. 划分与排序算法...........................................................................................1008
A.2.6. 通用重新排序操作.......................................................................................1010
A.2.7. 排列算法.......................................................................................................1012
A.2.8. 有序序列的集合算法...................................................................................1013
A.2.9. 最大值和最小值...........................................................................................1014
A.2.10. 算术算法.....................................................................................................1015
A.3. 再谈 IO 库 ..............................................................................................................1018
A.3.1. 格式状态.......................................................................................................1018
A.3.2. 许多操纵符改变格式状态...........................................................................1019
A.3.3. 控制输出格式...............................................................................................1020
A.3.4. 控制输入格式化...........................................................................................1027
A.3.5. 未格式化的输入/输出操作.......................................................................1027
A.3.6. 单字节操作...................................................................................................1028
A.3.7. 多字节操作...................................................................................................1029
警告:低级例程容易出错.................................................................................................1030
A.3.8. 流的随机访问...............................................................................................1031
A.3.9. 读写同一文件...............................................................................................1034
17
第一章 快速入门
本章介绍 C++ 的大部分基本要素:内置类型、库类型、类类型、变量、表
达式、语句和函数。在这一过程中还会简要说明如何编译和运行程序。
读者读完本章内容并做完练习,就应该可以编写、编译和执行简单的程序。
后面的章节会进一步阐明本章所介绍的主题。
要学会一门新的程序语言,必须实际动手编写程序。在这一章,我们将缩写
程序解决一个简单的数据处理问题:某书店以文件形式保存其每一笔交易。每一
笔交易记录某本书的销售情况,含有 ISBN(国际标准书号,世界上每种图书的
唯一标识符)、销售册数和销售单价。每一笔交易形如:
0-201-70353-X 4 24.99
第一个元素是 ISBN,第二个元素是销售的册数,最后是销售单价。店主定
期地查看这个文件,统计每本书的销售册数、总销售收入以及平均售价。我们要
编写程序来进行这些计算。
在编写这个程序之前,必须知道 C++ 的一些基本特征。至少我们要知道怎么
样编写、编译和执行简单的程序。这个程序要做什么呢?虽然还没有设计解决方
案,但是我们知道程序必须:
• 定义变量。
• 实现输入和输出。
• 定义数据结构来保存要处理的数据。
• 测试是否两条记录具有相同的 ISBN。
• 编写循环。处理交易文件中的每一条记录。
我们将首先考察 C++ 的这些部分,然后编写书店问题的解决方案。
1.1. 编写简单的 C++ 程序
每个 C++ 程序都包含一个或多个
函数
,而且必须有一个命名为 main。函数
由执行函数功能的语句序列组成。操作系统通过调用 main 函数来执行程序,
main 函数则执行组成自己的语句并返回一个值给操作系统。
下面是一个简单的 main 函数,它不执行任何功能,只是返回一个值:
int main()
{
return 0;
18
}
操作系统通过 main 函数返回的值来确定程序是否成功执行完毕。返回 0
值表明程序程序成功执行完毕。
main 函数在很多方面都比较特别,其中最重要的是每个 C++ 程序必须含有
main 函数,且 main 函数是(唯一)被操作系统显式调用的函数。
定义 main 函数和定义其他函数一样。定义函数必须指定 4 个元素:返回
类型、函数名、圆括号内的形参表(可能为空)和函数体。main 函数的形参个
数是有限的。本例中定义的 main 函数形参表为空。第 7.2.6 节将介绍 main 函
数中可以定义的其他形参。
main 函数的返回值必须是 int 型,该类型表示整数。int 类型是内置类型,
即该类型是由 C++ 语言定义的。
函数体函数定义的最后部分,是以花括号开始并以花括号结束的语句块:
{
return 0;
}
例中唯一的语句就是 return,该语句终止函数。
注意 return 语句后面的分号。在 C++ 中多数语句以分号作为
结束标记。分号很容易被忽略,而漏写分号将会导致莫名其妙
的编译错误信息。
当 return 带上一个值(如 0)时,这个值就是函数的返回值。返回值类型
必须和函数的返回类型相同,或者可以转换成函数的返回类型。对于 main 函数,
返回类型必须是 int 型,0 是 int 型的。
在大多数系统中,main 函数的返回值是一个状态指示器。返回值 0 往往表
示 main 函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。
通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户
main 函数返回什么内容。
19
1.1.1. 编译与执行程序
程序编写完后需要进行编译。如何进行编译,与具体操作系统和编译器有关。
你需要查看有关参考手册或者询问有经验的同事,以了解所用的编译器的工作细
节。
许多基于 PC 的编译器都在集成开发环境(IDE)中运行,IDE 将编译器与
相关的构建和分析工具绑定在一起。这些环境在开发复杂程序时非常有用,但掌
握起来需要花费一点时间。通常这些环境包含点击式界面,程序员在此界面下可
以编写程序,并使用各种菜单来编译与执行程序本书不介绍怎样使用这些环境。
大多数编译器,包括那些来自 IDE 的,都提供了命令行界面。除非你已经
很熟悉你的 IDE,否则从使用简单的命令行界面开始可能更容易些。这样可以避
免在学习语言之前得先去学习 IDE。
程序源文件命名规范
不管我们使用命令行界面还是 IDE,大多数编译器希望待编译的程序保存在
文件中。程序文件称作源文件。大多数系统中,源文件的名字由文件名(如 prog1)
和文件后缀两部分组成。依据惯例,文件后缀表明该文件是程序。文件后缀通常
也表明程序是用什么语言编写的,以及选择哪一种编译器运行。我们用来编译本
书实例的系统将带有后缀 .cc 的文件视为 C++ 程序,因此我们将该程序保存
为:
prog1.cc
C++ 程序文件的后缀与运行的具体编译器有关。其他的形式还包括。
prog1.cxx
prog1.cpp
prog1.cp
prog1.C
20
调用 GNU 或微软编译器
调用 C++ 编译器的命令因编译器和操作系统的不同而不同,常用的编译
器是 GNU 编译器和微软 Visual Studio 编译器。调用 GNU 编译器的默
认命令是 g++:
$ g++ prog1.cc -o prog1
这里的 $ 是系统提示符。这个命令产生一个为 prog1 或 prog1.exe 的
可执行文件。在 UNIX 系统下,可执行文件没有后缀;而在 Windows 下,
后缀为 .exe。-o prog1 是编译器参数以及用来存放可执行文件的文件
名。如果省略 -o prog1,那么编译器在 UNIX 系统下产生名为 a.out 而
在 Windows 下产生名为 a.exe 的可执行文件。
微软编译器采用命令 cl 来调用:
C:\directory> cl -GX prog1.cpp
这里的 C:directory> 是系统提示符,directory 是当前目录名。cl 是
调用编译器的命令。-GX 是一个选项,该选项在使用命令行界面编译器
程序时是必需的。微软编译器自动产生与源文件同名的可执行文件,这
个可执行文件具有 .exe 后缀且与源文件同名。本例中,可执行文件命
名为 prog1.exe。
更多的信息请参考你的编译器用户指南。
从命令行编译器
如果使用命令行界面,一般在控制台窗口(例如 UNIX 的 shell 窗口或
Windows 的命令提示窗口)编译程序。假设 main 程序在名为 prog1.cc 的文件
中,可以使用如下命令来编译:
$ CC prog1.cc
这里 CC 是编译器命令名,$ 表示系统提示符。编译器输出一个可执行文件,
我们可以按名调用这个可执行文件。在我们的系统中,编译器产生一个名为
a.exe 的可执行文件。UNIX 编译器则会将可执行文件放到一个名为 a.out 的文
件中。要运行可执行文件,可在命令提示符处给出该文件名:
$ a.exe
剩余1036页未读,继续阅读
ali-12
- 粉丝: 32
- 资源: 328
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功