跳转到内容

理解 C++/简介

来自维基教科书,开放的书本,开放的世界
要理解土著人,你必须学习他们的语言。

一个软件程序应用程序包含一组指令,告诉计算机该做什么。蛋糕食谱可以被认为是一个程序,它包含一系列的指令,告诉一个人该做什么来制作蛋糕。当你了解指令所使用的语言时,你可以随时参考同一个蛋糕食谱来制作蛋糕。计算机可以参考同一个软件程序来重复相同的指令序列,只要这些指令属于计算机能够遵循的指令集。计算机能够遵循的指令集被称为指令集

为了让计算机做一些事情,指令可能需要接收输入,将输入处理为数据,并将信息作为输出返回。一个指令的输出可以作为另一个指令的输入。输入和输出可以是计算机设计用来执行的任何事情。一台做蛋糕的计算机可能需要知道要制作多少份作为输入,并告知你每种成分需要多少作为输出,并处理这些成分来制作蛋糕。

一种编程语言包含一组可用的指令,这些指令可用于告诉计算机该做什么,以及语法规则,这些规则在遵循时可用于创建有意义的表达式,例如“1+1”。英语有语法规则,在遵循这些规则时,可以将不同类型的词(例如名词和动词)组合成有意义的句子。规则 语言 当 语法 意义 遵循 使 是 (语言在语法规则遵循时才有意义)。正确语法的的重要性应该很清楚。

一个表达式是一系列一个或多个语法正确的指令,告诉计算机该做什么。一个编译器是一个软件程序,它将编程语言的表达式的含义转换为计算机可以理解的适当指令。任何理解如何编写编程语言表达式的人都可以使用编译器将表达式翻译成计算机可以理解的指令来告诉计算机该做什么,就像一个既懂西班牙语又懂英语的人可以充当只懂英语或西班牙语的人的翻译一样。理解并能使用编程语言编写软件程序的人被称为程序员

电子计算器是计算机最简单的形式之一,其表达式由数字、数学运算符和函数(如 log())组成,这些函数可以组合在一起,创建一个数学表达式,计算器可以处理该表达式以返回结果。例如,数学表达式“1+1”包含加法指令,该指令接收两个数字作为输入,当由计算器处理时,返回“2”作为结果或输出。但是,与计算器不同,一台计算机的指令对另一台计算机可能毫无意义,就像两个人没有共同语言就无法相互理解一样。编程语言(如 C++)通过将一致的语言翻译成目标计算机可以处理的指令,使编写可移植的程序变得更加容易。

C++ 中的表达式包含数字、运算符、变量、函数、类、枚举以及构成该语言的其他内容。在英语中,各种标点符号用来结束一个句子。在 C++ 中,分号(;)结束所有语句,例如“a=1+1;”。一个是一组用花括号({})包围的语句。块的作用与英语中的段落非常相似。

示例程序

[编辑 | 编辑源代码]

现在你已经了解了 C++ 的基本构建块,你准备好了看到你的第一个 C++ 程序

/*
   helloworld.cpp
   Displays:
   Hello World!
   My name is Dell!
*/

#include <iostream>

int main() {
   std::cout << "Hello World!" << std::endl << "My name is Dell!" << std::endl;
   return 0; // exit program
}

你可能已经看到了一些你还不理解的东西。让我们逐一看看。

第 1 到第 6 行表示 C++ 注释。注释帮助那些审查代码的人,编译器完全忽略它们。注释通常用于记录目的,或者使编译器忽略代码的一部分。类似于上面描述的块,“/*" 开始一个注释块,第一个出现的 "*/" 结束一个注释块。

第 8 行是编译器不会忽略的第一条指令,它读取 "#include <iostream>". #include告诉编译器将文件的原始内容视为当前程序的一部分。在 iostream 的情况下,C++ 程序将能够接收输入和发送输出。包含使 C++ 编程变得更容易,因为它允许你在自己的程序中重用其他程序员的现有工作。

第 10 行,你会在 C++ 中找到更多关键术语。int是 C++ 中的基本类型之一。int是 integer 的缩写。一个int可以保存任何整数值,无论正数还是负数,但在一定的范围内,不过我们暂时不会讨论这些。

接下来你会找到main,一个函数名。C++ 程序从调用main函数开始。C++ 程序只能有一个 main 函数,并且该函数必须返回一个整数。

接下来你会找到(),这意味着该函数不传递任何参数。我们稍后会讨论函数。

接下来是{,它表示一个块的开始。这个特殊的块被称为函数块。我们稍后会在引入新概念时讨论 C++ 中存在的其他类型的块。

在继续之前,让我们认识一下“using namespace std;”。这个表达式意味着在使用标准库中的某些内容时,不需要在它们之前包含 std::。这可以节省输入,但代价是我们以后会讨论。在包含了这个之后,代码可以像这样缩短

/*
   helloworld.cpp
   Displays:
   Hello World!
   My name is Dell!
*/

#include <iostream.h>
using namespace std;

int main() {
   cout << "Hello World!" << endl << "My name is Dell!" << endl;
   return 0; // exit program
}

接下来,“那些奇怪的 << 在代码中做什么?”你可能会问。这告诉编译器“好的,这是我们将打印到屏幕上的内容”,当你看到类似于

cout << "Hello World!" << endl << "My name is Dell!" << endl;

你可能会想知道为什么不直接这样做?

cout "Hello World!" endl "My name is Dell!";

原因是语法。如果没有 <<,编译器不知道何时执行下一个任务(在本例中,第二个任务是“Hello World!”)。从技术上讲,这是计算机的思路(如果你理解了,你就不用读了)

"好的,我看到了一个 cout。这意味着将内容打印到提示符。在它旁边我看到了“Hello World!”,我会将它发送到屏幕。哦,我看到了一个 <<,我正在继续进行下一步。下一件事是 endl,所以我会创建一个新行。另一个 <<!哇,我需要去买彩票。好的,所以现在我必须打印“My name is Dell!”。现在我看到了 ;。好的,我完成了这整行代码."

现在,编程交互式程序的基础……变量。简而言之,变量存储东西,就像一个存储箱。我们稍后会完成它……


在本书的剩余部分,你将学习更多关于 C++ 的知识,了解该语言的标准规则,并理解这个和其他你可能遇到的 C++ 程序。本章的其余部分介绍了本书中其他每一章的内容。

华夏公益教科书