当前位置: 首页 > news >正文

sae 网站备案信息运营主要做什么工作

sae 网站备案信息,运营主要做什么工作,网站建设计划表模板下载,官网站内推广内容目录🚀前言🌟C控制台输入输出基础💯输入:cin的基本用法💯输出:cout与换行/刷新🗡️格式化输出的“武器库”💯进制格式化💯浮点数精度控制💯域宽控制&#x1f…

目录

  • 🚀前言
  • 🌟C++控制台输入输出基础
    • 💯输入:cin的基本用法
    • 💯输出:cout与换行/刷新
  • 🗡️格式化输出的“武器库”
    • 💯进制格式化
    • 💯浮点数精度控制
    • 💯域宽控制
    • 💯对齐方式
    • 💯填充字符
    • 💯格式标志的重置
    • 💯格式化函数作用域总结
  • ☘️总结

🚀前言

在这里插入图片描述

大家好!我是 EnigmaCoder

  • 在C++开发中,控制台输出(cout)是我们与程序交互、查看数据的最直接方式。但默认的输出格式往往不够“美观”或“精准”——比如浮点数显示过多小数位、数值对齐杂乱、进制展示不直观等。今天,我们就来系统学习C++的格式化输出,让cout也能“花式输出”数据~

🌟C++控制台输入输出基础

💯输入:cin的基本用法

cin是C++标准输入流,用于从控制台读取数据。它默认以空白、回车、TAB作为数据的分隔符。

  • 单个变量输入:

    int c1, c2;
    cin >> c1;  // 读取第一个整数到c1
    cin >> c2;  // 读取第二个整数到c2
    
  • 多个变量连续输入:

    string name;
    int age;
    cin >> name >> age;  // 依次读取字符串(姓名)和整数(年龄)
    

💯输出:cout与换行/刷新

cout是C++标准输出流,用于向控制台打印数据。控制换行的常用方式有两种:

  • '\n'仅实现换行,不会刷新输出缓冲区。
  • endl换行 + 刷新输出缓冲区(等价于 '\n' + flush),适合需要立即看到输出的场景。

示例:

cout << "这是第一行\n";  // 仅换行
cout << "这是第二行" << endl;  // 换行并刷新缓冲区

🗡️格式化输出的“武器库”

要实现进制转换、精度控制、对齐方式、填充字符等高级格式化效果,需要引入头文件 <iomanip>(“input/output manipulation”的缩写)。它提供了一系列“控制符”,让我们能精细调控cout的输出格式。

同时,为了简化代码,我们通常会使用 using namespace std;,避免重复写std::前缀。

💯进制格式化

在C++中,整数可以用八进制、十进制、十六进制展示,分别由 octdechex 控制。这三个控制符属于**“持续生效”型**:设置后,后续所有整数输出都会遵循该进制,直到被其他进制控制符覆盖。

  1. 示例代码
int a = 10;
cout << "a的八进制数是:" << oct << a << endl;
cout << "a的十进制数是:" << dec << a << endl;
cout << "a的十六进制数是:" << hex << a << endl;
  1. 输出结果
a的八进制数是:12
a的十进制数是:10
a的十六进制数是:a
  1. 进制控制对比表
