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