C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符

重载输入cin和输出cout运算符 1.C++中重载输入cin和输出cout运算符 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)。如果自己定义了一种新的数据类... 阅读详情

C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符



第一个C++程序:输出一行文本

// 文本打印程序
#include <iostream> // 包含该头文件程序才能将数据输出到屏幕上

// main函数是程序执行起始位置
int main()
{
	// 输出信息
	std::cout << "This is a sample of cout\n";

	// 指明程序执行成功
	return 0;
} // main函数调用结束

std命名空间
可能有些从注意到了,在输出语句中的cout前面还有一个std::。这里标准输出流cout前面的std::是不能省略的,它表明cout是命名空间std中的一个名字;标准输入流cin和标准错误流cerr都是属于这个命名空间;

如果在以后的代码中,每个cout、cin、cerr此类的名字前面都需要加上一个std::这样是非常麻烦的,但是它们是无法省略的,所以有另一种方法,使得可以直接使用这些名字——using声明和using指令;

流插入运算符和转义字符
<<是流插入运算符。当程序执行时,运行符右边的值被插入到输出流中。注意运算符指向数据流动的方向(字符串流入输出流cout中)。注意在这个字符串中包含了一个\n,它并不会被输出。\是转义字符,它表明这是一个特殊字符;

转义作用
\n换行符。将屏幕光标定位到下一行的开始处。
\t水平制表符。将屏幕光标定位到下一个制表位置
\r回车符。将屏幕光标定位到当前行的开始处。
\a响铃符。系统开始发出响铃声。
\\反斜线符号。用于输出一个反斜线。
\’单引号。用于输出一个单引号。
\"双引号。用于输出一个双引号。

返回语句
这里的return语句表示函数结束。与C语言不同,根据C++的标准,如果程序执行到main的末尾但没有遇到return语句,也会认为程序成功的终止,就像遇到了return 0;一样。

std::cout << "This a sample ";
std::cout << "of cout\n";

这段代码输出结果与之前的代码相同,所以每个流插入都会在上一个流插入停止输出的地方开始继续插入输出。这段代码在输出了第一个字符串之后,第二行的流输出语句,会继续在sample后面的空格之后输出of cout;

同样的流输入语句cin和cout的使用相同不过它使用的是流提取运算符>>,运算符的指向同样表明了数据的流动方向(从标准输入cin流动到变量中);注意这里不需要像scanf函数一样使用指针来接收,也不需要指定接收数据的格式;

#include <iostream>

// 计算两个数之和
int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;

	// 从键盘中接收两个int类型的数据
	std::cout << "Enter first number:>";
	std::cin >> a;
	std::cout << "Enter second number:>";
	std::cin >> b;
	// 计算两数之和
	sum = a + b;

	// 输出计算结果
	std::cout << "sum = " << sum << std::endl;
}

在最后的std::cout语句中,出现了一个std::endl。它是一个流操纵符,名称endl是end line的缩写,它也属于名字空间std。这个流操纵符输出一个换行符,然后“刷新输出缓冲”。缓冲区是文件管理系统的一个组成部分,可以分为输入缓冲区和输出缓冲区,数据在进入流之后并不是直接就传送给内存/硬盘,而是会先传输到缓冲区,直到缓冲区填满里面的数据都会流入下一个地方。这里使用endl就可以强制将缓冲区中的内容输出,不管是否填满。

std::cout << "sum = " << sum << std::endl;这行代码中,输出了多个不同类型的值。这就代表流插入运算符<<知道如何输出每种类型的数据。在单条语句中使用多个<<称为连接、链接或串联的流插入运算符。

算术运算

C++运算C++算术操作符使用示例
加法+3 + 7
减法-5 - 2
乘法*2 * 5
除法/4 / 2
取模%5 % 2

使用示例:

#include <iostream>
using namespace std;

int main()
{
	// 整数除法
	int num1 = 0;
	int num2 = 0;
	// 提示输入两个操作数
	cout << "Enter Two number fot divide:>";
	cin >> num1 >> num2;

	// 计算整数除法
	cout << "ret = " << num1 / num2 << endl;

	// 浮点数除法
	float fnum1 = 0;
	float fnum2 = 0;
	// 提示输入两个操作数
	cout << "Enter Two number fot divide:>";
	cin >> fnum1 >> fnum2;

	// 计算整数除法
	cout << "ret = " << fnum1 / fnum2 << endl;
}

注意:
除法是被分为整数除法和浮点数除法两种;

  • 整数除法,计算结果的小数部分直接截去;
  • 浮点数除法,计算结果包含小数部分;

上面代码的运行结果:
在这里插入图片描述

