文章目录
- 语句和程序的结构
- 对象和变量
- 变量赋值和初始化
- cout、cin 和 endl
语句和程序的结构
语句
语句是迄今为止 C++ 程序中最常见的指令类型。这是因为它们是 C++ 语言中最小的独立计算单元。在这方面,它们的行为很像自然语言中的句子。
C++ 中的大多数(但不是全部)语句都以分号结尾。如果您看到以分号结尾的行,则它可能是一个语句。
在 C++ 中,语句通常分组为称为函数的单元。函数是按顺序(从上到下)执行的语句集合。
剖析 Hello world
#include <iostream>
int main()
{
std::cout << "Hello world!";
return 0;
}
- 第 1 行称为预处理器指令。此预处理器指令指示使用库的内容,该库是 C++ 标准库的一部分,允许从控制台读取和写入文本。
- 第 2 行告诉编译器,我们将编写(定义)一个名称(标识符)为 的函数。如上所述,每个 C++ 程序都必须有一个函数,否则它将无法链接。
- 第 3 行和第 6 行告诉编译器哪些行是 main 函数的一部分。第 4 行的左大括号和第 7 行的右大括号之间的所有内容都被视为函数的一部分。这称为函数体。
- 第 5 行是函数中的第一个语句,也是我们运行程序时将执行的第一个语句。 此语句创建程序的可见输出。
- 第 6 行是返回语句。当可执行程序完成运行时,该程序会向操作系统发送一个值,以指示它是否成功运行。
对象和变量
对象
在 C++ 中,不建议直接访问内存。相反,我们通过一个对象间接访问内存。对象是可以存储值的存储区域(通常是内存),并具有其他相关属性。
这意味着我们可以专注于使用对象来存储和检索值,而不必担心这些对象实际上被放置在内存中的哪个位置。
变量
尽管 C++ 中的对象可以是未命名的(匿名),但更多时候我们使用标识符来命名对象。具有名称的对象称为变量。
对象用于在内存中存储值。变量是具有名称(标识符)的对象。
变量赋值和初始化
变量赋值
定义变量后,可以使用 = 运算符
为其指定一个值(在单独的语句中)。此过程称为赋值,= 运算符称为赋值运算符
int width = 5;
初始化
在 C++ 中初始化变量有 6 种基本方法:
int a; // 默认初始化
int b = 5; // 赋值初始化
int c( 6 ); // 直接初始化
// 列表初始化方法(c++ 11)(首选)
int d { 7 };
int e = { 8 };
int f {};
属性
[[maybe_unused]]
C++17 引入了属性,它允许我们告诉编译器我们可以接受未使用的变量。编译器不会为此类变量生成未使用的变量警告。
int main()
{
//这些变量不会产生未使用的变量警告
[[maybe_unused]] double pi { 3.14159 };
[[maybe_unused]] double gravity { 9.8 };
[[maybe_unused]] double phi { 1.61803 };
return 0;
}
cout、cin 和 endl
输入/输出库(io 库)是处理基本输入和输出的 C++ 标准库的一部分。我们将使用此库中的功能从键盘获取输入并将数据输出到控制台。iostream 的 io 部分代表输入/输出。
若要使用 iostream 库中定义的功能,我们需要在使用 iostream 中定义的内容的任何代码文件的顶部包含 iostream 标头,如下所示:
#include <iostream>
// 下面是使用iostream功能的代码
std::cout
std::cout
,它允许我们将数据发送到控制台以打印为文本。Cout 代表“字符输出”。
#include <iostream>
int main()
{
std::cout << "Hello world!";
int x{ 5 };
std::cout << x;
std::cout << "x is equal to: " << x;
std::cout << "Hello" << " world!";
return 0;
}
std::cin
std::cin
是在库中定义的另一个预定义变量。而使用插入运算符 () 将数据打印到控制台(代表“字符输入”),则使用提取运算符 (>>) 从键盘读取输入。输入必须存储在要使用的变量中。
#include <iostream>
int main()
{
std::cout << "Enter a number: ";
int x{}; // 定义变量x来保存用户输入(并对其进行值初始化)
std::cin >> x; //从键盘中获取数字并将其存储在变量x中
std::cout << "You entered " << x << '\n';
return 0;
}
std::endl
使用 std::cout
输出时,std::endl
将换行符打印到控制台(使光标转到下一行的开头)。
#include <iostream> // for std::cout and std::endl
int main()
{
std::cout << "Hi!" << std::endl; // std::endl 会导致光标移动到控制台的下一行
std::cout << "My name is Alex." << std::endl;
return 0;
}