历史
C++是C语言的扩展,它是由Dennis Ritchie于1972年在UNIX操作系统上首次实现的。C语言是一种灵活的编程语言,至今仍很流行,并被用于大量的平台,从微控制器到最先进的科学系统。
C++是由Bjarne Stroustrup博士在1983-1985年期间在新泽西的AT&T贝尔实验室工作时开发的。他在原来的C语言上增加了一些功能,产生了他所谓的 "带类的C"。这些类定义了具有特定功能的编程对象,将C语言的程序性转变为C++的面向对象编程语言。
C编程语言之所以被命名为C语言,是因为它继承了1970年左右推出的一种名为 "B "的早期编程语言。C++"这个名字显示了程序员的幽默感,因为编程中的++增量运算符表示C++是C语言的扩展。
为什么要学习C++编程?
C++语言受到许多专业程序员的青睐,因为它可以让他们创建快速、紧凑的程序,而且坚固耐用、便于移植。
使用现代C++集成开发环境(IDE),如微软的Visual Studio社区版,程序员可以快速创建复杂的应用程序。
应该先学习C语言吗?
对于在转向C++之前熟悉C语言编程是否有优势的问题,人们意见不一。为了更容易地理解更大的扩展语言,先学习原始语言似乎是合乎逻辑的。然而,C++并不是C的简单放大,因为用C++进行面向对象编程的方法与C的过程性有明显的不同。
本文没有假设读者以前有任何编程语言的知识,所以它适合于用C++编程的初学者,无论他们是否知道C。
C++的标准化
美国国家标准协会(ANSI:American National Standards Institute)和工业标准化组织(ISO:Industry Organization for Standardization)的联合委员会定义了C++的标准版本。这个版本有时被称为ANSI C++,它可以移植到任何平台和任何开发环境。
代码必须首先被 "编译 "成可以被计算机理解的字节码。C++编译器读取代码并将其翻译成第二个文件--机器可读的可执行格式。
如果文本程序包含任何语法错误,编译器就会报告这些错误,可执行文件就不会被建立。
如果你使用的是Windows平台,并且安装了C++集成开发环境(IDE),那么你将已经有了一个C++编译器,因为编译器是可视化IDE的一个组成部分。优秀的、免费的微软Visual C++ Express集成开发环境提供个编辑器窗口,在这里可以编写程序代码,并提供了编译和执行程序的按钮。然而,在开始使用C++时,可视化IDE可能会显得很不方便,因为它们总是创建大量的 "项目 "文件,这些文件被高级程序所使用。
流行的GNU C++编译器在通用公共许可证(GPL)的条款下是免费提供的。它包含在大多数Linux操作系统的发行版中。GNU C++编译器也可用于Windows平台,并在本书中被用来编译实例。
要想知道你的系统上是否已经有GNU C++编译器,可以在命令提示符下输入c++ -v,然后点击返回。如果它是可用的,编译器会回复版本信息。
$ c++ --version
c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GNU(发音为 "guh-new")项目早在1984年就启动了,旨在开发完整的自由的类Unix操作系统。GNU的一部分是 "Minimalist GNU for Windows"(MinGW)。MinGW包括GNU C++编译器,可以在Windows系统上用来创建可执行的C++程序。Windows用户可以按照下面的说明下载并安装GNU C++编译器。
通用公共许可证的条款和条件可以在gnu.org/copyleft/gpl.html上找到。
image在互联网连接打开的情况下,启动网络浏览器,然后导航到sourceforge.net/projects/mingw,点击下载按钮,获得MinGW安装程序。
启动安装程序,在 "安装管理器 "对话框中接受建议的位置C:\MinGW。
image选择基础和C++编译器项目,然后点击安装,应用更改来完成安装。
MinGW的安装过程可能会有变化,指导可以在mingw.org/wiki/Getting_Started找到。
MinGW C++编译器是一个二进制可执行文件,位于C:\MinGW\bin。为了让它能够从任何系统位置访问,现在应该将这个文件夹添加到系统路径中。
Hello World
以ubuntu 20.04 geany1.37.1为例
F8编译,F5执行
- 预处理指令 - 这些指令由编译器在程序代码之前处理,所以必须总是出现在页面的开头。这里,#include指示编译器使用名为iostream的标准C++输入/输出库,在< >角括号之间指定库名。下一行是 "using指令",允许使用指定命名空间的函数,而不使用其命名空间前缀。iostream库的函数属于std命名空间--所以这个using指令允许诸如std::cout和std::endl的函数被简单地写成cout和endl。
- 注释 在//双斜线之后单行中的所有内容都会被编译器忽略。
- Main函数 - 这是每一个C++程序的必经之路。程序可以包含许多函数,但必须始终包含main的函数,否则编译器不会编译该程序。可以选择在函数名称后面的括号中指定逗号分隔的 "参数 "值列表,供该函数使用。main函数必须返回int。
-语句 - 这些是程序运行时要执行的动作。语句必须以分号结束,。这里,第一条语句调用cout库函数来输出文本和回车符endl。这些都是由<<输出流操作符指向标准输出的。请注意,C++中的文本字符串必须总是包含在双引号中。最后一条语句使用了C++的return关键字来向操作系统返回零的整数值,传统上,返回零值表示程序成功执行。
C++编译器也支持在/和/-之间的多行C语言风格的注释。
命令行编译和运行程序
$ g++ hello.cpp
$ ./a.out
Hello World!
$ g++ hello.cpp -o hello
$ ./hello
Hello World!
编译器会在原始源代码文件旁边创建可执行文件。默认情况下,该可执行文件在Windows系统中被命名为a.exe,在Linux中被命名为a.out。建议在编译程序时使用-o选项,为可执行文件指定一个自定义的名字。
网友评论