守听 发表于 2023-8-30 18:34:15

C语言笔记 - “%”符号的用法

1、% - 运算符

%表示取模运算,也就是取余数。
例如 6 % 4 = 2
2、% - 引导符/占位符

引导符用于控制输入输出的格式。常见于printf("%d",a);scanf("%d",&a);语句。

[*]%s        -        字符串        (String)
[*]%c        -        字符        (Char)
[*]%d        -        十进制有符号型输出        (Decimal)
① %6d 整数输出,宽度是6位,不足左边补空格
② %06d 整数输出,宽度是6位,不足左边补数字0
③ %-6d 整数输出,宽度是6位,不足右边补空格
还有一个%i类似,具体如下:
在 printf 格式串中使用时,没有区别。
在scanf格式中,%d 只与十进制形式的整数相匹配。而%i 则可以匹配八进制、十进制、十六进制表示的整数。如若输入的数字有前缀 0,%i将会把它当作八进制数来处理,当然如若是前缀0x ,它将以十六进制来处理。

[*]%ld        -        输出长整数long型
[*]%lld        -        输出long long型
[*]%o        -        以八进制数形式输出整数        (Octal)
[*]%x        -        十六进制数形式        (Hexadecimal)
%X        -        无符号的16进制数字,并以大写ABCDEF表示
[*]%u        -        以十进制数形式输出无符号整数型(Unsigned int)
%lu        -        以十进制数形式输出无符号长整数型(Unsigned long)
[*]%f        -        单精度浮点型,默认保留六位        (Float)
%.5f        -        (5的前面有个小数点)表示输出精确到小数点后5位。如果实际数字不足5位,则在末尾补0,若大于5位,则按四舍五入取前五位。
[*]%lf        -        双精度浮点型,默认情况下保留小数点6位,通常用来输出double型
[*]%g        -        根据数值不同自动选择%f或%e ,%e格式在指数小于-4或者大于等于精度时使用
%G        -        根据值的不同,自动选择%f或%E,%E格式用于指数小于-4或者大于或等于精度时
1> 指数>=6或者<-4的时候:%g(%G)选择 %e(%E)输出
2> 指数其余情况:都是选择%f输出
[*]%e        -        以指数形式输出 float 类型,输出结果中的 e 小写
%E        -        以指数形式输出 float 类型,输出结果中的 E 大写
[*]%le 以指数形式输出 double 类型,输出结果中的 e 小写;
%lE 以指数形式输出 double 类型,输出结果中的 E 大写。
[*]%p        -        表示输出指针的值
3、% - 普通文本符号

用 %% 来表示 “%”
以上内容来源互联网和个人理解,如有错误,请大家批评指正。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: C语言笔记 - “%”符号的用法