初识scanf和printf函数

本文详细介绍了C语言中的输入输出函数printf和scanf的使用方法。printf用于格式化输出,包括指定输出格式和输出数据列表;scanf则用于格式化输入,需要注意数据间隔和地址表列。在使用中,应注意各种格式声明、数据类型匹配以及输入间隔等问题。通过实例代码展示了如何正确使用这两个函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,scanf即输入函数,printf即输出函数。

一.printf

向终端输出若干个任意类型的数据

printf(控制格式,输出表列)

printf("a=%d,b=%c \n",i,c);

其中,a,b为普通字符,%d,%c为格式声明,二者合为"格式控制"。i,c则为输出列表。

注:

1.格式声明:由%和格式字符构成,作用是将输出的数据转换为指定的格式后输出。

2.普通字符:即需要在输出时原样输出的字符。

输出表列是程序需要输出的一些数据,可以是常量、变量、或表达式。

例如输入程序:

#include<stdio.h>
int main()
{
int x=65,y=10;
int a,b;
printf("a=%d,b=%d",x,y);
}

运行结果如下:

 可见,a,b作为普通字符是原样输出的,真正需要输出的数据是输出列表中的数,也就是上述程序中x,y对应的值。(所以说printf是规行矩步的输出语句)

二.scanf

按照规定的格式规范输入数据

scanf(格式控制,地址表列)

scanf("a=%f,b=%f",&a,&b)

与printf不同的是,在scanf中格式控制后是地址表列(具体不作详解)。

特别注意scanf函数没有计算功能,所以要注意以下事项:

1.输入多个整形数据或实形数据时,可用空格、回车或制表符作间隔;

2.输入多个字符型数据时,数据间不可使用分隔符(原因是空格等本身就是一个字符);

3.若指定了输入数据的宽度,则系统自动按其截取所需数据;

4.%后加*表示跳过相应的数据接收。

下面用例子将上述部分注意事项形象化

#include<stdio.h>
int main()
{
	int a,b;
	printf("input two numbers:");
	scanf("%d%d",&a,&b);
	printf("a=%d,b=%d",a,b);
}

运行上述程序的结果为

输入两个整数:例如输入30和50,得到如下结果:

 这里我将30和50间用回车键间隔,会出现上图效果,两个数字在不同的两行;若不用任何间隔,则输出的是3050,不再是两个数30和50。

当然,也可以将scanf("%d%d",&a,&b);换为scanf("%d,%d",&a,&b);即在两个%d之间加上一个",",这样在输入数据时不使用空格等间隔,而要使用“,”(即逗号)将两个数字隔开,若不用逗号,数据将会出错。

如下:

 结果无影响,只是输入数字时的方式不同。

注:

在编写程序时不要忘写库函数(不写的话有时也可以运行,但会产生警告),还有每句程序后的“;”.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值