深入理解 C++ 语法:从基础知识到高级应用

C++ 语法

让我们将以下代码分解以更好地理解它:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

示例解释

  • 第 1 行:#include <iostream> 是一个头文件库,它让我们可以使用输入和输出对象,比如 cout(在第 5 行使用)。头文件为 C++ 程序添加功能。
  • 第 2 行:using namespace std 表示我们可以使用标准库中的对象和变量名称。
  • 如果你不理解 #include <iostream>using namespace std 如何工作,不用担心。只需将其视为几乎总是出现在你的程序中的内容。
  • 第 3 行:空白行。C++ 忽略空白字符。但我们使用它来使代码更易读。
  • 第 4 行:C++ 程序中的另一个几乎总是出现的东西是 int main()。这被称为一个函数。其花括号 {} 内的任何代码都将被执行。
  • 第 5 行:cout(读作 "see-out")是一个对象,与插入运算符 << 一起用于输出/打印文本。在我们的示例中,它将输出 "Hello World!"。
    • 注意:每个 C++ 语句都以分号 ; 结束。
    • 注意:int main() 的主体也可以写成:int main() { cout << "Hello World! "; return 0; }。记住:编译器会忽略空格。但是,多行使代码更易读。
  • 第 6 行:return 0 结束了 main 函数。
  • 第 7 行:不要忘记添加闭合花括号 } 来实际结束 main 函数。

省略命名空间

你可能会看到一些 C++ 程序在没有标准命名空间库的情况下运行。可以省略 using namespace std 行,并用 std 关键字替换它,后跟 :: 运算符来使用一些对象:

示例

cpp 复制代码
#include <iostream>

int main() {
  std::cout << "Hello World!";
  return 0;
}

是否包含标准命名空间库取决于你。

C++ 输出(打印文本)

cout 对象与 << 运算符一起用于输出值/打印文本:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

你可以添加任意多个 cout 对象。但是请注意,它不会在输出的末尾插入新行:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  cout << "I am learning C++";
  return 0;
}

新行

要插入一个新行,你可以使用 \n 字符:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World! \n";
  cout << "I am learning C++";
  return 0;
}

提示:连续两个 \n 字符会创建一个空白行:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World! \n\n";
  cout << "I am learning C++";
  return 0;
}

另一种插入新行的方法是使用 endl 操纵符:

示例

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!" << endl;
  cout << "I am learning C++";
  return 0;
}

\nendl 都用于换行。然而,\n 最常用。

但是,\n 究竟是什么?

换行字符 (\n) 被称为转义序列,它强制光标将其位置更改为屏幕上下一行的开头。这将导致换行。

其他有效的转义序列示例包括:

转义序列 描述 示例
\t 创建一个水平制表符
\\ 插入一个反斜杠字符 ()
\" 插入双引号字符

C++ 注释

注释可用于解释 C++ 代码,并使其更易读。它还可以用于在测试替代代码时防止执行。注释可以是单行或多行。

单行注释

单行注释以两个正斜杠开始 (//)。

// 和行末之间的任何文本都将被编译器忽略(不会执行)。

此示例在代码行之前使用了单行注释:

示例

cpp 复制代码
// This is a comment
cout << "Hello World!";

此示例在代码行末尾使用了单行注释:

示例

cpp 复制代码
cout << "Hello World!"; // This is a comment

C++ 多行注释

多行注释以 /* 开始,以 */ 结束。

/**/ 之间的任何文本都将被编译器忽略:

示例

cpp 复制代码
/* 以下代码将在屏幕上打印 Hello World!
并且这太棒了 */
cout << "Hello World!";

单行或多行注释?

你可以自己决定使用哪种。通常,我们用 // 来进行短注释,用 /* */ 来进行长注释。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关推荐
阿i索几秒前
【蓝桥杯备赛Day3】——STL
开发语言·c++
白衣鸽子1 分钟前
Java 异常:异常类型和异常捕获原理
后端
茶杯梦轩2 分钟前
面试常问:TCP与HTTP的Keep-Alive机制大揭秘
服务器·网络协议·面试
17(无规则自律)4 分钟前
C++ 链表修炼指南
数据结构·c++·算法·leetcode·链表
zjjsctcdl5 分钟前
Spring之FactoryBean详解
java·后端·spring
闻缺陷则喜何志丹6 分钟前
【字典树 回溯】P7210 [COCI 2020/2021 #3] Vlak|普及+
c++·算法·字典树·回溯·洛谷
Vect__6 分钟前
深刻理解C++STL库常见容器功能和底层
开发语言·c++
夏玉林的学习之路7 分钟前
委托构造和using关键字
开发语言·c++·算法
Moment8 分钟前
2026 年 Next.js 站点的 SEO 优化指南
前端·javascript·面试
历程里程碑10 分钟前
Linux 46 HTTPS(协议原理)安全通信全流程解析
linux·网络·c++·网络协议·http·https·排序算法