【C++】基础知识--程序的结构(1)

news2024/11/19 2:44:00

C++简介:

C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。

C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。

C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。

注意:使用态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。

1.程序的结构:

学习编程语言的最好方法是编写程序。通常,初学者编写的第一个程序是一个名为“Hello World”的程序,它只是将“Hello World”打印到您的计算机屏幕上。虽然它非常简单,但它包含C++程序具有的所有基本组件:

// my first program in C++
#include <iostream>

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

第 1 行:// my first program in C++

两个斜杠符号表示该行的其余部分是程序员插入的注释,但对程序的行为没有影响。程序员使用它们来包含有关代码或程序的简短解释或观察。在这种情况下,它是程序的简短介绍性描述。

第 2 行:#include <iostream>
以哈希符号 () 开头的行是由所谓的预处理器读取和解释的指令。它们是在程序本身的编译开始之前解释的特殊行。在这种情况下, 指令 ,指示预处理器包含一段标准C++代码,称为标头iostream,允许执行标准输入和输出操作,例如将此程序()的输出写入屏幕。##include <iostream>Hello World

第 3 行:空行。

空行对程序没有影响。它们只是提高了代码的可读性。

第 4 行:int main ()

此行启动函数的声明。本质上,函数是一组被赋予名称的代码语句:在这种情况下,这为后面的代码语句组提供了名称“main”。函数将在后面的章节中详细讨论,但本质上,它们的定义是通过一系列类型(),名称()和一对括号()引入的,可以选择包括参数。

第 5 行和第 7 行:和{}

第 5 行的左大括号 () 表示 函数定义的开头,第 7 行的右大括号 () 表示其结束。这些大括号之间的所有内容都是函数的主体,它定义了调用时会发生什么。所有函数都使用大括号来指示其定义的开始和结束。{main}main

第 6 行:std::cout << "Hello World!";

这句话是一个C++语句。语句是实际上可以产生某种效果的表达式。它是程序的肉,指定其实际行为。语句的执行顺序与它们在函数主体中的出现顺序相同。

该语句分为三部分:第一,标识standard character输出设备(通常,这是计算机屏幕)。其次,插入运算符 (),表示后面的内容插入到 .最后,引号内的句子(“Hello world!”)是插入到标准输出中的内容。

2.该程序以不同的行结构并适当缩进,以使阅读它的人更容易理解。但是C++对缩进或如何在不同行中拆分指令没有严格的规定。例如:

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

可以写成:

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

3.现在,让我们在第一个程序中自己添加一些语句:

// my second program in C++
#include <iostream>

int main ()
{
  std::cout << "Hello World! ";
  std::cout << "I'm a C++";  //新加语句
}

输出:

4.源代码也可以分成更多的代码行:

int main ()
{
  std::cout <<
    "Hello World!";
  std::cout
    << "I'm a C++";
}

 结果将再次与前面的示例完全相同

5.C++支持两种注释代码的方式:

// line comment
/* block comment */

其中第一个称为行注释,丢弃从找到斜杠符号 的位置到同一行末尾的所有内容。第二个称为块注释,丢弃字符和字符首次出现之间的所有内容,并可能包含多行。

让我们为程序添加注释,例:

// my second program in C++
#include <iostream>

int main ()
{
  std::cout << "Hello World! ";  //第一个输出
  std::cout << "I'm a C++ program";  //第二个输出
  /*std::cout << "Hidden program";*/  //第三个输出,注释

}

6.命名空间标准:

为了引用命名空间中的元素,程序应该限定库元素的每次使用(正如我们通过前缀所做的那样),或者引入其组件的可见性。引入这些组件可见性的最典型方法是使用声明

using namespace std;

上面的声明允许以非限定方式(不带前缀)访问命名空间中的所有元素

例:

#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++";
}

为简单起见,并提高可读性。

@Neng

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Codeforces Round 873 (Div. 2) 题解

5.18晚VP&#xff0c;共AC三题&#xff0c;ABC题&#xff0c;感觉难度还是挺大的&#xff0c;做起来一点也不顺手。。。A题秒出&#xff0c;卡在了B题&#xff0c;在B题花费了好多时间&#xff0c;还没有C题做得顺利。。。B题开始想错了&#xff0c;思路不对&#xff0c;但确实…

