欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【C语言】占位符集合

【C语言】占位符集合

2025/4/19 17:24:13 来源:https://blog.csdn.net/qq_39725309/article/details/142995017  浏览:    关键词:【C语言】占位符集合

字面意义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号,广泛用于计算机中各类文档的编辑。
格式占位符(%)是在C/C++语言中格式输入函数,如 scanf、printf 等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。

占位符是 C语言中非常有用的一种工具,可以通过指定不同的占位符来格式化输出不同类型的数据。我们可以使用常见的占位符来输出整数、浮点数、字符、字符串、指针等类型的数据,也可以使用修饰符来控制输出的格式,例如左对齐、填充 0、控制小数位数、控制输出宽度等。熟练掌握占位符和修饰符的使用,对于编写高效、清晰的代码非常重要。

以下这些都是 10 进制数整型:%d/%D   ----    以 int 类型的方式显示数据 %hd     ----    以 short 类型的方式显示数据 %hhd    ----    以 signed char 整形类型的方式显示数据%ld     ----    以 long 类型方式显示 %lld    ----    以 long long 类型方式显示 %u      ----    以 unsigned int 类型的方式显示数据 %hi     ----    为有符号的16位整型数(short);%hu     ----    以 unsigned short 类型的方式显示数据 %hhu    ----    以 unsigned char 整形类型的方式显示数据%qi     ----    为有符号的64位整型数(long long);%qu     ----    为无符号的64位整型数(unsigned long long);%lu     ----    以 unsigned long 类型方式显示 %llu    ----    以 unsigned long long 类型方式显示       浮点:%f      ----    以 float 方式显示  (保留6位小数)   12.500000%F      ----    为64位的浮点数(double)(保留6位小数)%lf     ----    以 double 方式显示 (保留6位小数)%.2f    ----    以float型进行打印 -> 保留2位小数%e/%E   ----    以 指数方式显示 -> 科学计数%g/%G   ----    以 合适的方式显示 -> 小数或科学计数%a,%A   ----    读入一个浮点值(仅C99有效)字符: %c/%C   ----    以char型进行打印 ---> 针对字符型 %s/%S   ----    以char型进程打印 ---> 针对字符串详细描述:%c      ----    为8位的无符号字符%c(unsigned char),通过打印NSLog()将其作为一个ASCII字符,或者,不是一个ASCII字符,八进制格式\ddd或统一标准的字符编码的十六进制格式\udddd,在这里d是一个数字;%C      ----    为16位Unicode字符%C(unichar),通过打印NSLog()将其作为一个ASCII字符,或者,不是一个ASCII字符,八进制格式\ddd或统一标准的字符编码的十六进制格式\\udddd,在这里d是一个数字;%s      ----    对于无符号字符数组空终止,%s系统中解释其输入编码,而不是别的,如utf-8;%S      ----    空终止一系列的16位Unicode字符;例子:printf("%d %d %d %f %c\n",a,b,c,d,e,f);//format中拥有多个标志位:需给予同等的变参个数,且数据类型要匹配。以下是八进制和十六进制 %i      ----    读入十进制,八进制,十六进制整数%o,%O   ----    为32位的无符号整数(unsigned int),打印八进制数; %lo     ----    八进制 long int类型%llo    ----    八进制 long long int类型%lx     ----    十六进制 long int类型%llx    ----    十六进制 long long int型%llu    ----    unsigned long long int型%Le     ----    科学计数法表示的long double类型浮点%Lf     ----    long double类型浮点%x      ----    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,小写a-f;%X      ----    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,大写A-F;%x/%X   ----    以十六进制的格式进行打印 --->不带开头%#x     ----    以十六进制的格式进行打印  ---> 带开头%qx     ----    为无符号64位整数(unsigned long long),打印使用数字0-9的十六进制,小写a-f;%qX     ----    为无符号64位整数(unsigned long long),打印使用数字0-9的十六进制,大写A-F;%#o     ----    八进制显示 %#x/%#X ----    十六进制显示 %n      ----    已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。%p      ----    打印地址 -> 读入一个指针 空指针(无效*),打印十六进制的数字0-9和小写a-f,前缀为0x%L      ----    在明确规定的长度下,进行修正,下面的一批数据a,A,e,E,f,F,g,G应用于双精度长整型的参数%[]     ----    扫描字符集合%%      ----    读 % 符号%z      ----    修改说明在%z长度以下d,i,o,u,x,X适用于某一指定类型的转换或者适用于一定尺寸的整数类型的参数;%zd     ----    size_t类型%t      ----    修改说明在%t长度以下d,i,o,u,x,X适用于某一指定类型或一定尺寸的整数类型的转换的参数;%j      ----    修改说明在%j长度以下d,i,o,u,x,X适用于某一指定类型或一定尺寸的整数类型的转换的参数%@      ----    对象 -> 关于这个后面有详解另外,printf 别样显示:%md     ----    m表示显示的宽度 m是个正数 ,右对齐 (数据在右边)m是个负数 ,左对齐 (数据左边)如果m的值小于 最小显示的宽度 ,则m无效 例子:int a = 10;printf("%5d\n", a);%m.nf    ----   m表示显示的宽度(小数点算一个位置)m是个正数 ,右对齐 (数据在右边)m是个负数 ,左对齐 (数据左边)如果m的值小于 最小显示的宽度 ,则m无效n 代表保留的 小数位数 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,看了一下别人是怎么解决这个问题的BOOL studyBool = YES;NSLog(@"打印BOOL型数据%@",studyBool?@"YES":@"NO");//打印BOOL型数据YESNSLog(@"打印BOOL型数据%d",studyBool);//打印BOOL型数据1BOOL alsoBool = NO;NSLog(@"打印BOOL型数据%@",alsoBool?@"YES":@"NO");//打印BOOL型数据NONSLog(@"打印BOOL型数据%d",alsoBool);//打印BOOL型数据0%@    ----   Objective-C对象,印有字符串返回descriptionWithLocale:如果于的话,或描述相反.CFTypeRef工作对象,返回的结果的CFCopyDescription功能.(这个翻译有问题建议按照自己的理解方式理解)。

占位符的高级用法
			动态宽度和精度:可以使用*符号动态指定宽度和精度,这通常在函数中传递格式化参数时非常有用。int main() {int width = 10;double pi = 3.14159;printf("动态宽度:%*f\n", width, pi);return 0;}组合使用:占位符可以组合使用,以实现复杂的格式化输出。例如,可以同时指定宽度、精度和对齐方式。int main() {double pi = 3.14159;printf("宽度为10,精度为2,左对齐:%-10.2f\n", pi);return 0;}

占位符是C语言中非常重要的一个工具,它可以帮助我们实现格式化输出、字符串处理和文件输出。在使用占位符时,我们需要注意类型匹配、溢出和截断以及安全性问题。希望大家能够全面理解和掌握C语言中的占位符,并在实际编程中灵活运用这一工具。

以上,是关于【C语言】中占位符的介绍。

我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词