C/C++输入与输出

scanf与printf

#include <iostream>
using namespace std;
int main(){
    printf("%05lld\n",100);
    printf("%+7.4d\n",100);
    printf("%+7.2f\n",10.2);
    return 0;
}
/*输出结果:
00100
  +0100
 +10.20
格式作用
%c字符
%s字符串
%d、%i有符号十进制整数
%u无符号十进制整数
%o无符号八进制整数
%x、%X无符号十六进制整数
%f十进制浮点数
%g、%G浮点数,自动选择%f或%e
%e、%E科学记数法,浮点数
%p指针
修饰符作用
%数字最低宽度,%0数字则表示填充0
%.数字

%d表示整数最低位数,不足自动在前补0

%f、%e表示浮点数小数位数

%g表示浮点数有效位数 

%s表示

+输出数值符号
-左对齐
hhsigned char
hsigned short
llsigned long long int
Llong double

cin与cout

流操作算子必须在cin流或者cout流中使用才有效,头文件为iomanip,setw(n)只对紧邻的输入或输出生效1次,其它流操作算子一直有效,需要使用resetflags()取消

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
    cout<<setfill('*')<<setw(5)<<10<<endl;
    cout<<fixed<<setprecision(4)<<12.12<<endl;
    cout<<scientific<<setprecision(4)<<12.12<<endl;
    cout<<resetiosflags(ios::scientific)<<12.0<<endl;//cancel scientific flag
    return 0;
}
/*输出结果:
***10
12.1200
1.2120e+01
12
流操纵算子作  用
*dec以十进制形式输出整数常用
hex以十六进制形式输出整数
oct以八进制形式输出整数
setbase(b)设置输出整数时的进制,b=8、10 或 16
fixed以小数形式输出,输出浮点数末尾的0
scientific以科学计数法形式输出浮点数
setprecision(n)设置输出浮点数的精度为 n
(1)在不使用 fixed 和 scientific 方式输出的情况下,n 即为有效数字最多的位数,如果有效数字位数超过 n,则小数部分四舍五人,或自动变为科学计数法输出并保留一共 n 位有效数字。
(2)在使用 fixed 方式和 scientific 方式输出的情况下,n 是小数点后面应保留的位数。
setw(w)指定输出宽度为 w 个字符,或输人字符串时读入 w 个字符,只生效一次
setfill(c)在指定输出宽度的情况下,输出的宽度不足时用字符 c 填充(默认情况是用空格填充)
left左对齐,即在宽度不足时将填充字符添加到右边
*right右对齐,即在宽度不足时将填充字符添加到左边
setiosflags(flag)将某个输出格式标志置为 1
resetiosflags(flag)将某个输出格式标志置为 0
boolapha把 true 和 false 输出为字符串不常用
*noboolalpha把 true 和 false 输出为 0、1
showbase输出表示数值的进制的前缀
*noshowbase不输出表示数值的进制.的前缀
showpoint总是输出小数点和末尾的0
*noshowpoint只有当小数部分存在时才显示小数点
showpos在非负数值中显示 +
*noshowpos在非负数值中不显示 +
*skipws输入时跳过空白字符
noskipws输入时不跳过空白字符
uppercase十六进制数中使用 A~E。若输出前缀,则前缀输出 0X,科学计数法中输出 E
*nouppercase十六进制数中使用 a~e。若输出前缀,则前缀输出 0x,科学计数法中输出 e。
internal数值的符号(正负号)在指定宽度内左对齐,数值右对 齐,中间由填充字符填充。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值