《C++入门经典(第5版•修订版)》——2.2 程序的组成部分

2.2 程序的组成部分

C++入门经典(第5版•修订版)
您在第1章创建的程序Motto.cpp包含C++程序的基本框架。程序清单2.1再次列出了该程序的源代码,以便详细探索。

在编辑器中输入该程序时,记住不要包含其中的编号,提供它们旨在方便引用代码行。

程序清单2.1 Motto.cpp的完整源代码

这个程序生成一行输出,奥尔胡斯大学的校训:

Solidum petit in profundis!

在程序清单2.1中,第一行包含了一个名为iostream的文件,导致编译器认为在这个地方输入的是文件iostream的全部内容。

2.2.1 预处理器编译指令

C++编译器执行的第一项操作是,调用另一个被称为预处理器的工具对源代码进行检查,这是在编译器每次运行时自动进行的。

在第1行,第一个字符是符号#,它指出这行是一个将由预处理器处理的命令。这些命令称为预处理器编译指令。预处理器的职责是,阅读代码,查找编译指令并根据编译指令相应地修改代码。修改后的代码将提供给编译器。

预处理器相当于编译前的代码编辑,每条编译指令都是一个命令,告诉这位编辑如何做。

编译指令#include告诉预处理器,将指定文件的全部内容加入到程序的指定位置。C++提供了一个标准源代码库,您可在程序中使用它们来执行有用的功能。文件iostream中的代码支持输入输出任务,如在屏幕上显示信息以及从用户那里接受输入。

文件名iostream前后的<>告诉预处理器,前往一组标准位置寻找该文件。由于这些尖括号,预处理器将前往为编译器存储头文件的目录中查找文件iostream。这些文件也被称为包含文件,因为它们被包含在源代码中。

在第1行,将插入文件iostream的全部内容。

注意:
传统上,头文件的扩展名为.h,也被称为h文件,因此使用的编译指令类似于include 。

较新的编译器不要求指定扩展名,但是,如果引用了使用扩展名的文件,编辑指令出于兼容性考虑仍然会奏效。本书在包含文件时,省略不必要的.h。
在第5行,命令cout使用了文件iostream的内容,该命令在屏幕上显示信息。

在上述源代码中,没有其他的编译指令,因此Motto.cpp的其他代码由编译器处理。

2.2.2 源代码行

实际的程序从第3行开始,它声明了一个名为main()的函数。函数是执行一个或多个相关操作的代码块,它执行某些操作后返回到调用它的位置。

每个C++程序都包含一个main()函数,程序运行时将自动调用main()。

在C++中,所有函数都必须在完成任务后返回一个值。函数main()总是返回一个整数,这是使用关键字int指定的。

与C++程序中的其他代码块一样,函数也包含在{和}内。所有函数都以左大括号{开头,并以右大括号}结尾。

在程序Motto.cpp中,函数main()的大括号位于第4行和第7行。大括号内的所有代码都是函数的组成部分。

在第5行,使用命令cout在屏幕上显示了一条消息。在该对象前面,使用了std::对其进行限定,告诉编译器使用标准C++输入输出库。就现在而言,有关这方面的工作原理太复杂,如果在这里介绍,很可能导致您将本书丢得老远。为他人的安全着想,这些内容将在本书后面介绍。就现在而言,将std::cout视为在程序中用于处理输出的对象的名称,而将std::cin视为用于处理用户输入的对象即可。

在第5行,std::cout后面是<<,它被称为输出重定向运算符。运算符是代码行中根据某种信息执行操作的字符。运算符<<显示它后面的信息(仅限当前行)。在第5行,文本“Solidum petit in profundis!n”用双引号括起了。这将在屏幕上显示一个字符串,末尾的特殊字符n表示换行符,导致接下来的程序输出从下一行开始。

在第6行,程序返回整数0。程序运行完毕后,操作系统将收到这个值。通常,程序返回0表示它运行成功,而其他数字表示出现了某种故障。

第7行的右大括号表示函数main()到此结束,而程序也到此结束。所有程序的基本框架都与这里演示的相同。

时间: 2024-11-08 21:35:37

《C++入门经典(第5版•修订版)》——2.2 程序的组成部分的相关文章

《Java 7程序设计入门经典》一第3章 程序控制语句

第3章 程序控制语句 本章要点 从键盘中输入字符: 了解if语句的完整形式: 使用switch语句: 了解for循环的完整形式: 使用while循环: 使用do-while循环: 使用break跳出循环: 使用break来代替goto: 应用continue关键字: 循环嵌套. 本章将学习如何控制程序的执行流.Java的程序控制语句可以分为以下三类: 选择语句 迭代语句 跳转语句 选择语句允许程序选择不同的执行路径.迭代语句允许重复一段代码.跳转语句允许程序控制直接从一个地方跳转到另一个地方.J

《Android游戏编程入门经典》——4.6节问与答

4.6 问与答Android游戏编程入门经典问:开发出售的应用程序或游戏时,可以使用模拟器,还是应该在实际Android设备上测试代码?请讨论赞成或反对的原因. 答:答案不唯一. 问:市场上有运行各种Android操作系统的众多设备,为了获得兼容性,需要采用哪种方法? 答:答案不唯一.

