库函数printf的使用

本文详细介绍了C语言中的printf库函数,包括其基本概念、参数与占位符的使用、美观输出方法以及宽度限定技巧。后续还会涉及scanf库函数的讲解。
摘要由CSDN通过智能技术生成

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

目录

  1. 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<stdio.h>
int main()
{
	printf("hello world");//printf==输出,hello world是字符串需要使用双引号括起来
	return 0;
}

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

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位数。
a初始化为3.2,但经过printf输出后结果变成了3.200000
    不知道大家有没有强迫症啊,我看着感觉好不舒服啊,那有没有办法限制宽度呢,肯定是有的,接下来我给大家介绍一下这个方法:
    在printf中是允许限定占位符的最小宽度的,在占位符的标志%后面加上.[m]就可以限制宽度了,[m]等于一个实际值。
在这里插入图片描述
    当实际小数位数大于我们限定位数的话,系统会自动进行四舍五入计算。
    同时该方式还可以指定字符串的输出长度,简单来说就是可以指定只输出字符串开头的一部分。

int main()
{
	printf("%s\n","abcdef");		//zbcdef
	printf("%.3s\n","abcdef");		//abc
	printf("%3s\n","abcdef");		//abcdef
	return 0;
}

方法2

    还有另外一种限定宽度,上方这种方法是限定小数位数的,接下来这种方法是限定整体宽度的,包括小数点也算是一位,这种方法和上方的限定小数的方法很相似,但大家一定要要好好区分,在百分号%后加上限定宽度大小的数值就可以了。
    使用这种方法,当出现实际数值的位数小于限定宽度的数值时,系统会自动在输出文本的前面加上空格直到补足限定宽度。
大家看,123的前面多出来了两个空格
    默认情况下,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,这个库函数也是非常重要的,我们先按下不表,下一期见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值