首页 理论教育 全国计算机等级考试教程:scanf函数输入数据

全国计算机等级考试教程:scanf函数输入数据

时间:2023-11-20 理论教育 版权反馈
【摘要】:在scanf函数的格式字符前可以加入一个正整数指定输入数据所占的宽度,但不可以对实数指定小数位的宽度。输入short型整数,格式控制要求用%hd。scanf函数有返回值,其值就是本次scanf调用正确输入的数据项的个数。

全国计算机等级考试教程:scanf函数输入数据

1.scanf函数的一般调用形式

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

其中,scanf是函数名,括号内由以下两部分组成。

(1)格式控制:主要作用是指定输入时的数据转换格式,即格式转换说明。用双引号括起来的字符串是“格式控制”字符串,它包含两种信息。

①格式转换说明,由“%”和格式字符组成,如%d、%f等。格式描述字符要与输入项一一对应且类型匹配。

②需要原样输入的字符(通常是指除了格式说明与一些转义字符外的那部分)也写在“格式控制”内。

(2)地址表列:由若干个变量地址组成,既可以是变量的地址,也可以是字符串的首地址。例如,若k为int型变量,a为float型变量,y为double型变量,可通过以下函数调用语句进行输入:

scanf("%d%f%lf",&k,&a,&y);

输入项之间用逗号隔开。对于int、float和double型变量,在变量之前必须加&符号作为输入项(&是C语言中的求地址运算符,输入项必须是地址表达式)。

2.scanf函数的格式说明

每个格式说明都必须用%开头,以一个“格式字符”作为结束。通常允许用于输入的格式字符及其相应的功能如表3-2所示。

表3-2 用于输入的格式字符及其功能

使用说明:(www.xing528.com)

(1)对unsigned型变量的数据,可以用%d、%o、%x格式输入。

(2)在scanf函数的格式字符前可以加入一个正整数指定输入数据所占的宽度,但不可以对实数指定小数位的宽度。

(3)输入short型整数,格式控制要求用%hd。要输入double型数据,格式控制必须用%lf(或%le)。否则,数据不能正确输入。

(4)在格式串中,必须含有与输入项一一对应的格式转换说明符。若格式说明与输入项的类型不一一对应匹配,则不能正确输入,而且编译时不会报错。若格式说明个数少于输入项个数,scanf函数结束输入,则多余的输入项将无法得到正确的输入值;若格式转换说明个数多于输入项个数,scanf函数也结束输入,多余的数据作废,不会作为下一个输入语句的数据。

(5)scanf函数有返回值,其值就是本次scanf调用正确输入的数据项的个数。

3.程序实例

【实例1】

仅第一个字符d赋给变量a。

【实例2】

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