同时,大家可以注意到上面代码中,使用cout输出数据时,并没有在前面指明它的命名空间,这是因为使用using声明。using namespace std这条语句使得程序可以使用它包含的任何标准C++头文件中的所有名字。

除了上面的方法之外,还可以对每个要使用的名字进行声明,如:using std::cout、using std::cin等。

C++输入&输出 基于标准库的流 I/O 是 C++ 推荐的 I/O 方式,它具有类型安全、可扩展性好等优点。传统的 C 风格 I/O 需要与 C 代码兼容或对性能有较高要求的场景中。 阅读详情

相关推荐

CPP从入门到精通1:入门

现在是2024年4月15日,我决定从头开始记录C++的学习历程。参考的书籍是巨著《C Primer Plus》第五版的中文版。在正式开始学习之前首先简单介绍一下C++及其前身C语言。

qq_25874947的博客 751

【C++篇】C++的输入和输出

知识总结顺序参考C Primer Plus(第六版)和谭浩强老师的C程序设计(第五版)等,内容以书中为标准,同时参考其它各类书籍以及优质文章,以至减少知识点上的错误,同时方便本人的基础复习,也希望能帮助到大家最好的好人,都是犯过错误的过来人;一个人往往因为有一点小小的缺点,将来会变得更好。如有错漏之处,敬请指正,有更好的方法,也希望不吝提出。最好的生活方式就是和努力的大家,一起奔跑在路上。

陈七的博客,学习知识分享,期待与大家的交流 3万+

C++学习从入门到精通(初学版-1基础)

C++程序学习的开始,加油!

a1133669的博客 1278

C++输入和输出

C++中的输入和输出主要通过标准库中的iostream类实现。使用cin对象从标准输入(如键盘)读取数据,使用cout对象将数据写入标准输出(如屏幕)。

qq_74013365的博客 5558

c++——基本输入/输出

前面几节的示例程序几乎没有提供与用户的交互(如果有的话)。它们只是在屏幕上打印简单的值,但标准库提供了许多其他方式来通过其输入/输出功能与用户交互。本节将简要介绍一些最有用的功能。C++ 使用一种称为流的便捷抽象在顺序媒体(如屏幕、键盘或文件)中执行输入和输出作。流是一个实体,程序可以在其中插入或提取字符。无需了解与流关联的媒体或其任何内部规范的详细信息。我们需要知道的是 streams 是字符的源 / 目标,并且这些字符是按顺序提供/接受的(即,一个接一个)。

zjx1415926的博客 1103

西门子WinCC VBS脚本实战:5分钟搞定变量记录导出到Excel(附完整代码)

本文提供了一套高效的西门子WinCC VBS脚本方案,帮助工程师在5分钟内将变量记录数据导出至Excel。方案详细解析了时区转换、数据库连接、SQL查询优化等核心难点,并附带了完整、可直接使用的VBS代码,解决了工业自动化项目中数据导出的实际痛点。

moss5的博客 609

C++ 重载输入输出运算符

一、为什么要重载输入输出运算符 平时可以用流 std::cout<<str<<n ; std::cin>>str>>n ; 输出、输入字符串和整型等。但是对于自定义的类,比如 Student 类,却不能直接通过 cout<<Student 或 cin>>Student 这样的形式来输出类的内容或给类赋值。为了让自定义的类也支...

love、reading的博客 7494

交通小白首投TRB就中Oral?我的完整时间线与避坑指南(附Editorial Manager实操截图)

本文详细解析了交通领域新手如何高效完成TRB国际会议投稿的全流程,从选题策略到投稿系统实操,再到评审过程解析和常见误区避坑指南。特别针对初次投稿者提供了实用建议,包括时间规划、选题考量、Editorial Manager系统操作技巧,以及如何应对评审意见。文章还分享了从录用到会议参与的关键步骤,帮助研究者提升投稿成功率。

weixin_27303545的博客 386

C++输入 / 输出运算符的重载-详细解释

为什么需要重载输入输出运算符 有人会问,我直接用 iostream 里面的标准输入输出不好吗,搞这么麻烦? 事实上,你会发现C++里面很多的(尤其是运算符)重载都是 面向对象惹的祸。而用户自定义数据类型的输入输出,就是通过重载运算符“<<“和”>>“实现的。 重载输出运算符 重载输出运算符”<<“也称为插入运算符,用于用户自定义类型的输出,其定义函数的一般形式为...

Lapland的博客 8044

基于大模型的自动驾驶智能体:Agent-Driver架构、训练与实战指南

