C++入门03-数据的输入和输出

本文介绍了C++中的输入输出机制,包括C语言风格的scanf和printf以及C++风格的cin和cout。文章强调了在特定情况下C语言的输入输出速度优势,并提到C++的O2优化和cin加速技巧。同时,提供了多个实例来展示不同输入输出的使用方法。

简介

本文将讲述C++的重要一环——输入和输出。它将能让你的“小黑框”输出内容,也是设计算法时的重要展示方式。

C语言风格

既然是C++学习,为什么还要学C的输入输出呢?因为时间问题。在做题时,C语言的输入输出在没有O2优化 的编译器上要比C++的输入输出快很多!是很多TLE的罪魁祸首,故我们要学习它。

语法格式

常用类型占位符

数据类型

int

long long

float

double

char

bool

占位符

%d

%lld

%f

%lf

%c

直接用%d

(1和0)

实例

运行结果

%f占位符默认保留6位小数,bool类型输出1是因为整数中1是true,0是false。

运行结果

C++风格

C++的输入输出以格式简短闻名,但也有弊端,如C语言篇中所说,O2优化没有的话就会很慢。

语法格式

实例

运行结果

C++11 raw string literal 技术,让你体会复制粘贴的恐惧

运行结果

解释:第一个cout加上了保留小数是因为精度问题,大家可以自己去掉试一下;fixed只有一个是因为流文件一个程序只要声明一次就行了。

运行结果

练习

建议完成洛谷的P1000 P1001 B2002 B2025 B2005五题,思考题P5705

补充

O2优化的具体实现

在代码开头加入以下代码

这样就可以实现O2优化,加快cin cout的速度。

cin加速的另一种方法

在主函数main内加入以下代码

这样是去除cin的缓存,也能起到加速的效果 (这条语句后scanf sscanf 等C的输入输出流都将失效!)

C++17标准下,加入以上代码的cin cout速度可能超过scanf 和 printf 的速度。

本期内容就到这里啦,希望大家多多练习,早日“成神”!

掰掰ヾ(•ω•`)o

文章可以转载,但请注明作者,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值