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

这篇具有很好参考价值的文章主要介绍了深入理解 C++ 语法:从基础知识到高级应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C++ 语法

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

示例

#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 关键字替换它,后跟 :: 运算符来使用一些对象:

示例

#include <iostream>

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

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

C++ 输出(打印文本)

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

示例

#include <iostream>
using namespace std;

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

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

示例

#include <iostream>
using namespace std;

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

新行

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

示例

#include <iostream>
using namespace std;

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

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

示例

#include <iostream>
using namespace std;

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

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

示例

#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++ 代码,并使其更易读。它还可以用于在测试替代代码时防止执行。注释可以是单行或多行。

单行注释

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

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

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

示例

// This is a comment
cout << "Hello World!";

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

示例

cout << "Hello World!"; // This is a comment

C++ 多行注释

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

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

示例

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

单行或多行注释?

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

最后

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

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

看完如果觉得有帮助,欢迎点赞、收藏、关注文章来源地址https://www.toymoban.com/news/detail-842555.html

到了这里,关于深入理解 C++ 语法:从基础知识到高级应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):基础知识

    分类目录:《深入理解深度学习》总目录 相关文章: · BERT(Bidirectional Encoder Representations from Transformers):基础知识 · BERT(Bidirectional Encoder Representations from Transformers):BERT的结构 · BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model) · BERT(Bidirect

    2024年02月11日
    浏览(43)
  • 深入理解深度学习——GPT(Generative Pre-Trained Transformer):基础知识

    分类目录:《深入理解深度学习》总目录 相关文章: · GPT(Generative Pre-Trained Transformer):基础知识 · GPT(Generative Pre-Trained Transformer):在不同任务中使用GPT · GPT(Generative Pre-Trained Transformer):GPT-2与Zero-shot Learning · GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

    2024年02月10日
    浏览(53)
  • 【STM32】基础知识 第十四课 串口通信: 深入探究与应用

    在嵌入式系统中, 串口通信是一种常见的通信方式, 特别是在单片机领域. STM32 系列单片机提供了强大的串口 (UART) 功能, 可支持多种通信模式. 今天小白将带领大家深入探讨 STM32 的串口通信, 包括其基本原理, 配置方法, 中断处理及实际应用示例. 串口通信 (Serial Communication) 是一

    2024年02月15日
    浏览(35)
  • 深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性

    Harmony OS应用开发的主力语言ArkTS的前身TS语言的基本语法。通过学习变量的声明和数据类型、条件控制、函数声明、循环迭代等基本知识,并了解内核接口的声明和使用。同时还介绍了模块化开发的概念,提高代码的复用性和开发效率。该对话还涉及了if else和switch条件控制语

    2024年02月04日
    浏览(43)
  • Elasticsearch的基础知识和架构设计,以及一些常用的功能——面向对象编程和数据结构的高级应用场景,以及相应的代码实现方法和工具

    作者:禅与计算机程序设计艺术 2019年,Elasticsearch正式发布了7.0版本。在这个版本更新中,新增了许多新特性和功能,包括全文搜索、分类聚合、分析器、图形化数据可视化等。无论对于企业或个人来说,都意味着更好的应用场景。但是,掌握Elasticsearch并非易事,需要不断学

    2024年02月07日
    浏览(46)
  • 【C++】继承基础知识及简单应用,使用reportSingleClassLayout(在Visual Studio开发人员命令提示窗口)查看派生类详细信息

    author:Carlton tag:C++ topic:【C++】继承基础知识及简单应用,使用reportSingleClassLayout(在Visual Studio开发人员命令提示窗口)查看派生类详细信息 website:黑马程序员C++ date:2023年7月22日 目录 概要 继承规则 对象模型 构造析构顺序 同名与静态同名成员 多继承 菱形继承 VS开发人

    2024年02月16日
    浏览(47)
  • Python基础知识大全(适用于全面复习Python语法知识)

    python属于解释型语言 源代码(python)-解释器(逐行解释每一句源代码)-操作系统-cpu java属于编译型语言 源代码(java)-编译器-可执行文件-操作系统-cpu 容易混淆的几种表现形式 元组( ) 和列表[ ] 类似 只是元组不可以修改 这两个有点类似于C语言中的数组 集合 唯一{ } 和字典类似 只

    2024年02月02日
    浏览(41)
  • 1-python的基础语法补充知识

    python 是一个脚本语言,所以在执行的时候,可以在python执行命令后加参数进行执行python脚本文件。 这就是python的命令行参数,之前这个地方一直有点模糊。 标识符由字母、数字、下划线组成,但是不能以数字开头,区分大小写 以下划线开头的标识符是有特殊意义的 : 以单

    2024年02月07日
    浏览(41)
  • 高级篇十三、事务基础知识

    事务是数据库区别文件系统的重要特性之一,当我们有了事务会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统的崩溃而丢失! 1.1 存储引擎支持情况 SHOW ENGINES 命令来查看当前 MySQL 支持的存储引

    2024年02月04日
    浏览(27)
  • TypeScript基础知识:高级数据类型

            TypeScript 是一种静态类型检查的 JavaScript 超集,它提供了许多强大的高级数据类型,可以帮助我们更好地定义和操作数据。本文将深入介绍 TypeScript 的高级数据类型,包括交叉类型、联合类型和映射类型,并通过示例代码演示它们的用法和优势。         交叉

    2024年01月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包