printf是输出一个字符串,putchar输出一个char。
|-------------|----------------|------------------------------------------------------------------------------------------------------------------------------------------|
| 占位符 | 对应数据类型 | 含义 |
| %c | char | 用于输出单个字符类型。 可以把输入的数字按照ASCII码相应转换为对应的字符 |
| %hd | short int | 输出short类型短整数 |
| %hu | unsigned short | 输出unsigned short类型短整数 |
| %s | char * | 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0'结尾,这个'\0'即空字符) |
| | | |
| %d | int | 输出一个有符号的10进制int类型数值 |
| %u | unsigned int | 输出一个无符号10进制int整型整数 |
| %o(字母o) | unsigned int | 输出 无符号8进制int类型 整数 |
| %ld | | 使用 %ld 格式化输出 signed long int |
| %lld | | %lld 用于输出 signed long long |
| | | |
| | | |
| %lu | | 使用 %lu 格式化输出 unsigned long int |
| %llu | | %llu 用于输出 unsigned long long |
| | | |
| %x %X | unsigned int | 输出无符号16进制整数,x字母以小写输出 abcdef,X字母以大写输出 ABCDEF |
| | | |
| %f | float | 表示输出一个单精度浮点数 %f默认只输出 6 位小数 会四舍五入 |
| %.2f | float | 表示输出一个单精度浮点数 只保留2位小数 会四舍五入 |
| %.9f | float | 表示输出一个单精度浮点数 保留9位小数 会四舍五入 |
| %lf | double | 表示输出一个双精度浮点数 默认保留六位小数 会四舍五入 |
| %e,%E | double | 科学计数法表示的数,此处"e"的大小写代表在输出时用的"e"的大小写 |
| | | |
| %zu | | 专门用于打印 size_t(别名) 类型的无符号整数变量 |
| %p | void * | 表示输出一个变量对应的内存地址编号(无符号十六进制整型数) C 标准明确规定 %p 要求 void* 类型的参数,使用 (void*) 是最安全和可移植的方式。 %p可以打印变量或指针的内存地址。(注意,为了兼容性,通常将地址转换为void*类型进行打印。) |
| %% | % | 输出一个百分号 |
| | | |
| l(字母l) | | 附加在d,u,x,o前面,表示长整数 |
| - | | 左对齐 |
| m(代表一个整数) | | 数据最小宽度 |
| 0(数字0) | | 将输出的前面补上0直到占满指定列宽为止不可以搭配使用- |
| m.n(代表一个整数) | | m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。 |
cpp
#include<stdio.h>
int main() {
int a = 123; //定义变量a,以10进制方式赋值为123
printf("a = %d\n", a); // a = 123
int b = 0567; //定义变量b,以8进制方式赋值为0567
printf("8进制:b = %o\n", b); //8进制:b = 567
printf("10进制:b = %d\n", b);// 10进制:b = 375
int c = 0xabc; //定义变量c,以16进制方式赋值为0xabc
printf("16进制:c = %x\n", c); //16进制:c = abc
printf("16进制:c = %X\n", c);//16进制:c = ABC
printf("10进制:c = %d\n", c); //10进制:c = 2748
unsigned int d = 0xffffffff; //定义无符号int变量d,以16进制方式赋值
printf("有符号方式打印:d = %d\n", d); //有符号方式打印:d = -1
printf("无符号方式打印:d = %u\n", d); //printf("无符号方式打印:d = %u\n", d);
return 0;
}