news 2026/4/18 14:39:07

C++输入输出(上)(竞赛)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++输入输出(上)(竞赛)

getchar和putchar:getchar和putchar是相配套使用的。这两个是C语言里面的库函数,C++兼容C语言,可在头文件“cstdio”中找到。getchar:功能:读取一个字符,他是没有参数的,他有返回值,他读取的是字符,返回的是该字符的ASCII值,他一次读取只会读取一个字符。putchar:功能:输出getchar读取到字符,使用方法:将getchar的返回值当作参数,然后输出参数值对应的字符。不论是getchar还是putchar,他们如果读取或者是输出的操作失败,返回值就是EOF(-1),操作:ctrl+z

printf函数:printf函数可以通过占位符实现输出的格式化,接下来主要讲一下关于printf函数占位符的两个限定,一是限定宽度,二是限定小数位数限定宽度:意思是输出时,至少要输出限定的宽度,有以下两种要解释的情况,不够宽度:由空格来填补;超过宽度:按照实际的宽度来输出就行。限定小数位数:浮点数默认输出时会输出小数点后六位,限定小数位数就可以实现想保留几位小数就保留几位小数。此外,两个限定值是可以用 * (星号)来先”占位“的,然后,在用想要的值来代替他(注意:被占的地要与想替换的值一一对应奥)。再者,讲一下编译器默认是向右对齐的,想要实现向左对齐,就要在百分号(%)后面加一个负号(-),这要就可以实现向左对齐了。

scanf函数:scanf函数用于读取用户的键盘输入。scanf给定的格式要与键盘输入的格式严格匹配,不然,可能得不到想要的数据,而且,在占位符之后一般不用'\n'的,通常只在输出时使用。scanf函数在处理数值占位符时,会自动过滤空白字符。用户一般将数据通过键盘输入到屏幕上,按下回车键之后,数据进入到缓存,scanf函数在缓存中对数据进行解读,会按照占位符来仔细解读符合占位符的数值,一一顺序解读。scanf和printf的占位符绝大部分都是一样的,只有一个注意点:在printf函数里面,double和float类型的占位符都可以用 %f ,double类型也可以用 %lf ,比较松,而在scanf函数中,double类型必须用 %lf ,而float类型用 %f ,规定的很死。此外,再谈谈 %c:这是一个给字符占位的占位符,他比较特殊,他在读取时,是不忽略空格的,他会认为空格是一个字符,然后读取掉,如果想让%c可以忽略跳过空格,那么只要在%c之前加一个空格,这样的操作可以强制跳过空格来读取字符,当%c前面有其他占位符时,依旧只要在%c前面加一个空格,就可以强制跳过空白字符,读取其他字符。scanf函数的返回值是整数,表示的是成功读取的变量个数,当在成功读取任何数据前,遇到读取错误或读取到文件末尾时,会返回EOF(-1),操作:ctrl+z。一般scanf的返回值用于多组数据输入的竞赛题目。

cin和cout两个流对象:在C++中,数据似乎不再像C语言中类型明确了。用户用键盘输入数据,以及数据打印在屏幕上,数据都是以字符流的形式在操作,cin就是标准输入流,配的时流提取操作符(>>),这样一看,名字起得就很形象了,在字符流里面将数据提取出来用,而cout配的流插入操作符(<<),就是将处理完的数据返回给字符流当中,所以叫做流插入操作符。字符流、字符流,就是连接出入口(打印在屏幕,用键盘输入)的地方的数据都是字符。cin和cout都是可以自动识别变量类型的,操作的时候可以省心。

cout的输出格式(加餐)setw设置字段宽度(只对紧接着的值有用),setfill设置填充字符,(当数据小于设置的宽度时,会有空格填补,setfill可以将空格填补成想要的字符),fixed固定小数点,让数据不会变成科学计数法表示,scientific使浮点数以科学计数法表示,setprecision设置小数位数,但是先要固定小数点,dec以十进制显示整数(默认),hex以十六进制格式显示整数,oct以八进制格式显示整数,left向左对齐,right向右对齐(默认),

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 13:35:20

BiliTools AI视频总结完整指南:3分钟高效掌握B站内容精华

BiliTools AI视频总结完整指南&#xff1a;3分钟高效掌握B站内容精华 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/B…

作者头像 李华
网站建设 2026/4/18 8:13:59

OpCore Simplify:革命性自动化Hackintosh EFI构建工具全面解析

OpCore Simplify&#xff1a;革命性自动化Hackintosh EFI构建工具全面解析 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify作为一款专…

作者头像 李华
网站建设 2026/4/18 5:40:04

网页资源嗅探实战手册:从入门到精通的5大场景解决方案

网页资源嗅探实战手册&#xff1a;从入门到精通的5大场景解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在网络资源日益丰富的今天&#xff0c;如何快速获取网页中的视频、音频等媒体文件成…

作者头像 李华
网站建设 2026/4/18 5:40:13

避坑指南:使用OpenCV镜像实现年龄性别识别的5个关键技巧

避坑指南&#xff1a;使用OpenCV镜像实现年龄性别识别的5个关键技巧 1. 项目背景与技术选型 在当前计算机视觉应用快速发展的背景下&#xff0c;人脸属性分析已成为智能安防、用户画像、人机交互等场景中的核心技术之一。基于深度学习的人脸年龄与性别识别&#xff0c;因其无…

作者头像 李华
网站建设 2026/4/18 8:16:10

G-Helper:华硕笔记本性能优化全攻略,告别Armoury Crate的烦恼

G-Helper&#xff1a;华硕笔记本性能优化全攻略&#xff0c;告别Armoury Crate的烦恼 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and othe…

作者头像 李华
网站建设 2026/4/18 9:42:51

MediaPipe Holistic部署教程:极速CPU版使用全攻略

MediaPipe Holistic部署教程&#xff1a;极速CPU版使用全攻略 1. 引言 1.1 AI 全身全息感知的技术背景 随着虚拟现实、数字人和元宇宙概念的兴起&#xff0c;对全维度人体动作捕捉的需求日益增长。传统方案往往依赖多传感器设备或高性能GPU集群&#xff0c;成本高且部署复杂…

作者头像 李华