C++ 编程:程序组成部分 & 函数 & 输入

文若2年前技术文章663

程序结构

首先从一个最简单的程序来看 C++ 程序结构:

截屏2023-06-09 14.53.09.png

第一部分:#include <iostream> 专业名词叫:预处理器编译指令 其实效果就类似于导包;

第二部分:main() 程序的主体 C++ 程序是从这里开始运行,调用其它功能函数;

第三部分:std::cout << "Hello World" << std::endl; 程序的功能,这行就是输出 Hello Word;

第四部分:return 0 在 C++ 中,除非明确声明了不返回值,否则函数必须返回一个值。main( ) 也是函数,且总是返回 一个整数。这个整数值被返回给操作系统,根据应用程序的性质,这可能很有用,因为大多数操作系 统都提供了查询功能,让用户能够获悉正常终止的应用程序的返回值。在很多情况下,一个应用程序被 另一个应用程序启动,而父应用程序(启动者)想知道子应用程序(被启动者)是否成功地完成了其任务。程序员可使用 main( )的返回值向父应用程序传递成功或错误状态。也就是说我们可以通过反回 code 让其它程序获得程序的运行情况,例如我们使用 Python 来调用系统 mv 程序,此时我们可以返回的 code 来判断程序是否出现异常。

截屏2023-06-09 14.53.18.png


命名空间

名称空间的概念,请看下方代码示例:

// Pre-processor directive
#include <iostream>

// Start of your program
int main()
{
  // Tell the compiler what namespace to look in
  using namespace std;

  /* Write to the screen using cout */
  cout << "Hello World" << endl;

  // Return a value to the OS
  return 0;
}

using namespace std; 这个可以理解为 Python 中的 from xxx import xxx

函数

函数定义也是比较简单的,首先你得先确定返回的数据类型,返回的数据必须是该类型。

#include <iostream>
using namespace std;

// Function declaration
int DemoConsoleOutput();

int main()
{
  // Function call
DemoConsoleOutput();

return 0;
}

// Function definition
int DemoConsoleOutput()
{
cout << "This is a simple string literal" << endl;
cout << "Writing number five: " << 5 << endl;
cout << "Performing division 10 / 5 = " << 10 / 5 << endl;
cout << "Pi when approximated is 22 / 7 = " << 22 / 7 << endl;
cout << "Pi actually is 22 / 7 = " << 22.0 / 7 << endl;

return 0;
}

上方 Code 就是一个非常简单的函数调用。

## 输入 与 输出:

#include <iostream>

using namespace std;

int input_df() {
   int InputNumber1;
   cout << "第一个数: ";
   cin >> InputNumber1;

int InputNumber2;
   cout << "第二个数: ";
   cin >> InputNumber2;

   cout << "return: " << InputNumber1 * InputNumber2 << endl;
   return 0;
}

int main() {
   std::cout << "Hello Word\n";
   input_df();
   return 0;
}

要将简单的文本数据写入到控制台,可使用 std::cout(读作 standard see-out);要从控制台读取文 本和数字,可使用 std::cin(读作 standard see-in)


相关文章

开源大数据集群部署(十八)Hive 安装部署

开源大数据集群部署(十八)Hive 安装部署

2.7.1创建hive Kerberos主体bash /root/bigdata/getkeytabs.sh /etc/security/keytab/hive.keytab hive2.7.2 安装...

Prometheus集成pushgateway监控k8s集群

Prometheus集成pushgateway监控k8s集群

Prometheus部署环境介绍本文的k8s环境是通过二进制方式搭建的v1.20.13版本清单准备注意集群版本的坑,自己先到Github上下载对应的版本。注意: 集群版本在v1.21.x之前需要注意下...

数据湖技术之iceberg(八)Spark与Iceberg整合DDL操作

数据湖技术之iceberg(八)Spark与Iceberg整合DDL操作

1.CREATE TABLE 创建表Create table 创建Iceberg表,创建表不仅可以创建普通表还可以创建分区表,再向分区表中插入一批数据时,必须对数据中分区列进行排序,否则会出现文件关闭...

REPMGR-PG高可用搭建(二)

REPMGR-PG高可用搭建(二)

REPMGR搭建步骤一、介绍repmgr是第二象限开源的一套流复制集群管理工具,用于管理PostgreSQL服务器群集中的复制和故障转移。 支持故障自动转移和手动切换;支持分布式管理集群节点,易扩展,...

MongoDB的WiredTiger存储引擎

从MongoDB 3.2 开始,MongoDB实例默认的存储引擎为WiredTiger,WiredTiger存储引擎具体以下几大优点:文档级并发将数据持久化到磁盘快照和checkpoint数据压缩本地...

数仓主流架构简介之二

数仓主流架构简介之二

一、流批一体数据批流一体是一种云计算架构模式,它结合了批处理和流处理的特点,以实现更高效、灵活和可扩展的数据处理能力。在这种模式下,数据可以同时进行批处理和流处理,以满足不同场景下的需求流批一体:是指...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。