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

文若2年前技术文章598

程序结构

首先从一个最简单的程序来看 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)


相关文章

Linux网络扫描和嗅探工具—Nmap

1、简介Nmap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。它由Fyodor编写并维护。由于Nmap品质卓越,使用灵活,它已经是渗透测试人员必备的工具。其基本功能有三个...

PromQL查询解析

一. 概述Prometheus除了存储数据外,还提供了一种强大的功能表达式语言 PromQL,允许用户实时选择和汇聚时间序列数据。表达式的结果可以在浏览器中显示为图形,也可以显示为表格数据,或者由外部...

SQL Server优化入门系列(四)——  找到Top SQL

SQL Server优化入门系列(四)—— 找到Top SQL

说明从会话信息中我们可以查看实例当前正在运行的SQL、当前被Block的SQL。但是如果要查看过去一段时间执行的SQL,我们有几个选择1、通过外部SQL审计平台记录所有SQL。2、通过SQL Serv...

HBase HBCK运维指南

HBase HBCK运维指南

HBase HBCK是HBase运维人员经常会用到的一个HBase运维工具,主要是用于检查 HBase region等元数据一致性以及修复的工具。目前HBCK工具有两个版本,本次主要介绍用于HBase...

分布式存储-GlusterFS

分布式存储-GlusterFS

一、分布式存储介绍我们知道NAS是远程通过网络共享目录, SAN是远程通过网络共享块设备。那么分布式存储你可以看作拥有多台存储服务器连接起来的存储输出端。把这多台存储服务器的存储合起来做成一个整体再通...

Redis Sentinel与Cluster安装部署(二)

3.2cluster部署1、在对应的机器,下载、解压redis #详见sentinel部署内相关命令 2、创建对应的文件目录   mkdir -p /usr/lcoal/redis5/clust...

发表评论    

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