【C++ Primer Plus】2.1 进入C++

代码示例

#include <iostream>					  //  a preprocessor directive  预处理器指令
int main () 						 // function header
{									// start of function body
	using  namespace std;			// make definitions visible
	cout << "hello!";				// message/statement
	cout << endl;					// start a new line
	cout << "how are you?"			// more output
	cin.get();						// keep windows opening
	return 0;						// terminate main()
}   								// end of function body

2.1.1 main()函数

int main()   			// 函数头  function heading
{						// 后面部分是函数体
	statements			// 每条完整的指令都称为语句,语句均以分好结束
	return 0;
}

函数头:描述的是函数与调用它的函数之间的接口

  • 函数名前的称为函数返回类型,描述从函数返回给调用它的函数的信息。
  • 函数名后()中的部分叫做形参列表(参数列表parameter list),形参可为空,用于描述从调用函数传递给被调用函数的信息;
  • int main() 的含义:main()函数可以给调用它的函数返回一个整数值,且不从调用它的函数
    那里获得任何信息;
  • main 函数:在c++程序中,通常从main函数开始执行,如果没有main ,程序将不完整,编译器将指出未定义main函数。

语句:要执行的操作
分号:终止符(terminator),告知编译器语句结束,是语句的组成部分

2.1.2 C++ 注释

注释:程序员为读者提供的说明,有助于他人或自己理解代码。

// 注释方法1,推荐

/*
	注释方法2
*/

2.1.3 C++预处理器和iostream文件

#include 预处理器编译指令

#include <iostream>	  //该编译指令导致预处理器将iostream文件的内容添加到程序中。

该编译指令导致iostream文件的内容源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行 #include<iostream>。原始文件没有被修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件。

2.1.4 头文件名

头文件(包含文件)——被包含在文件起始处
c语言头文件扩展名.h
c++ 头文件无扩展名 iostream
转换后的C 加上前缀c,没有扩展名cmath

2.1.5 名称空间

using  namespace std; // using 编译指令

在协同工作时,如果同一函数再不同协作方有不同的版本吗,可以使用using 编译指令指定说明采用哪一方的函数版本

Microflop::wanda ("go dancing?");     // use Microflop namespace version
Piscine::wanda("a fish named Desire"); // use Piscine namespace version

c++中类、函数和变量都被放置在命名空间std中。即cout 实际上是std::cout;如果在开始时省略using namespace std; 语句,后文使用时,可以采用一下形式,如std::cout << std::endl;std::cout << "hello.";这个using编译指令使得std名称空间中的所有名称都可用。

部分使用时,

using std::cout; 		// make cout available
using std::endl;  		// make endl available	
using std::cin; 		// make cin available

2.1.6 使用cout进行C++输出

cout << "hello!";	

双引号括起的部分是要打印的字符串;
<<符号表示该语句将把这个字符串发送给cout;该符号指出了信息流动的路径。
cout是一个预定义对象
在这里插入图片描述

cout << endl;

在输出流中插入endl将导致屏幕光标移到下一行开头。
endl 也是在头文件iostream中定义的,且位于名称空间std中。

\n  //换行符

对比
endl确保程序继续运行前刷新输出(将其立即显示在屏幕上);
而使用“\n”不能提供这样的保证,这意味着在有些系统中,有时可能在您输入信息后才会出现提示(光标移到下一行)。

2.1.7 C++ 源代码风格

遵循合理的风格,程序将更便于阅读。

  • 每条语句占一行
  • 每个函数都由一个开始花括号开始,一个花括号结束,这两个花括号各占一行
  • 函数中的语句都相对于花括号进行缩进
  • 与函数名称相关的圆括号周围没有空白

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态路由综合实验-RIP

一.要求 1、R1--R3地址为192.168.1.0/24:请合理分配 2、R3的环回为3.3.3.0/24&#xff0c;该网段不能在rip中宣告 3、整个网络使用RIPV2&#xff0c;全网可达&#xff0c;路由表汇总&#xff0c;防止环路&#xff0c;保障更新安全&#xff0c;加快收敛速度 网络拓扑结构&…

服务器感染了.DevicData-P-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒已成为网络安全威胁的一个严峻问题。其中&#xff0c;.DevicData-P-XXXXXXXX 勒索病毒以其恶意加密文件的手段引起了广泛关注。本文将介绍该病毒的特点、数据恢复方法以及如何预防遭受其攻击。 如不幸感染这个勒索病毒&…

workflow源码解析:ThreadTask

1、使用程序&#xff0c;一个简单的加法运算程序 #include <iostream> #include <workflow/WFTaskFactory.h> #include <errno.h>// 直接定义thread_task三要素 // 一个典型的后端程序由三个部分组成&#xff0c;并且完全独立开发。即&#xff1a;程序协议算…

【机器学习入门】机器学习基础概念与原理

*&#xff08;本篇文章旨在帮助新手了解机器学习的基础概念和原理&#xff0c;不深入讨论算法及核心公式&#xff09; 目录 一、机器学习概念 1、什么是机器学习&#xff1f; 2、常见机器学习算法和模型 3、使用Python编程语言进行机器学习实践 4、机器学习的应用领域 二…

Dokerfile

阅读目录 什么是dockerfile?Dockerfile的基本结构Dockerfile文件说明 什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker build命令用于从Dockerfile构建映…

