Cplusplus 简明教程

C++ Basic Syntax

当我们考虑一个 C++ 程序时,可以将其定义为通过调用彼此的方法进行通信的对象集合。现在让我们简要了解一下类、对象、方法和即时变量的含义。

  1. Object − 对象具有状态和行为。示例:狗具有状态(颜色、名称、品种)以及行为(摇尾巴、吠叫、进食)。对象是类的实例。

  2. Class − 类可以定义为一个模板/蓝图,用于描述其类型支持的对象的行为/状态。

  3. Methods − 方法基本上是一种行为。一个类可以包含多个方法。逻辑编写在方法中,数据在方法中被操作,所有操作都在方法中执行。

  4. Instance Variables − 每个对象都有自己唯一的一组实例变量。对象的状态由分配给这些实例变量的值创建。

C++ Program Structure

让我们看一个简单的代码,它将打印单词 Hello World。

#include <iostream>
using namespace std;

// main() is where program execution begins.
int main() {
   cout << "Hello World"; // prints Hello World
   return 0;
}

让我们来看看上面程序的不同部分 −

  1. C++ 语言定义了一些标题,其中包含对你的程序来说必要或有用的信息。对于此程序,标题 &lt;iostream&gt; 是必需的。

  2. using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 的一个相对较新的补充。

  3. 下一行“ // main() is where program execution begins. ”是 C++ 中提供的单行注释。单行注释以 // 开始,并在行末停止。

  4. int main() 是主函数,程序执行由此开始。

  5. 下一行 cout &lt;&lt; "Hello World"; 使消息“Hello World”显示在屏幕上。

  6. 下一行 return 0; 终止 main( ) 函数,并使其向调用进程返回 0 值。

Compile and Execute C++ Program

我们来看看如何保存文件、编译和运行程序。请按照下面给出的步骤操作 −

  1. 打开一个文本编辑器并添加代码,如上所述。

  2. 将文件另存为:hello.cpp

  3. 打开命令提示符并转到保存文件所在的目录。

  4. 键入“g++ hello.cpp”并按 Enter 键来编译你的代码。如果你的代码中没有错误,命令提示符会将你带到下一行,并会生成 a.out 可执行文件。

  5. 现在,键入“a.out”来运行你的程序。

  6. 您将能够在窗口上看到打印出来的“Hello World”。

$ g++ hello.cpp
$ ./a.out
Hello World

确保 g++ 在你的路径中,并且你在包含文件 hello.cpp 的目录中运行它。

你可以使用 makefile 编译 C/C++ 程序。有关更多详细信息,你可以查看我们的 'Makefile Tutorial'

Semicolons and Blocks in C++

在 C++ 中,分号是一个语句终止符。也就是说,每个单独的语句都必须以分号结尾。它表示一个逻辑实体的结尾。

例如,以下三个不同的语句 −

x = y;
y = y + 1;
add(x, y);

一个块是一组逻辑上连接的语句,这些语句被开放和闭合花括号包围。例如 −

{
   cout << "Hello World"; // prints Hello World
   return 0;
}

C++ 不将行尾视为终止符。因此,你将语句放在一行的什么位置并不重要。例如 −

x = y;
y = y + 1;
add(x, y);

与以下内容一致

x = y; y = y + 1; add(x, y);

C++ Identifiers

C++ 标识符是用于标识变量、函数、类、模块或任何其他用户定义项的名称。标识符以字母 A 到 Z 或 a 到 z 或下划线 (_) 开头,后面跟零个或多个字母、下划线和数字(0 到 9)。

C 语言不允许标识符中出现诸如 @、$ 和 % 等标点字符。C 语言是一种区分大小写的编程语言。因此,在 C++ 中, Manpowermanpower 是两个不同的标识符。

以下是一些可接受标识符的示例−

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++ Keywords

以下列表显示了 C++ 中的保留字。这些保留字不能用作常量、变量或任何其他标识符名称。

asm

else

new

this

auto

enum

operator

throw

bool

explicit

private

true

break

export

protected

try

case

extern

public

typedef

catch

false

register

typeid

char

float

reinterpret_cast

typename

class

for

return

union

const

friend

short

unsigned

const_cast

goto

signed

using

continue

if

sizeof

virtual

default

inline

static

void

delete

int

static_cast

volatile

do

long

struct

wchar_t

double

mutable

switch

while

dynamic_cast

namespace

template

Trigraphs

几个字符具有称为三字符序列的备用表示形式。三字符序列是一个表示单个字符的三字符序列,该序列始终以两个问号开头。

三字符序列在它们出现的任何地方进行扩展,包括在字符串文字和字符文字、注释和预处理程序指令中。

以下是使用最频繁的三字符序列−

Trigraph

Replacement

??=

#

??/

\

??'

^

??(

[

??)

]

??!

??<

{

??>

}

??-

所有编译器都不支持三字符序列,并且不建议使用它们,因为它们容易混淆。

Whitespace in C++

仅包含空白(可能带注释)的一行被称为空白行,C++ 编译器完全忽略它。

空白是在 C++ 中用于描述空白、制表符、换行符和注释的术语。空白将语句的一​​部分与另一部分分开,并使编译器能够识别语句中一个元素(如 int)的结尾和下一个元素的开头。

Statement 1

int age;

在上面的语句中,int 和 age 之间必须至少有一个空白字符(通常是空格),编译器才能区分它们。

Statement 2

fruit = apples + oranges;   // Get the total fruit

在上述语句 2 中,fruit 和 = 之间或 = 和 apples 之间不需要空白字符,但是如果你希望出于可读性目的,可以自由地包括一些。