内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 1.4 数据的输入函数ppt课件
1
格式化数据的输入函数
Teacher teaching design
CONTENTS
目 录
数据的输入函数
格式控制字符串
附加格式说明符
案例分析 仿真演练
数据输入格式
明确考点 交流提升
数据的输入函数
PART 01
数据的输入函数
数据的输入函数
scanf函数称为格式输入函数,它可以按用户指定的格式从键盘上把数据输入到指定的变量中。
1、 scanf函数的一般形式是:
scanf(“格式控制字符串”,地址表列);
功能:按“格式控制字符串”的要求,从键盘上把数据输入到变量中。
说明:
①、地址列表中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
例如:&a, &b
【解析】分别表示变量a和变量b 的地址。这个地址就是编译系统在内存中给a,b变量分配的地址。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。
②、 变量地址表由若干个被输入数据的地址组成,相邻地址之间,用逗号分开。地址表中的地址,可以是变量的地址,也可以是字符数组名或指针变量。
③<格式控制字符串>和<地址列表>的关系是数量、类型及位置要从左至右一一对应,在格式控制字符串>中指定变量接收输入值的位置和格式。
例如:从键盘上输入三个整数: scanf("%d,%d,%d”,&a,&b,&c);
思考:如果格式控制字符串与变量地址没有一 一对应时,会出现什么结果?如:
①、scanf("%d,%d",&a,&b,&c); ②、 scanf("%d",&a,&b,&c);
格式控制字符串
PART 02
格式控制字符串
格式控制字符串
①、格式字符串的一般形式为:%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下:
类型:表示输入数据的类型,其格式符和意义如输入数据的类型表所示。
格式 字符意义
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串
附加格式说明符
PART 03
格式举例
(1)宽度n: 指定输入数据的列宽为n。
即,只接收输入数据中相应的n位,赋给对应的变量,多余部分舍去。
例如,scanf("%2c%c",&c1,&c2);
printf("c1=%c,c2=%c
",c1,c2);
如果输入“abcd”,则系统将读取的“ab”中的“a”赋给变量c1;将读取的“cd”中的“c”赋给变量c2,所以printf()函数的输出结果为:c1=a,c2=c。
思考:scanf("%5d",&a);
输入:12345678 则a的值是
scanf("%4d%4d",&a,&b);
输入:12345678 则变量a,b的值是
(2)抑制符号 *
该字符可以使对应的数据输入后,被抑制,不赋给任何变量。如:
scanf("%2d%*2d%2d",&x1,&x2);
printf("x1=%d,x2=%d
",x1,x2);
如果输入112233↙,则输出结果为:
(3)字符l--%ld.%lo,%lx,%lu,用于输入长整型数据;%lf,%le,用于输入实型数据。
(4)字符h--%hd.%ho,%hx,用于输入短整型数据
数据输入格式
PART 04
数据输入格式
(1)如果相邻格式说明符之间,没有数据分隔符号(如%d%d ),则由键盘输入的数据可以用空格分隔(至少一个),或者用Tab键分隔,或者输入1个数据后按“回车”,然后再输入下个数据。
例如,scanf("%d%d",&x1,&x2);
如果给x1输入11,给x2输入33,则正确的输入操作为:11□33↙
或者:11↙
33↙
(2)“格式控制字符串”中出现的普通字符(非格式字符),包括转义字符,需要原样输入。否则产生对应错误,这点务必注意,例如,
scanf("%d,%d",&x1,&x2);
输入格式为:11,33↙
scanf("%d :%d",&x1,&x2);
输入格式为:11 :33↙
scanf("x1=%d,x2=%d
",&x1,&x2);
输入格式为: x1=11,