目录
2.3 printf("输出控制符1 输出控制符2 ,,,,,,,, ", 输出参数1, 输出参数2,....... );
2.4 printf("输出控制符 非输出控制符 ",输出参数);
1. printf简介
printf函数是格式化输出函 ,数,一般用于向标准输出设备按规定格式输出信息。在C语言中产生格式化输出的函数。其向终端输出字符。printf中的f的意思是format,它的作用是按照指定的格式输出数据。printf也是C语言中很重要的一个函数,它能让用户可以与程序交流,是一个多才多艺的函数。 printf 将变量的内容输出到显示器上。
函数原型; int ( const char * format, ... ); |
2. printf的四种用法
2.1 printf("字符串");
这是我们最开始接触用法 hallo world就这种用法
#include<stdio.h>
int main(void)
{
printf("hallo world!\n"); //\n是换行
return 0;
}
其中的hallo world可以用任意字符代替 比如THE WORLD 白金之星之类的
2.2 printf("输出控制符",输出参数);
#include<stdio.h>
int main(void)
{
int i = 5;
printf("%d", i); //d是十进制
return 0;
}
这里我写的是5,也就是把5的二进制代码用十进制表示出来。所以在这里的 i 指的不是5而是5的二进制代码,不同的格式所表现的不一样,如
#include<stdio.h>
int main(void)
{
int i = 100;
printf("%X", i); //X是十六进制
return 0;
}
这里是把100的二进制代码用十六进制表现出来,结果是64,因此可以体现输出控制符的重要性。它决定了把二进制代码以什么形式输出的。
2.3 printf("输出控制符1 输出控制符2 ,,,,,,,, ", 输出参数1, 输出参数2,....... );
当然了这其中输出控制符1对应输出参数1,2对应2,依此类推。
#include<stdio.h>
int main(void)
{
int j = 6;
int k = 9;
printf("%d %d\n", j, k);
return 0;
}
这里我们不能用一个%d表示两个参数,因为语法不是这样规定的(创始人这样规定的没办法)。同时输出控制符与输出参数的个数必须匹配,一一对应。
2.4 printf("输出控制符 非输出控制符 ",输出参数);
这里我们需要了解的是什么是输出控制符,什么是非输出控制符。作为初学者,我认为带%的大部分应该都是。比如 %d %f %x %c之类的。
#include<stdio.h>
int main(void)
{
int f =47; //100是十进制
printf("%x" ,f) //输出结果是2f
printf("%X" ,f) //输出结果是2F
printf("%#X" ,f); //输出结果是0x2F
printf("%#x" ,f); //输出结果是0x2f
return 0;
}
这里%#X的优势就体现出来了,有了0x可以体系这是十六进制。
输出控制符包括如下
%d -- int
%ld -- long int
%c -- char
%f -- float
%lf -- double
%x -- int 或 long int 或 short int
%o -- 同上
%s -- 字符串
我们运用非输出控制符可以使程序更美观,比如这样
#include<stdio.h>
int main(void)
{
int j = 6;
int k = 9;
printf("j = %d, k = %d\n", j, k); //输出结果j = 6,k = 9
return 0;
}
这么一看,这不漂亮多了,这样让人看得也很舒服明了
3. printf为什么需要输出控制符
首先,01组成的代码可以表示数据也可以表示指令,打个比方,010101010111000这一串它表示的是一个数字还是一个字符还是一个电影或图片,这我们无法知道。这01本身没有含义,取决我们如何来解读。所以必须要有有输出控制符来解读,要不然谁知道这是啥意思。
其次,如果01组成的代码表示的是数据的话,那么同样的01代码以不同的格式输出就会有不同的输出结果。所以我们就需要一个输出控制符。
最后感谢大家的观看,希望大家可以在评论区指出我的不足,如果可以点一个赞,谢谢。