LeetCode225.用队列实现栈

&#x1f4ad;前言&#xff1a; 建议本题和LeetCode232对比实现 syseptember的个人博客&#xff1a;LeetCode232.栈模拟队列http://t.csdn.cn/HCEDg 题目 思路 ❗注意&#xff1a;本题的逻辑结构是栈&#xff0c;物理结构是队列&#xff0c;我们需要通过2个队列模拟栈的操作。…

Doxygen源码分析:构建过程简介,并生成doxygen自身的C++文档

2023-05-19 11:52:17 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. doxygen 版本2. 找出所有的 CMakeLists.txt 和 *.cmake 文件3. cmake 构建目标清单4. 生成 Doxygen 自己的文档 1. doxygen 版本 zzLegion-R7000P% git log …

LabVIEWCompactRIO 开发指南23 Web服务

LabVIEWCompactRIO 开发指南23 Web服务 LabVIEW8.6中引入的LabVIEWWeb服务提供了一种开放的标准方式&#xff0c;可通过Web与VI进行通信。考虑一个部署在分布式系统中的LabVIEW应用程序。LabVIEW提供了网络流等功能来建立通信&#xff0c;但许多开发人员需要一种方式&#xf…

Cy7 NHS ester水溶性七甲川花菁染料标记活性脂477908-53-5

Sulfo-CY7 NHS ester是一种荧光标记试剂&#xff0c;可用于生物分子的荧光标记。它是一种水溶性的N-羟基琥珀酰亚胺酯化合物&#xff0c;具有强烈的荧光信号和高度稳定性。Sulfo-CY7 NHS ester的化学结构为C43H48N3NaO16S2&#xff0c;分子量约为968.98 g/mol。Sulfo-CY7 NHS e…

HTML5 新增的input 类型、新增的表单属性

新增的input 类型 属性值 说明 type"emall" 限制用户输入必须为Emall类型(邮箱) type"url"限制用户输入必须为URL类型(网址)type"dade"限制用户输入必须为日期类型type"time"限制用户输入必须为时间类型type"month"限…

2023年,企业数字化转型的大趋势

数字化转型&#xff08;DX&#xff09;一直是IT界的热门词汇&#xff0c;它会在组织规划中发挥更大的作用。因为完成数字化转型的组织&#xff0c;通常工作效率、生产力都会更高&#xff0c;运营成本也会降低。 一、自动化将为规范性指导提供动力 在过去十年里&#xff0c;数…

Redis数据类型-ZSet

一. 概述 SortedSet又叫zset&#xff0c;它是Redis提供的特殊数据类型&#xff0c;是一种特殊的set类型&#xff0c;继承了set不可重复的特点&#xff0c;并在set基础上为每个值添加一个分数&#xff0c;用来实现值的有序排列。 二. 常用指令 明白它的特点后&#xff0c;接下来…

OpenAI-whisper语音识别模型

1、whisper简介 Whisper是一个通用的语音识别模型。它是在不同音频的大型数据集上训练的&#xff0c;也是一个多任务模型&#xff0c;可以执行多语言语音识别、语音翻译和语言识别。 whisper有五种模型尺寸&#xff0c;提供速度和准确性的平衡&#xff0c;其中English-only模型…

使用 VS Code 快速搭建 ESP-IDF 开发环境 (Windows、Linux、MacOS)

ESP-IDF 是乐鑫官方的物联网开发框架&#xff0c;适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C 语言提供了一个自给自足的 SDK&#xff0c;方便用户在这些平台上开发通用应用程序&#xff0c;并集成了大量的软件组件&#xff0c;包括 RTOS、外设驱动程序、…

Flutter 桌面开发 | 键盘快捷键功能 - Shortcuts 组件