Android studio RecyclerView 应用设计

一、创建empty activity项目: 二、打开activity_main.xml布局文件: 添加RecyclerView控件 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/…

Spring Boot - Application Events 同步 VS 异步 发布订阅事件实战

文章目录 PreCode基础工程启动类切入口事件 发布事件同步 Listener异步Listener增加EnableAsync增加 Async 测试 Pre Spring Boot - Application Events 的发布顺序_ApplicationStartingEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEv…

手机与电脑更改IP地址怎么使用代理IP?

在现代互联网时代&#xff0c;代理IP已成为许多人日常生活和工作中不可或缺的一部分。通过代理IP&#xff0c;用户可以隐藏自己的真实IP地址&#xff0c;并获得更好的网络体验。本文将详细介绍如何在手机和电脑上更改IP地址并使用代理IP。 一、手机使用代理IP 1. 打开手机设置&…

目标检测DETR:End-to-End Object Detection with Transformers

NMS 对一个目标生成了多个检测窗口&#xff0c;但是事实上这些窗口中大部分内容都是重复的&#xff0c;找到目标检测最优的窗口 选取多个检测窗口中分数最高的窗口&#xff0c;剔除掉其他同类型的窗口 anchor generator 首先在该点生成scale512, aspect ratio{1:2&#xff…

第10章 通信业务

文章目录 10.1.1 通信行业1、通信行业的界定2、通信行业的特点 10.1.2 通信企业10.1.3 通信终端1、通信终端的分类2、终端发展趋势 10.2.1 通信业务的定义及分类10.2.2 基础电信业务1、第一类基础电信业务A11 固定通信业务A12 蜂窝移动通信业务A13 第一类卫星通信业务A14 第一类…

uni-app购物车页面详细代码

效果图&#xff1a; 这里的购物车加减用的是uni-app中的sku插件 代码附下&#xff08;全&#xff09;&#xff1a; <script setup lang"ts"> import {reqMemberCartList,reqMemberdelentCart,reqMemberPutCart,putMemberCartSelectedAPI, } from /services/…

go语言初探(一)

package mainimport ("fmt""time" )func main() {fmt.Print("hello go!")time.Sleep(1 * time.Second)}运行后&#xff0c;结果如下&#xff1a; 1、golang表达式中&#xff0c;加&#xff1b;和不加&#xff1b;都可以 2、函数的{和函数名一…

解决com.alibaba.fastjson.JSONException: default constructor not found的问题

1.问题描述 在进行JSON和对象互转时&#xff0c;发现有个报错&#xff1a; com.alibaba.fastjson.JSONException: default constructor not found. class com.hellobike.ph.match.service.taxi.model.message.DelayAddSkuMsg 2.原因和解决方案 通过其提示可以看出在利用fastJ…

【RTOS】快速体验FreeRTOS所有常用API(7)任务通知

目录 七、任务通知7.1 基本概念7.2 发出通知7.3 等待通知7.4 实例 七、任务通知 该部分在上份代码基础上修改得来&#xff0c;代码下载链接&#xff1a; https://wwzr.lanzout.com/i4Efu1la39wh 密码:cbvx 该代码尽量做到最简&#xff0c;不添加多余的、不规范的代码。 内容主要…

白码ERP快速实现库存不足时自动生成采购单功能

创建生产订单时&#xff0c;系统自动根据产品所需物料库存是否充足&#xff0c;如有物料库存不足&#xff0c;自动生成对应的采购订单&#xff1b; 前期准备&#xff1a; 需创建产品、物料、BOM、生产订单、生产订单明细、需求物料、采购订单、采购订单明细数据表&#xff0c…

如何查看centos7中dataease的安装位置

在 CentOS 7 中查找 DataEase 的安装位置&#xff0c;可以通过以下步骤进行&#xff1a; 检查服务状态&#xff1a; 如果 DataEase 作为服务运行&#xff0c;您可以使用 systemctl 命令来查看服务的状态&#xff0c;这通常会显示相关的路径信息。例如&#xff1a; systemctl st…

开发企业微信中的内嵌h5时如何开发与调试

前言&#xff1a; 在我们的项目中&#xff0c;开发企业微信内部的项目的话&#xff0c;分为两种&#xff0c;1种是直接开发企业微信的小程序&#xff0c;另一种则是企业微信内嵌我们的H5界面&#xff0c;我们这里讲一讲企业微信内嵌h5的方法与注意点。 1、开发h5项目 这点没有…

文件操作一(非常重要)

文件操作一&#xff08;非常重要&#xff09; 一、为什么使用文件&#xff1f;二、什么是文件&#xff1f;三、文件名(简单理解)四、二进制文件和文本文件&#xff08;重要&#xff09;五、流的概念&#xff08;非常重要&#xff09;六、文件的打开和关闭七、文件的顺序读写函数…

C++I/O流——(2)预定义格式的输入/输出(第二节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

安达发|APS工序排程甘特图功能介绍

工序排程甘特图的主要功能 1. 显示工序时间安排&#xff1a;工序排程甘特图可以清晰地展示生产过程中各个工序的开始时间、结束时间和持续时间&#xff0c;从而帮助企业了解生产过程中各个环节的时间安排。 2. 显示工序进度情况&#xff1a;通过工序排程甘特图&#xff0c;企业…