C++ 基本语法
当我们考虑一个 C++ 程序时,它可以被定义为通过调用彼此的方法进行相互通信的对象的集合。现在让我们简要地了解一下类、对象、方法和实例变量的含义。
- 对象 - 对象具有状态和行为。例如:一只狗有状态-颜色、名字、品种,以及行为-摇尾巴、吠叫、吃东西。对象是类的一个实例。
-
类 - 类可以被定义为描述其类型的对象所支持的行为/状态的模板/蓝图。
-
方法 - 方法基本上就是一种行为。一个类可以包含许多方法。方法是编写逻辑、操作数据和执行所有动作的地方。
-
实例变量 - 每个对象都有其独特的一组实例变量。通过为这些实例变量分配值来创建对象的状态。
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>。
-
行 using namespace std; 告诉编译器使用std命名空间。命名空间是C++中相对较新的一个功能。
-
下一行的注释 // main() is where program execution begins. 是C++中的一个单行注释。单行注释以//开头,到行尾结束。
-
行 int main() 是程序开始执行的主函数。
-
下一行 cout << “Hello World”;会将消息”Hello World”显示在屏幕上。
-
下一行 return 0; 终止main()函数,并使其返回值0给调用过程。
编译和执行C++程序
让我们看看如何保存文件,编译并运行程序。请按照以下步骤进行:
- 打开文本编辑器并添加上面的代码。
-
将文件保存为:hello.cpp
-
打开命令提示符并转到您保存文件的目录。
-
键入’g++ hello.cpp’并按Enter键编译代码。如果代码没有错误,命令提示符会进入下一行,并生成可执行文件a.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 ++是区分大小写的编程语言。因此, Manpower 和 manpower 在C ++中是两个不同的标识符。
以下是一些可接受的标识符示例−
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
C++ 关键字
下面的列表显示了在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 |
三字符
一些字符有一个叫做三字符序列的替代表示法。三字符是一个由三个字符组成的序列,表示一个字符,这个序列总是以两个问号开头。
无论在字符串文字和字符文字中,在注释中和预处理指令中,所有出现的地方都会扩展三字符。
以下是最常使用的三字符序列 –
Trigraph | Replacement |
---|---|
??= |
# |
??/ |
\ |
??' |
^ |
??( |
[ |
??) |
] |
??! |
| |
??< |
{ |
??> |
} |
??- |
~ |
所有编译器都不支持三字符序列,也不建议使用,因为它们容易引起混淆。
C++中的空白符
只包含空白符(可能带有注释)的一行称为空白行,C++编译器完全忽略它。
空白符是C++中用来描述空格、制表符、换行符和注释的术语。空白符将语句的不同部分分隔开,并使编译器能够识别语句中的元素(如int)在何处结束,下一个元素从何处开始。
语句1
int age;
在上述语句中,int和age之间必须至少有一个空白字符(通常为一个空格),以便编译器能够区分它们。
语句2
fruit = apples + oranges; // Get the total fruit
在上述语句2中,不需要在fruit和=之间或=和apples之间添加空白字符,尽管你可以自由选择一些以增加可读性。