theme: cyanosis 在桌面端的开发中&#xff0c;键盘快捷键是非常常见而必要的&#xff0c;比如 Ctrl F 搜索&#xff0c; Ctrl C 复制等。Flutter 既然可以开发桌面端应用&#xff0c;那必然要提供自定义快捷键&#xff0c;触发事件的功能支持。这就是本节要介绍的 Shortcuts…

【5.19】三、白盒测试方法—程序插桩法

目录 3.2 程序插桩法 3.2.1 目标代码插桩 3.2.2 源代码插桩 小提示&#xff1a;HeisenBugs 黑盒测试和白盒测试的异同 3.2 程序插桩法 程序插桩法是一种被广泛使用的软件测试技术&#xff0c;由J.C.Huang教授提出。简单来说&#xff0c;程序插桩就是往被测试程序中插入测…

合肥工业大学计算机组成原理课设-系统硬件综合设计

✅作者简介&#xff1a;CSDN内容合伙人、信息安全专业在校大学生&#x1f3c6; &#x1f525;系列专栏 &#xff1a;信息安全本科生课设-系统硬件综合设计报告 &#x1f4c3;新人博主 &#xff1a;欢迎点赞收藏关注&#xff0c;会回访&#xff01; &#x1f4ac;舞台再大&#…

Varnish代理服务器

一.Varnish概述 1.Varnish 简介 Varnish是一款高性能且开源的反向代理服务器和HTTP加速器&#xff0c;其采用全新的软件体系机构&#xff0c;和现在的硬件体系紧密配合。与传统的squid相比&#xff0c;Varnish具有高性能、速度快、管理更加方便等优点&#xff0c;目前很多大型…

Python:如何基于滑动窗口进行气候因子间的相关系数分析?(逐像元)

目录 01 常规的相关系数简单说明 02 滑动窗口下的相关系数分析 最近处理一些气候因子的统计分析&#xff0c;遇到一些问题&#xff0c;记录一下。 01 常规的相关系数简单说明 在研究滑动窗口前&#xff0c;我们先来研究一下常规的相关系数分析&#xff0c;为了简化问题&…

《The Element of Style》阅读笔记 —— 章节 I Elementary Rules of Usage

前言&#xff1a;本科期间担任科研助理时&#xff0c;有幸从导师那里借来这本书通读&#xff0c;只记得自己当时在本子上做了一些笔记&#xff0c;但是想不起来具体记了什么&#x1f602;前段时间再次从学院的讲座活动中听闻这本书&#xff0c;决定重温一遍&#xff0c;本篇为此…

实验一 结构化分析与设计——数据流图DFD与模块结构图SC

一、实验目的&#xff1a; 掌握传统结构化分析方法中功能建模的基本思想&#xff0c;即数据流分析技术。数据流图DFD是软件系统的逻辑模型&#xff0c;描绘数据在系统中从输入到输出所经历的变换&#xff08;即加工处理&#xff09;。 同时&#xff0c;了解变换型和事务型数据…

Copernicus DEM 30 metre dataset now freely available01 December 2020

欧空局宣布,除2019年发布的哥白尼DEM 90米分辨率外,30米分辨率数据的访问权限现已延长,数据集对任何注册用户开放和免费。 自2019年以来,哥白尼方案配备了全球一致的高分辨率数字高程模型,供所有用户使用,以处理各种应用。 哥白尼DEM结合了平坦的水体、连贯的河流流、编…

外汇客户收支风险管理系统助力外汇业务便利化

外管局2019年开始发文推行跨境投资便利化政策&#xff0c;2023年商务部等17部门又发文支持贸易外汇收支便利化政策&#xff0c;从一个小范围试点政策&#xff0c;到各部委大力推广支持&#xff0c;银行业内重点推广&#xff0c;这3年间外汇业务便利化经历了什么&#xff1f; …

狂飙,ChatGPT 官方 iOS 版本应用上线

ChatGPT正式发布App&#xff0c;可在苹果应用商店下载&#xff0c;安卓版也不远了 在手机上也能玩ChatGPT了&#xff01;当地时间周四&#xff08;5月18日&#xff09;&#xff0c;人工智能研究公司OpenAI在官网宣布&#xff0c;其在美国推出了聊天机器人ChatGPT的iPhone应用&a…