后台开发:核心技术与应用实践1.1 第一个C++程序
第1章
C++编程常用技术
我们通过固定格式和固定词汇的“语言”来影响他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然它们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去与他人交流。同样,我们也可以通过“语言”来影响计算机,让计算机为我们做事情,这样的语言就叫作编程语言。
C语言是1972年由美国贝尔实验室的D.M.Ritchie设计成功的,它是为计算机专业人员设计的,大多数系统软件和许多应用软件都是用C语言编写的。但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。C++也是由美国贝尔实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的。C++保留了C语言原有的所有优点,与C语言兼容,并且增加了面向对象的机制。用C语言写的程序基本上可以不加修改地用于C++开发工具。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型程序设计语言。
本章主要讲述C++中的常用技术,让读者可迅速地、由浅入深地熟悉这门语言。
1.1 第一个C++程序
刚开始接触一门编程语言,一般会从写一个输出Hello world的程序开始。
【例1.1】 用程序输出Hello world。
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello world."<<endl;
return 0;
}
把上述程序编写在一个叫helloworld.cpp的文件中,并将它放到Linux机器上的某个目录下,执行g++ helloworld.cpp命令,会在该目录下生成a.out文件。执行./a.out命令,即可得到输出结果:Hello world.。
先看程序的第一行(#include<iostream>),这不是一个C++语句,是一个预处理语句,编译器的预处理器把输入输出流的标准头文件包括在本程序中,所以不需要在句末加分号(;)。include一个文件,就是把这个文件的所有内容都加进来。图1-1展示了包含文件的过程。
如图1-1所示,include一个.h文件,就是等于把整个.h文件给复制到程序中,include一个.cpp文件也是如此。
除了#include< >的方式来包含一个头文件,还会见到#include" "的方式来包含一个头文件。而#include< >与#include" "的区别是:#include< >常用来包含系统提供的头文件,编译器会到保存系统标准头文件的位置查找头文件;而#include" "常用于包括程序员自己编号的头文件,用这种格式时,编译器先查找当前目录是否有指定名称的头文件,然后从标准头目录中进行查找。
还经常会看到#include<iostream>和#include<iostream.h>的使用。事实上,#include<iostream>和#include<iostream.h>是不一样的,因为iostream和iostream.h是两个不同的文件,前者没有后缀。实际上,在你的编译器include文件夹里面可以看到,两个文件打开后,里面的代码是不一样的。后缀为.h的头文件在C++标准已经明确提出不再支持了,早些的C语言为了实现将标准库功能定义在全局空间里,声明放在在带.h后缀的头文件里。C++标准为了和C语言区别开,也为了正确使用命名空间,规定头文件不再使用后缀.h。因此,当使用<iostream.h>时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现方法。换句话说,iostream是iostream.h的升级版,大部分的头文件都有一个不带.h扩展名的文件与之相对应。不过有个特例,<string>并非<string.h>的升级版。
再看程序的第二行:“using namespace std;”中使用了命名空间std。命名空间是为了让大量类名共存而不至于引起冲突而设计的。C++标准函数库的所有元素都被声明在一个命名空间中,这就是std命名空间。为了能够访问它的功能,使用这条语句来表达将使用标准名空间中定义的元素。这条语句在使用标准函数库的C++程序中频繁出现,本书中大部分例子的代码中也将用到它,需要注意的是,最好不要在头文件中使用命名空间,否则容易造成命名冲突。
继续看程序的第三行:“int main()”,这是主函数(main function)的起始声明。主函数是所有C++程序的运行的起始点。不管它是在代码的开头、结尾还是中间,此函数中的代码总是在程序开始运行时第一个被执行。main后面跟了一对圆括号(),表示它是一个函数。C++中所有函数都跟有一对圆括号(),括号中可以有一些输入参数。如例1.1中显示,主函数(main function)的内容紧跟在它的声明之后,由花括号{}括起来。
程序的第四行:“cout<<"Hello world."<<endl;”是本程序中最重要。cout是C++中的标准输出流(通常为控制台,即屏幕),这句话把一串字符串(本例中为Hello World)插入到输出流中。cout在的声明在头文件iostream中,所以要想使用cout必须将该头文件包括在程序开始处。注意这个句子以分号结尾。分号标示了一个语句的结束,C++的每一个语句都必须以分号结尾。C++程序员最常犯的错误之一就是忘记在语句末尾写上分号。
最后一行(return 0;)中返回语句(return)标志主函数main()执行结束,并将该语句后面所跟代码(在本例中为0)返回。这是在程序执行没有出现任何错误的情况下最常见的程序结束方式。在后面的例子中会看到所有C++程序都以类似的语句结束。
相关文章
- LibreOffice 7.5 发布:漂亮的新应用图标和酷炫功能
- elementary OS 7 发布
- Windows 应用兼容层 Wine 8.1 发布:默认启用“Windows 10”前缀
- 微软正测试新功能:当 Windows 11 有新的小组件可用时会提醒通知
- 解析分布式存储选型和应用九个典型问题
- ClickHouse在自助行为分析场景的实践应用
- Chrome DevTools 远程调试安卓网页的原理
- Uni-app + Vue3 页面如何跳转及传参?
- 微软证实系统还原点会损坏 Windows 11 22H2 版本应用程序
- 巧用 Transition 实现短视频 APP 点赞动画
- 初学者试试,HarmonyOS应用开发者基础认证
- 媒体实测微软 Windows 开发工具包 2023:存在不兼容 HDR 显示器、某些应用无法运行等问题
- 快速了解Navigator API SetAppBadge
- 微软 Windows 11 Dev 预览版 Build 25276 发布,应用兼容问题对话框 UI 改进
- 基于Next.js、Prisma、Postgres和Fastfy构建全栈APP
- 开始菜单搜索框变圆角,微软 Windows 11 Beta 预览版 22621.1095 和 22623.1095 发布
- 2022-2023 十大应用开发趋势
- 观远数据发布业内首部《移动BI白皮书》,深入业务数字化场景重新定义移动BI
- Windows 10 学院:不借助第三方工具如何卸载 Windows 10 预装应用
- 正处高质量发展期,我国大数据产业突破1.3万亿元