自动驾驶系统正从传统的模块化流水线向以智能体为核心的新范式演进。其核心原理在于将车辆视为一个能够与环境持续交互的自主决策智能体,通过多模态感知、记忆管理和基于大模型的推理能力,实现对复杂交通场景的理解与应对。这一技术价值在于利用大模型的常识推理和泛化能力,有望解决传统方法在长尾场景下面临的挑战。在应用场景上,智能体驱动架构特别适合处理动态交互密集、需高层语义理解的城区驾驶、无保护转弯及突发状况应对。本文聚焦的Agent-Driver项目,正是这一方向的典型实践,它通过融合视觉、语言大模型与强化学习,构建了一

weixin_28729843的博客 529

Java Web 图书管理系统的制作指南

实现对图书信息的增删改查(CRUD)操作。支持用户登录与权限管理。图书借阅与归还功能。系统管理员可以管理用户信息和图书库存。

Xiaoxin的博客 1629

C++重学之路 2 C++编程入门、输入输出和运算符

2 C++编程入门、输入输出和运算符1 基础概念注释#include预处理指令空行和空白间隔符main()函数一条输出语句std命名空间流插入运算符和转义序列return语句关于注释的说明变量声明标识符(identifier)变量声明语句的放置位置输入语句显示结果2 内存的概念3 算术运算算术运算符的优先级4 相等运算符和关系运算符相等运算符和关系运算符的优先级using声明5 运算符的优先级 1 基础概念 注释 程序运行时,注释会被编译器忽略,不会生成任何机器语言目标代码。 单行注释(single-li

m0_59751822的博客 1927

自动驾驶仿真(六)—— SIL软件在环仿真测试

自动驾驶仿真六—— SIL软件在环仿真测试1. 在环仿真测试2. SIL软件在环仿真测试2.1 模型配置参数2.2 S function生成实现2.3 结果对比3. 参考学习的书目教材 博主前面的博文已经简要介绍了Carsim、Prescan 与 Simulink 在 “V”型开发流程的一些应用,现今成熟的汽车控制系统软件都是以(Model Based Design,MBD)来开发,它以图形化的方式表达复杂的逻辑、代码可读性、可移植性、开发调试便利程度都大大增强,同时利用成熟的代码生成工具链,也避免了手工代

zhudj08的博客 8650

C++学习-入门到精通【11】输入/输出流的深入剖析

C++提供多种流操纵符来完成格式化的任务。流操纵符的功能包括设置域的宽度、设置精确度、设置和取消格式状态、设置域的填充字符、刷新流、向输出流添加新行(并刷新流)、在输出流中添加一个新字符、跳过输入流中的空白,等等。程序员可以创建自己的流操纵符。下面的代码中展示了创建和使用新的无参数操纵符belltab和endLine。对于输出流操纵符来说,它们的返回类型都必须是ostream&类型的。// 输出一个\a// 输出一个 \r// 输出一个 \t// 输出一个 endlint main()

PLKDTHFS的博客 1187

杭电计算机组成原理课程设计-实验七-寄存器堆设计实验

寄存器堆实验实验原理实验内容模块功能说明模块逻辑引脚图寄存器堆模块代码REG模块测试用例REG-ALU测试用例实验结果记录 寄存器堆实验结果及分析ALU_REG运算器模块实验结果及分析探索与思考 实验原理   32×32位的寄存器堆模块示意图如图所示,含有32个寄存器,每个寄存器32位。该寄存器堆具有A和B两个读端口,分别由 5 位的寄存器编号 R_Addr_A 和 R_Addr_B 来寻址 2 个寄存器,读出的数据则由 R_Data_A(32 位)和R_Data_B(32 位)输出。读访问时,没有使能或者

HDU-整蛊小子-⏰☂️/蚂蚁集团研发工程师 1万+

14、PostgreSQL日志文件、系统统计与查询优化全解析

本文全面解析了PostgreSQL数据库中的系统统计、日志文件配置与查询优化技巧。详细介绍了如何利用pg_stat_statements模块进行性能监控,配置日志记录以发现潜在问题,并深入探讨了查询优化器的工作原理和优化策略。通过实际案例分析,展示了如何综合应用这些技术提升数据库性能。适合希望提升PostgreSQL性能与稳定性的数据库管理员和开发人员阅读。

efc123456的博客 94

C++入门、输入/输出和运算符

1 C++入门 ● 单行注释以双斜杠符号 // 开始。程序员加入注释为程序做注解,以提高它们的可读性 ● 程序运行时,注释不会使计算机执行任何操作,它们被 C++ 编译器所忽略,不会产生任何机器语言目标代码 ● 预处理器指令以 # 开头,是一条发给 C++ 预处理器的消息。预处理指令在程序被编译之前由预处理器处理 ● #include 通知 C++ 预处理器,在程序中包含 输入/输出 流头文件的内容。该文件包含了编译使用 std::cin std::cout

