2025年占位符及其种类

占位符及其种类本人小白一枚 以下内容为学习记录 若有错误或表述问题 希望能得到指正 占位符是一种特殊字符或字符串 用于表示将来要填充的值的位置 通常用于字符串替换或格式化 它们是在程序运行时动态生成的 以便将实际值插入到占位符的位置 占位符

大家好,我是讯享网,很高兴认识大家。

(本人小白一枚,以下内容为学习记录,若有错误或表述问题,希望能得到指正)

占位符是一种特殊字符或字符串,用于表示将来要填充的值的位置,通常用于字符串替换或格式化。它们是在程序运行时动态生成的,以便将实际值插入到占位符的位置。

占位符可以在代码运行时为输入的数据进行占位,不同类型的占位有不同的格式,帮助程序员控制输出的格式,使代码更加简洁、易读。

其中,不同的占位符代表不同的数据类型

种类

  1. %d : 整数(decimal-十进制)
  2. %ld :长整型
  3. %u :无符号整数(unsigned)
  4. %f : 浮点数(float)
  5. %e :指数形式输出实数(指定浮点类型,%e对应float,%E对应double)
  6. %g :自动选择%f、%e输出实数(不输出无意义的0)
  7. %c : 单个字符(character)
  8. %s : 字符串(string)
  9. %p : 指针的值(pointer)
  10. %x : 十六进制整数(小写字母)
  11. %X :十六进制整数(大写字母)
  12. %o : 八进制数(octal)
  13. %n :输出已经输出的字符数
  14. %%:输出百分号

下面就个别类型举一些例子。

例1、%e

该占位符用来以指数形式输出实数,意思即用科学计数法,如将500写成5*(10)^2。

int main() { printf("%e", 500.0); return 0; }

讯享网


讯享网

显示结果为5.000000e+02,意思是5*10^2。

例2、%c

如果使用char类型变量,该变量在内存中以ASCII值形式储存,其运算即是对ASCII值进行运算,运算结果在%c的前提下转为字符,看一下下面的代码

讯享网int main() { char b = 0 ; scanf("%c", &b); printf("%c\n", b); printf("%c\n", b+1); return 0; }

在scanf输入字符9,在内存中会对应到ASCII值57,57+1=58,而58对应的字符却是 : ,因而b+1的结果不是10。

东江一笑的博客:Ascii完整码表(256个)

例3、%s

字符串可以看作字符的数组,每个字符相互独立。

int main() { char b[10] = { '1','0','0','0' }; printf("%s\n", b); char c[10] = "1000"; printf("%s\n", c); char d[4] = "1000"; printf("%s\n", d); return 0; }

由于变量d的空间全被使用,没有多余空间交给\0(结束标志),因此出现错误。

例4、%c与%s

给char类型变量赋值,该值根据使用的占位符不同会输出不同的结果。

字符与ASCII值能通过%c、%d相互转换输出(需要注意字符9和数字9是两个不同概念)

讯享网int main() { char a[10] = { 0 }; a[1] = 36; printf("%c\n", a[1]); printf("%d\n", a[1]); char b = 36; printf("\n%d\n", b + 1); printf("%c\n", b + 1); char c = '9'; printf("\n%c\n", c+1); printf("%d\n", c+1); return 0; }

小讯
上一篇 2025-03-23 20:45
下一篇 2025-03-19 07:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/127743.html