《C++入门经典(第5版•修订版)》——6.4 for循环

6.4 for循环 C++入门经典(第5版•修订版) 编写循环时,经常需要设置计数器变量.检查计数器变量是否满足条件并在每次循环迭代中修改该变量,如下面的while循环所示: 上述代码在一行中显示X 13次.for循环是一种复杂的循环,将这三个步骤合并到了一条语句中.该语句使用关键字for,后面是一对括号.在括号内,是三条用分号分隔的语句,它们分别初始化计数器.检查条件和修改计数器. 下面的代码是前述while循环的重写版本,其输出相同: for循环的第一部分是初始化.可在这里放置任何C++语句

《SAP入门经典(第4版•修订版)》——3.4 SAP数据库基础知识

3.4 SAP数据库基础知识 SAP入门经典(第4版•修订版) 掌握了硬件和操作系统的知识细节之后,现在我们可以把注意力转到在下层支持SAP业务应用的数据库了,看看它所承担的角色.在选择数据库时,还应像选择硬件平台和OS时一样慎重挑选.鉴于平台和SAP版本限制,您可能只有一两种数据库可选(这就凸显了把SAP基础设施作为一个整体计算平台加以考虑的重要性).主流的数据库SAP均能支持,包括Microsoft SQL Server(最终将可以搭配SQL Azure使用).IBM DB2和多种Oracl

《SAP入门经典(第4版•修订版)》——3.6 案例分析

3.6 案例分析 SAP入门经典(第4版•修订版)请阅读本章案例,并利用您刚刚学到的硬件.操作系统和数据方面的知识分析和处理下面的问题.您可以在附录A中找到与此案例分析相关的问题答案. 3.6.1 情境您的雇主MNC公司在Microsoft Windows和SQL Server系统上运行着最新版的SAP应用.最近MNC收购了Archaic制造公司(AMI),这是MNC的一大竞争对手,它也分别在运行着Oracle和DB2数据库的UNIX和大型机平台上运行着最新版的SAP应用程序.MNC希望根据自己

《SAP入门经典(第4版•修订版)》——3.3 能够支持SAP的操作系统

3.3 能够支持SAP的操作系统 SAP入门经典(第4版•修订版)从我们学习的角度来说,操作系统(OS)是一种特殊的软件,它使诸如数据库.SAP这样的应用程序能够使用计算机的处理能力.内存.磁盘.文件和网络连接以及其他资源.OS是硬件和应用程序进行交互的中间人.诸如Microsoft Windows Server.Red Hat和SUSE Linux以及许多UNIX的派生版(HP-UX.IBM AIX.Oracle Solaris等)等的操作系统都是当今的SAP环境中常见的系统.偶尔您还可以看到

《SAP入门经典(第4版•修订版)》——3.2 SAP硬件基础知识

3.2 SAP硬件基础知识 SAP入门经典(第4版•修订版)硬件是SAP系统最基本的组件.硬件由服务器(体积巨大.功能强劲的计算机).磁盘存储系统(从存储区域网络或网络附加存储,到基于云的虚拟存储空间,种类多样)和网络设备(如路由器.网络交换机以及安全防火墙等)构成.所有这些硬件必须协同工作才能构建成高效的SAP基础架构.如果技术架构设计不正确,或者只是简单地把一些硬件堆积起来搭建成的架构就会连接薄弱.潜在问题多多,从而导致问题接连不断.因此,合理的硬件架构和设计(SAP所谓的术语"适型&quo

《C++入门经典(第5版•修订版)》——2.6 问与答

2.6 问与答 C++入门经典(第5版•修订版)问:在C++程序中,字符#有何用途? 答: #符号指出当前代码行是一个编译指令:需要在程序编译器处理的命令.编译指令#include将指定文件的所有内容插入到当前位置.编译器看不到编译指令,相反,结果就像是在指定位置输入了文件的全部内容一样. 问:注释类型//和/*有何不同? 答:以//打头的注释是单行注释,到当前行行尾结束.以/打头的注释是多行注释,到下一个/处才结束.函数结束不会导致多行注释结束,只有添加了*/标志多行注释结束,否则编译器将报错

《SAP入门经典(第4版•修订版)》——第3章 SAP技术基础知识 3.1 SAP技术101:SAP基础知识

第3章 SAP技术基础知识 经过前面章节的学习,我们已经对SAP的基本概念和使用SAP运行业务的意义有所了解了,现在我们要花一些时间讨论一下更深层的基本技术.本节我们将考察几个常用的与架构相关的技术术语,粗略地了解一下支持任何SAP应用程序都必不可少的3种核心技术:硬件.操作系统和数据库.本章最后我们要讨论一下这些技术是如何发挥作用的.即使您有着深厚的技术背景,本章的内容也仍然值得您花些时间进行了解. 3.1 SAP技术101:SAP基础知识 SAP入门经典(第4版•修订版)在第2章中,我们已经