本章节讲如何使用printf打印不同形式的内容,printf是c语言里常用的打印接口,也是c标准函数库,使用时需要#include <stdio.h>,下面讲讲如何使用printf:
一、printf 的基础知识:
1、printf常用打印规定符:
%d 打印十进制有符号整数 %u 打印十进制无符号整数 %lu 打印32位无符号整数 %llu 打印64位无符号整数 %f 打印浮点数 %s 打印字符串 %c 打印单个字符 %p 打印指针的值 %x, %X 打印无符号以十六进制表示的整数 %o 打印无符号以八进制表示的整数
2、printf常用转义符:
\n 换行 \f 清屏并换页 \r 回车 \t Tab符
二、举例说明
1、使用%d打印有符号十进制整数
#include <stdio.h>
int main(void)
{
int a,b; //定义a,b两个整数
a = 100; //给a赋值为100
b = -100; //给b赋值为-100
printf("a=%d\n",a); //使用%d打印a
printf("b=%d\n",b); //使用%d打印b
return 0;
}
运行结果:
a=100 b=-100
2、使用%u打印无符号十进制整数
#include <stdio.h>
int main(void)
{
int a,b;
a = 100;
b = -100;
printf("a=%u\n",a);
printf("b=%u\n",b);
return 0;
}
运行结果:
a=100 b=4294967196
所以使用%u去打印-100时,出现了错误。
3、使用%f打印浮点型
#include <stdio.h>
int main(void)
{
float a;
double b;
a = 3.14;
b = 3.14;
printf("a=%f\n",a);
printf("b=%f\n",b);
return 0;
}
运行结果:
a=3.140000 b=3.140000
float和double 都可以直接使用%f来打印。
4、使用%s打印字符串
#include <stdio.h>
int main(void)
{
char str[] = "Hello world!"; //定义一个字符数组,其实就是字符串,字符串是以\0为结尾的字符数组
printf("str:%s\n",str);
return 0;
}
运行结果:
str:Hello world!
5、使用%c打印字符:
#include <stdio.h>
int main(void)
{
char c; //定义字符变量c,
c = 'a'; //给字符变量c赋值,
printf("%c\n",c); //打印字符变量c, 其中%c是代表打印输出字符变量。
return 0;
}
运行结果:
a
6、使用%p打印指针地址值:
#include <stdio.h>
int main(void)
{
int a; //定义整数变量a
printf("%p\n",&a); //其中&a是指定a变量的内存地址,%p是指打印内存地址。
return 0;
}
运行结果:
0x7fff86e6604c
这里的结果和你运行的结果会不一样,这里打印的是变量a的内存地址。
7、使用%x, %X打印十六进制数
%x打印十六进制数,以小写形式
%X打印十六进制数,以大写形式
#include <stdio.h>
int main(void)
{
int a;
a = 0xab; //直接用十六进制数0xab赋值
printf("a=%x\n",a);
printf("a=%X\n",a);
return 0;
}
运行结果:
a=ab a=AB
8、以%o打印无符号八进制
#include <stdio.h>
int main(void)
{
int a;
a = 100;
printf("a=%o\n",a);
return 0;
}
运行结果:
a=144