库函数printf的使用

库函数printf的使用

经过为期两周的时间,通过学习对printf有了摸底式的了解,接下来就给大家详细讲一讲这个库函数的使用方法。

目录

printf简介

1.1.printf的参数

1.2.printf的占位符

1.3.printf美观使用

1.4.printf的限定宽度

1.printf简介

在介绍printf之前,我们思考一下,在编程的时候,我们是把问题描述给计算机听,并相应的命令计算机进行相关运算,那么我们应该怎么描述?应该是使用计算机语言进行描述的对吧,在描述给与计算机并下达指令了之后,计算机进行相应的运算,是不是需要将运算结果出现在我们的电脑之上?这个时候我们就需要用到printf。

printf的意义就在于把运算结束产生的参数文本打印到屏幕,可以理解为输出,将结果输出到屏幕之上呈现于人民的视线之内。

printf的f代表format即格式化,print为打印,表示为定制输出文本的格式。

&ensp:既然printf归属于库函数,那是不是应该需要有头文件才能正常使用printf呢?这里就不卖关子了,直接告诉大家吧,printf的头文件是stdio.h

#include

int main()

{

printf("hello world");//printf==输出,hello world是字符串需要使用双引号括起来

return 0;

}

未使用头函数的结果就是系统会报错,大家一定要记得使用头文件,可以记忆错误系统所产生的信息,以便以后看到报错信息能够及时反应错误的地方。

1.1printf的参数

printf()一般有两种参数

例:printf(“%d”,a)。

第一个参数是用于指定输出格式,都是以占位符加相应格式为主。所谓占位符就是指该位置可以使用其他值进行替代

第二个参数是用于替代占位符的值,两个参数之间使用逗号隔开。

int main()

{

printf("一周有%d天",7);

return 0;

}

1.2printf的占位符

占位符的第一个字符一律都是百分号%,第二个字符指定占位符的类型,在printf里可以使用多个占位符,这也就意味着可以同时输出多个结果。

常用的占位符有:

%c //字符

%d //十进制整数,与//int相呼应

%f //浮点型数值,包含float类型和double类型

//flout类型对应使用%f

//double类型对应所以%lf

%Lf //long double类型

%p //指针,用于打印地址(暂时不做了解,按下不表)

%s //字符串

%u //无符号整型

%x //十六进制整型

%zd //size_t类型

%% //输出百分号

printf的参数于占位符是一一对应的关系,如果有n个占位符,那对应的参数就有(n+1)个,如果参数个数少于对应的占位符,printf可能会输出内存中的任意数值

1.3printf美观使用

同时使用两个库函数print时,第一个printf运行结束之后光标停留在输出结束的地方,当第二个printf运行结束之后直接在光标停留处打印结果,这样就会导致最终输出不美观。

为了让光标移动到下一行的开头,可以在输出文本的结尾加上\n,\n名为换行符,效果如其名。

如果想要在内部换行,也可以通过在内部加上\n换行符解决.

1.4printf的限定宽度

方法1

使用%f的时候大家是不是都发现了最终打印出来的结果小数点后面都有6位数,即便没有6位数也会用0补足6位数。

不知道大家有没有强迫症啊,我看着感觉好不舒服啊,那有没有办法限制宽度呢,肯定是有的,接下来我给大家介绍一下这个方法:

在printf中是允许限定占位符的最小宽度的,在占位符的标志%后面加上.[m]就可以限制宽度了,[m]等于一个实际值。

当实际小数位数大于我们限定位数的话,系统会自动进行四舍五入计算。

同时该方式还可以指定字符串的输出长度,简单来说就是可以指定只输出字符串开头的一部分。

int main()

{

printf("%s\n","abcdef"); //zbcdef

printf("%.3s\n","abcdef"); //abc

printf("%3s\n","abcdef"); //abcdef

return 0;

}

方法2

还有另外一种限定宽度,上方这种方法是限定小数位数的,接下来这种方法是限定整体宽度的,包括小数点也算是一位,这种方法和上方的限定小数的方法很相似,但大家一定要要好好区分,在百分号%后加上限定宽度大小的数值就可以了。

使用这种方法,当出现实际数值的位数小于限定宽度的数值时,系统会自动在输出文本的前面加上空格直到补足限定宽度。

默认情况下,printf输出的文本均是右对齐,即输出的内容前面会有空格补齐,但如果希望改为左对齐,在输出的文本后面添加空格,可以在%的后面插入一个“-”号。

int main()

{

printf("%dyy\n", 123); //123yy

printf("%-5dyy\n", 123); //123 yy

printf("%5dyy\n", 123); // 123yy

return 0;

}

还有就是我们以后编程有可能需要printf输出的值带有一个“+”号,虽然我觉得用处很小哈哈,也有可能是现在学习的还不是很深入,看待这个有点目光短浅吧哈哈哈。

回归正题,在默认情况下,printf只会显示“-”号,但我们在占位符%后面加一个“+”号就可以正常输出我们想要的结果了,并不会影响到数值的实际正负哈。

int main()

{

printf("%d\n",1); //1

printf("%d\n",-1); //-1

printf("%d\n",+1); //14

printf("%+d\n",-1); //-1

printf("%+d\n",1); //+1

return 0;

}

但是大家要区分好哈,%后面加“-”和加“+”用法是不一样的。

1.加“-”是改变输出文本的默认方向

2.加“+”是给输出文本加上“+”号

二者有本质区别

2.0结尾

printf是C语言编程中非常重要的库函数之一,下一期给大家介绍scanf,这个库函数也是非常重要的,我们先按下不表,下一期见!

相关

最晕金哨退休进日本足协 曾错把郜林当李玮锋罚下
体育在线365下载

最晕金哨退休进日本足协 曾错把郜林当李玮锋罚下

📅 08-06 👁️ 8619
信而富放款时间是几点?申请到到账全流程解析
体育在线365下载

信而富放款时间是几点?申请到到账全流程解析

📅 07-02 👁️ 5656
哈罗45天骑行卡在哪领 HelloBike免费骑45天骑行卡领取方法