2024.9.26

格式控制符

用在输入 输出函数scanf( )和printf( )中的格式控制部分, 即第一个逗号前的双引号内 ,用来对输出的数据(标识符或表达式)进行格式说明,包括数据类型、长度、对齐方式、小数位数等。
1.格式控制符的形式
%  [-]  [0]  [m/m.n]  [l/h] 格式控制符
     其中[ ]里面的内容是可选的
     -:表示左对齐,缺省情况下为右对齐(若没规定输出数据的宽度则为左对齐)。
     0:当规定输出数据的宽度时,所输出数据实际的宽度小于规定的宽度,则在左边用“0”补齐。
     m/m.n:m规定了输出数据的宽度(位数),若数据实际的宽度大于m,则突破m的限制全部输出,反之, 将数据全部输出之后用空格进行左补齐;对于实数n是指小数点后的位数,若n小于小数点后实际的位数,则按四舍五入原则进行截取;对于字符串,n表示从左至右截取的字符个数。
     l/h:l表示长整型数据(可用于%ld。%lo,%lx,%lu),以及double型数据(%lf或%le);h表示短整型数据(可用于%hd。%ho,%hx)。(%%d 两个%等价于输出%,故输出%d)
2.格式控制符及其功能(以输出为例)
%d:用来输出有符号的十进制整数(包括char类型)

%3d只取输入的前三位,%*4d忽略4个数
%08x的意思是输出8位,不够则左侧补0,输出八位宽度,右对齐,空的左侧位补0。
如果是%8x就只是右对齐,前面不补零,只是补充空格,用于控制输出宽度。
%-8d,表示以8个数字为宽度进行左对齐。这个-,表示左边对齐的意思。
其他变化:
%-08d,表示以8个数字为宽度进行左对齐,空白部分填充0。
%8d,表示以8个数字为宽度进行右对齐。
%08d,表示以8个数字为宽度进行右对齐,空白部分填充0。

%u:用来输出无符号的十进制整数(包括char类型)

%o:用来输出无符号的八进制整数

%x:用来输出无符号的十六进制整数

%c:用来输出单个字符

%s:用来输出一个字符串

%f:用来输出小数形式的十进制浮点数(输入时小数形式和指数形式都可以识别)

%e:用来输出指数形式的十进制浮点数(输入时小数形式和指数形式都可以识别)

%g:用来输出指数形式和小数形式两者中较短的十进制浮点数(输入时小数形式和指数形式都可以识别)

3.注意事项
(1)f表示的浮点数精度为6, 若浮点数的实际小数位长大于6,则截取6位,第7位四舍五入;若浮点数的实际小数位数小于6,则后补0。如1.23转换成1.230000;1.23456789转换成1.234568。
(2)对于实数,m指的是包括小数点在内的数据的位数。

转义字符

strlen(" ")求字符串长度;sizeof(变量名)求变量长度

#是预处理

自动转换规则是由低到高

!0=1;!n=0(n!=0);

计算字节printf(“%zu\n”,sizeof(a));

数学函数<math.h>

常用:abs(x)  求绝对值  fabs()   浮点数绝对值  labs()  长整型绝对值

exp(double x);   返回e的x次方
pow(double x, double y);  返回x的y次方
log(double x);  lnx
log10(double x);  lgx
sqrt(double x);
{
     srand(time(null));
     
}
scanf返回值:返回一个整型数字,代表正确输入了几个数字
Dev调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值