weixin_43520256的博客 2277

【系统架构设计师】二十三、通信系统架构设计理论与实践①

通信网络主要形式:局域网、广域网、移动通信网。 局域网网络架构有 4 种类型:单核心架构、双核心架构、环型架构、层次型架构。 广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成。通常,在大型网络构建中,通过广域网将分布在各地域的局域网互连起来,形成一个大的网络。 移动通信网为移动互联网提供了强有力的支持,尤其是5G 网络为个人用户、垂直行业等 提供了多样化的服务。

帅次的博客 3762

C++ 语言重载运算符 - 输入和输出运算符

C++ 语言重载运算符 - 输入和输出运算符 IO 标准库分别使用 >> 和 << 执行输入和输出操作,IO 库定义了用其读写内置类型的版本,而类则需要自定义适合其对象的新版本以支持 IO 操作。 1. 重载输出运算符 << 通常情况下,输出运算符的第一个形参是一个非常量 std::ostream 对象的引用。std::ostream 是非常量,因为向流写入内容会改变其状态。该形参是引用,因为我们无法直接复制一个 std::ostream 对象。 第二个形参一般来说是一个

程永强 4880

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C++入门——输入输出、缺省参数

C++入门——输入输出、缺省参数

Maple_land的博客 1527

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C++重载>>和<<(输入和输出运算符)详解

C++重载>>和<<(输入和输出运算符)详解 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)。 如果我们自己定义了一种新的数据类型,需要用输入输出运算符去处理,那么就必须对它们进行重载。本节以前面的 comple

ccc369639963的博客 7598

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++:输入输出运算符重载

在C++中,输入输出运算符是用于从标准输入设备(通常是键盘)读取数据或将数据输出到标准输出设备(通常是屏幕)的运算符。>>用于从输入流(如键盘或文件)中读取数据,并将其存储到变量中。<<用于将数据发送到输出流(如屏幕或文件)以供显示。当你需要使用输入输出运算符(<< 和 >>)重载来对自定义类型进行输入输出时,你通常需要考虑两个方面:输出运算符重载:你可以使用输出运算符(<<)重载来定义如何将对象的信息输出到流中,比如输出到标准输出流(cout)或文件流中。

WolvenSec的博客 1730

【C++】深入解析 cin 和 cout:理解区分输入输出流运算符

在 C++ 中,cin 和 cout 是输入和输出的核心工具。它们通过流运算符 >> 和 >:数据从输入流进入变量,方向是向右。可以将其想象为数据通过漏斗流入变量。 cout

禅宗里有一个词叫做“因缘和合”。 所谓因缘,是指事件要发生所必须的条件。因缘和合就是当你聚集了这件事的一切条件,它就会自然而然的发生。“它就会自然而然的发生”,这种朴素而坚定的价值观让我们感到无比安心,安心到可以不用有任何担心焦虑。 2376

C++ 学习路线:从入门到精通,全面掌握 C++ 编程

C++ 是一门强大且灵活的编程语言,适合各种类型的开发项目。通过遵循本文提供的学习路线,你将能够逐步掌握 C++ 的核心概念和高级特性,并最终成为一名熟练的 C++ 开发者。

不会编程的码农研究僧 2828

C++:输入流/输出流

在C++中,除系统提供的预定义操纵符之外,还允许用户定义操纵符,便于控制一些频繁使用的格式操作,使格式控制更加方便。ostream &自定义输出操纵符算子函数名(ostream& stream){return stream;istream &自定义输出操纵符算子函数名(istream& stream){return stream;当实现一个类的类型时,有时需要这个类支持输入和输出的操作,以便可以将类对象嵌入输入或输出流中。对于用户自定义的数据类型的输入/输出,可以通过重载>>运算符和<<运算符实现。

weixin_45652283的博客 2255

C++输入输出运算符的重载

C++中的流插入运算符“&amp;amp;gt;&amp;amp;gt;”和流输出运算符“&amp;amp;lt;&amp;amp;lt;”在C++类库中提供的,所有的C++编译系统都会在提供输入流istream和输出流ostream,cin、cout是分别是istream类和ostream类的对象,在类库的头文件中已经对“&amp;amp;lt;&amp;amp;lt;”、“&amp;amp;gt;&amp;amp;gt;”运算符进行了重载,

ZWE7616175的博客 9734
上一篇: C++学习-入门到精通-【0】计算机和C++简介
下一篇: C++学习-入门到精通-【2】类、对象和字符串的介绍
YKPG
博客等级 码龄6年 344粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值