导航: 首页 > 服务器 > 编写一个简单的C++程序 发表于:2025-02-02 作者:千家信息网编辑 千家信息网最后更新 2025年02月02日,编写一个简单的C++程序每个C++程序都包含一个或多个函数(function),其中一个必须命名为main。操作系统通过调用main来运行C++程序。下面是一个非常简单的main函数,它什么也不干,只 千家信息网最后更新 2025年02月02日编写一个简单的C++程序编写一个简单的C++程序每个C++程序都包含一个或多个函数(function),其中一个必须命名为main。操作系统通过调用main来运行C++程序。下面是一个非常简单的main函数,它什么也不干,只是返回给操作系统一个值:[cpp]view plaincopyint main(){return 0;}一个函数的定义包含四部分:返回类型(return type)、函数名(function name)、一个括号包围的形参列表(parameterlist,允许为空)以及函数体(function body)。虽然main函数在某种程度上比较特殊,但其定义与其他函数是一样的。在本例中,main的形参列表是空的(()中什么也没有)。6.2.5节(第218页)将会讨论main的其他形参类型。main函数的返回类型必须为int,即整数类型。int类型是一种内置类型(built-in type),即语言自身定义的类型。函数定义的最后一部分是函数体,它是一个以左花括号(curly brace)开始,以右花括号结束的语句块(block of statements):[cpp]view plaincopy{return 0;}这个语句块中唯一的一条语句是return,它结束函数的执行。在本例中,return还会向调用者返回一个值。当return语句包括一个值时,此返回值的类型必须与函数的返回类型相容。在本例中,main的返回类型是int,而返回值0的确是一个int类型的值。请注意,return语句末尾的分号。在C++中,大多数C++语句以分号表示结束。它们很容易被忽略,但如果忘记了写分号,就会导致莫名其妙的编译错误。在大多数系统中,main的返回值被用来指示状态。返回值0表明成功,非0的返回值的含义由系统定义,通常用来指出错误类型。重要概念:类型类型是程序设计最基本的概念之一,在本书中我们会反复遇到它。一种类型不仅定义了数据元素的内容,还定义了这类数据上可以进行的运算。程序所处理的数据都保存在变量中,而每个变量都有自己的类型。如果一个名为v的变量的类型为T,我们通常说"v具有类型T",或等价的,"v是一个T类型变量"。、运行程序编译、运行程序编写好程序后,我们就需要编译它。如何编译程序依赖于你使用的操作系统和编译器。你所使用的特定编译器的相关使用细节,请查阅参考手册或询问经验丰富的同事。很多PC机上的编译器都具备集成开发环境(Integrated Developed Environment,IDE),将编译器与其他程序创建和分析工具包装在一起。在开发大型程序时,这类集成环境可能是非常有用的工具,但需要一些时间来学习如何高效地使用它们。学习如何使用这类开发环境已经超出了本书的范围。大部分编译器,包括集成IDE的编译器,都会提供一个命令行界面。除非你已经了解IDE,否则你会觉得借助命令行界面开始学习C++还是很容易的。这样学习方式的好处是,可以先将精力集中于C++语言本身(而不是一些开发工具),而且,一旦你掌握了语言,IDE通常是很容易学习的。程序源文件命名约定无论你使用命令行界面或者IDE,大多数编译器都要求程序源码存储在一个或多个文件中。程序文件通常被称为源文件(source file)。在大多数系统中,源文件的名字以一个后缀为结尾,后缀是由一个句点后接一个或多个字符组成的。后缀告诉系统这个文件是一个C++程序。不同编译器使用不同的后缀命名约定,最常见的包括.cc、.cxx、.cpp、.cp及.C。从命令行运行编译器如果我们正在使用命令行界面,那么通常是在一个控制台窗口内(例如UNIX系统中的外壳程序窗口或者Windows系统中的命令提示符窗口)编译程序。假定我们的main程序保存在文件prog1.cc中,可以用如下命令来编译它$ CC prog1.cc其中,CC是编译器程序的名字,$是系统提示符。编译器生成一个可执行文件。Windows系统会将这个可执行文件命名为prog1.exe。UNIX系统中的编译器通常将可执行文件命名为a.out。为了在Windows系统中运行一个可执行文件,我们需要提供可执行文件的文件名,可以忽略其扩展名.exe:$ prog1在一些系统中,即使文件就在当前目录或文件夹中。你也必须显式指出文件的位置。在此情况下,我们可以键入$ .\prog1"."后跟一个反斜线指出该文件在当前目录中。为了在UNIX系统中运行一个可执行文件,我们需要使用全文件名,包括文件扩展名:$ a.out如果需要指定文件位置,需要用一个"."后跟一个斜线来指出可执行文件位于当前目录中。$ ./a.out访问main的返回值的方法依赖于系统。在UNIX和Windows系统中,执行完一个程序后,都可以通过echo命令获得其返回值。在UNIX系统中,通过如下命令获得状态$ echo $?在Windows系统中查看状态可键入$ echo %ERRORLEVEL%运行GNU或微软编译器在不同操作和编译器系统中,运行C++编译器的命令也各不相同。最常用的编译器是GNU编译器和微软Visual Studio编译器。默认情况下,运行GNU编译器的命令是g++:$g++ -o prog1 prog1.cc此处,$是系统提示符。-o prog1是编译器参数,指定了可执行文件的文件名。在不同的操作系统中,此命令生成一个名为prog1或prog1.exe的可执行文件。在UNIX系统中,可执行文件没有后缀;在Windows系统中,后缀为.exe。如果省略了-o prog1参数,在UNIX系统中编译器会生成一个名为a.out的可执行文件,在Windows系统中则会生成一个名为a.exe的可执行文件(注意:根据使用的GNU编译器的版本,你可能需要指定-std=c++0x参数来打开对C++11的支持)。运行微软Visual Studio 2010编译器的命令为cl:C:\Users\me\Programs>cl /EHsc prog1.cpp此处,C:\Users\me\Programs>是系统提示符,\Users\me\Programs是当前目录名(即当前文件夹)。命令cl调用编译器,/EHsc是编译器选项,用来打开标准异常处理。微软编译器会自动生成一个可执行文件,其名字与第一个源文件名对应。可执行文件的文件名与源文件名相同,后缀为.exe。在此例中,可执行文件的文件名为prog1.exe。编译器通常都包含一些选项,能对有问题的程序结构发出警告。打开这些选项通常是一个好习惯。我们习惯在GNU编译器中使用-Wall选项,在微软编译器中则使用/W4。更详细的信息请查阅你使用的编译器的参考手册。练习练习1:查阅你使用的编译器的文档,确定它所使用的文件命名约定。编译并运行第2页的main程序。练习2:改写程序,让它返回-1。返回值-1通常被当作程序错误的标识。重新编译并运行你的程序,观察你的系统如何处理main返回的错误标识。本文节选自《C++ Primer中文版(第5版)》【美】Stanley B.Lippman( 斯坦利 李普曼) Josee Lajoie(约瑟 拉乔伊 ) Barbara E. Moo (芭芭拉 默) 著王刚 杨巨峰 译电子工业出版社出版 很赞哦! 编译 文件 编译器 系统 程序 类型 命令 函数 运行 C++ 后缀 语句 源文件 微软 学习 生成 不同 操作系统 变量 提示符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全家校协作 信息技术中的网络技术 数据库主文件逻辑名如何命名 服务器搭建个人网盘系统 我的世界盾斧PVP服务器IP 构建数据库开发环境需要哪些步骤 公司服务器的辐射对人影响大吗 地平线4河北服务器 水天服务器 led 数据库 商品信息表 数据库 国电网络安全去电厂吗 网络安全法战略 滨州网络安全分行 linux 服务器 入侵 码上行动服务器连接失败 魔兽怎么向不同服务器的小号转钱 网络安全与前端开发那个稳定 湖南网络安全产业园区 如何找到数据在数据库的位置 本地视频管理服务器 中国信科主业是网络安全 南宫软件开发哪家便宜 地平线4河北服务器 计算机本地服务器怎么看 机关网络安全发言材料 软件开发模块接口 网络安全定义龙头股 网红服务器大全 伯特利网络安全 扫描关注千家信息网微信公众号,第一时间获取内容更新动态 转载请说明来源于"千家信息网" 本文地址:https://www.qianjiagd.com/a19599 上一篇 Linux系统跟Windows有什么差别 本篇文章给大家分享的是有关Linux系统跟Windows有什么差别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果您对Linux的使用 下一篇 docker容器的安装命令 本篇内容介绍了"docker容器的安装命令"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先执行命令安 相关文章 recovery是什么意思?电脑开机重启显示recovery蓝屏怎么办 怎么在Linux中配置SSH和Xshell远程连接服务器 5分钟入门lsyncd 基于centos7搭建MySQL数据库 CentOS 7.7两种方式安装配置JDK 11 LTS 提高企业开发效率的优质工具:快速开发平台 Azure实践之如何批量为资源组虚拟机创建alert Azure Storage系列之使用AzCopy在blob k8s的StatefulSet(有状态服务)实现 Azure App Service 纵向和横向缩放