C++ 基本语法


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

  • 对象- 对象具有状态和Behave。示例:狗有状态 - 颜色、名称、品种以及Behave - 摇摆、吠叫、进食。对象是类的实例。

  • - 类可以定义为模板/蓝图,描述其类型的对象支持的Behave/状态。

  • 方法- 方法基本上是一种Behave。一个类可以包含许多方法。在方法中编写逻辑、操作数据并执行所有操作。

  • 实例变量- 每个对象都有其唯一的实例变量集。对象的状态是由分配给这些实例变量的值创建的。

C++程序结构

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

#include <iostream>
using namespace std;

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

让我们看看上面程序的各个部分 -

  • C++ 语言定义了多个标头,其中包含对程序必需或有用的信息。对于这个程序,需要头<iostream> 。

  • 使用命名空间 std 的行告诉编译器使用 std 命名空间。命名空间是 C++ 中相对较新的补充。

  • 下一行' // main() 是程序执行开始的地方。' 是 C++ 中可用的单行注释。单行注释以 // 开始,到行尾停止。

  • int main()行是程序开始执行的主函数。

  • 下一行cout << "Hello World"; 导致屏幕上显示消息“Hello World”。

  • 下一行返回0;终止 main() 函数并使其返回值 0 给调用进程。

编译并执行C++程序

我们来看看如何保存文件、编译和运行程序。请按照以下步骤操作 -

  • 打开文本编辑器并添加上面的代码。

  • 将文件另存为:hello.cpp

  • 打开命令提示符并转到保存文件的目录。

  • 输入“g++ hello.cpp”并按 Enter 编译代码。如果代码中没有错误,命令提示符将带您进入下一行并生成 .out 可执行文件。

  • 现在,输入“a.out”来运行您的程序。

  • 您将能够看到窗口上印有“Hello World”。

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

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

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

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++ 标识符

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

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

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

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

C++ 关键字

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

汇编 别的 新的
汽车 枚举 操作员
布尔值 明确的 私人的 真的
休息 出口 受保护的 尝试
案件 外部的 民众 类型定义
抓住 错误的 登记 类型ID
字符 漂浮 重新解释_cast 类型名
班级 为了 返回 联盟
常量 朋友 短的 未签名
常量类型转换 使用
继续 如果 大小 虚拟的
默认 排队 静止的 空白
删除 整数 静态类型转换 易挥发的
长的 结构体 wchar_t
双倍的 可变的 转变 尽管
动态转换 名称空间 模板  

三字母组

一些字符有另一种表示形式,称为三字母序列。三字符组是表示单个字符的三字符序列,并且该序列始终以两个问号开头。

三字母组会在出现的任何地方展开,包括在字符串文字和字符文字中、在注释中以及在预处理器指令中。

以下是最常用的三字母序列 -

三字图 替代品
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??-

所有编译器都不支持三字母组,并且由于其令人困惑的性质,不建议使用它们。

C++ 中的空白

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

空白是 C++ 中用来描述空白、制表符、换行符和注释的术语。空格将语句的一部分与另一部分分隔开,并使编译器能够识别语句中一个元素(例如 int)的结束位置和下一个元素的开始位置。

声明1

int age;

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

声明2

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

在上面的语句 2 中,水果和 = 之间或 = 和苹果之间不需要空格字符,但如果您希望出于可读性目的,可以自由地包含一些空格字符。