控制符作用示例(a=10
oct设置为八进制输出12
dec设置为十进制输出(默认)10
hex设置为十六进制输出a

💯浮点数精度控制

浮点数(double/float)的“精度”是格式化输出的重点。setprecision(n) 的行为会因是否结合 fixed 而不同。

  1. fixed:控制“有效数字总位数”

当没有 fixed 时,setprecision(n) 表示“从第一个非零数字开始,保留 n 位有效数字”(整数部分 + 小数部分的总有效位数)。

示例:

double pi = 3.1415926;
cout << setprecision(4) << pi << endl;

输出:3.142(有效数字:3142,共4位)

  1. fixed模式:控制“小数位数”

当使用 fixed 时,setprecision(n) 表示“强制保留 n 位小数”(整数部分正常显示,小数部分补0或截断)。

示例:

double pi = 3.1415926;
cout << fixed << setprecision(4) << pi << endl;

输出:3.1416(小数部分保留4位,自动四舍五入)

  1. 精度控制对比表
模式setprecision(n) 作用示例(pi=3.1415926, n=4
fixed有效数字总位数为n3.142
fixed小数部分位数为n3.1416

💯域宽控制

setw(n) 用于指定下一个输出项的宽度(单位:字符数)。需要注意:它是**“一次性”生效**的——只影响紧接着的一个输出项,后续输出需重新调用 setw 才会生效。

默认情况下,内容右对齐,多余宽度用“空格”填充在左侧。

示例:

cout << setw(10) << "hello" << endl;

输出(左侧补5个空格,总宽度10):

     hello

💯对齐方式

<iomanip> 通过 setiosflags 结合 ios 命名空间下的枚举(left/right/internal),控制输出的对齐方式。这些对齐标志属于**“持续生效”型**,直到被 resetiosflags 清除或被其他对齐标志覆盖。

  1. ios::left:左对齐

内容靠左,多余宽度的填充字符在右侧

示例:

cout << setiosflags(ios::left) << setw(10) << "hello" << endl;

输出(右侧补5个空格,总宽度10):

hello     
  1. ios::right:右对齐(默认)

内容靠右,多余宽度的填充字符在左侧

示例:

cout << setiosflags(ios::right) << setw(10) << "hello" << endl;

输出(左侧补5个空格,总宽度10):

     hello
  1. ios::internal:“内部”对齐(数值专属)
  • 数值类型(如 int/double 等):填充字符会插入到“符号(+/-)或基数(如十六进制的0x)”与“数值主体”之间。
  • 非数值类型(如字符串、字符):效果等同于 ios::right(右对齐,左侧填充)。

示例(数值类型):

cout << setiosflags(ios::internal) << setw(10) << setfill('#') << -123 << endl;

输出(符号-后补6个#,再跟数值123,总宽度10):

-######123

示例(非数值类型):

cout << setiosflags(ios::internal) << setw(10) << "hello" << endl;

输出(效果同right,左侧补5个空格,总宽度10):

     hello
  1. 对齐方式对比表
对齐标志作用范围填充字符位置示例(内容"hello",宽度10)
ios::left所有类型内容右侧hello
ios::right所有类型内容左侧(默认) hello
ios::internal数值类型专属;非数值等价于right符号/基数与数值之间(数值);内容左侧(非数值)数值:-######123;字符串: hello

💯填充字符

默认情况下,setw 的多余宽度用“空格”填充。通过 setfill(c) 可以指定自定义填充字符(如*#等),且该设置持续有效,直到被新的 setfill 调用覆盖。

示例:

cout << setfill('*') << setw(15) << "hello" << endl;  // 用`*`填充
cout << setfill(' ') << setw(15) << "hello" << endl;  // 还原为空格填充

输出:

**********hellohello

💯格式标志的重置

当我们想清除之前用 setiosflags 设置的对齐标志(如 left/right/internal),回到默认状态时,需要用 resetiosflags,并传入要清除的标志(多个标志用|分隔)。

示例:

// 先设置`left`,再重置所有对齐标志
cout << setiosflags(ios::left) << setw(10) << "hello" << endl;
cout << resetiosflags(ios::left | ios::right | ios::internal) << setw(10) << "hello" << endl;

输出(第一行左对齐,第二行回到默认右对齐):

hello     hello

💯格式化函数作用域总结

为了更清晰地记忆各格式化工具的“生效范围”,我们整理成表格:

格式化工具作用域特点示例/说明
oct/dec/hex持续有效,直到被覆盖设置hex后,所有后续整数都以十六进制输出,直到用dec/oct切换。
setprecision持续有效,直到被修改结合fixed时控制小数位;无fixed时控制有效数字,直到新的setprecision或格式标志改变。
setw仅对下一个输出项有效setw(10) << "a" 只影响"a"的宽度,下一个输出需重新调用setw
setiosflags(对齐等)持续有效,直到被重置/覆盖设置ios::left后,所有后续输出都左对齐,直到用resetiosflagsios::right等覆盖。
setfill持续有效,直到被修改设置setfill('*')后,所有setw的填充字符都是*,直到新的setfill调用。

☘️总结

C++的格式化输出看似繁琐,实则有清晰的规律:

  • 区分“持续生效”和“一次性生效”的工具(如setw是一次性,oct/setfill是持续);
  • 浮点数精度要关注fixed的有无;
  • 对齐方式中ios::internal是数值专属的“特殊对齐”;
  • 善用resetiosflags清除不需要的格式标志。
  • 掌握这些技巧后,你就能让cout输出既“精准”又“美观”,无论是调试程序还是展示数据,都能更加得心应手。
  • 本文代码在VSCode、Dev-C++等支持C++11及以上的环境均可运行,记得包含<iostream><iomanip>头文件。
http://www.dtcms.com/a/442512.html

相关文章:

  • 谈谈如何建设企业人力资源网站广州南沙建设网站
  • 10.4 双指针
  • 关于举办中国国际大学生创新大赛(2025)总决赛现场比赛通知
  • 山西商城网站建设网络推广网址
  • 【苍穹外卖日记】Day1-环境搭建与apifox文档建立
  • 宁波建站模板厂家wordpress文字logo
  • 【Qt】事件
  • 数字人民币钱包抉择:匿名自由与实名安全的法律风险评估
  • 做网站需要用到什么北京养老网站开发
  • 专门做电商的网站有哪些广告推广策略
  • Java EE初阶启程记06---synchronized关键字
  • QT(c++)开发自学笔记:1.串口
  • 最小外接矩形2显示四条边缘
  • 什么是网站建设与维护潘嘉严个人网站
  • 天津做网站哪家好如何申请域名后缀
  • MCP(trae)+ wireshark-提高干活效率
  • 机器视觉3D检测中,.ply(Polygon File Format) 3D点云格式
  • 如何网站优化排名做兼职比较正规的网站
  • 兰亭妙微高端网站设计案例:品牌官网如何做到美学与转化并重
  • 网站主机提供商:选择与您业务相匹配的托管服务
  • Linux学习笔记--insmod 命令
  • 做树状图的网站html全屏网站
  • 网站页面设计师如何编辑网站模板
  • 网站服务器网络企业网站设计方案
  • 数仓一些问题
  • 君正T32开发笔记之AOV实例介绍
  • 包含HPA配置与资源限制示例
  • 做影视网站用主机还是用服务器合肥网络优化公司有几家
  • 网站开发属于哪个部门贵阳网站建设电话
  • fiddler详解