第2章基本类型数据及其运算精选.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.8.2 格式化输入函数scanf 函数scanf一般格式为: scanf(格式控制,地址列表); 地址列表是若干输入项的地址,各地址之间用逗号“,”分隔。在变量名前加取地址运算符“”表示该变量地址。 2.8.2 格式化输入函数scanf 例如: int m; float x; scanf(%d%f ,m,x); 不能写成: scanf(%d%f ,m,x); 2.8.2 格式化输入函数scanf 格式控制用于指定数据的输入格式,是用双引号括起来的一个字符串,由格式说明和普通字符两部分组成。 (1)格式说明 格式说明规定了数据以何种类型的数据格式被输入。 一般形式是: % [ 修饰符 ] 格式字符 scanf中格式字符与printf中的格式字符相同。 scanf中修饰符有:m、h、l 2.8.2 格式化输入函数scanf (2)普通字符 格式控制字符串中的普通字符在输入数据时要照原样输入。例如: int a,b; scanf(a=%d,b=%d,a,b); 则输入应为: a=5,b=6↙ 2.8.2 格式化输入函数scanf (3)输入格式说明与输入项的关系如图2-18所示: 2.8.2 格式化输入函数scanf 1.输入数据的结束标志 (1)空白字符:空格键、Enter键和Tab键 例如: int year,month,day; scanf(%d%d%d,year,month,day); 可以输入为: 2012 9 10↙ 也可以输入为: 2012↙ 9 10↙ 2.8.2 格式化输入函数scanf (2)指定数据宽度 例如: int year,month,day; scanf(%4d%2d%2d,year,month,day); 可以输入为: 则将2012→year,12 → month,21 → day。 注意:也可以用空格、Enter键或Tab键作为分隔,即可以输入为: 2012 12 21↙ 2.8.2 格式化输入函数scanf (3)指定数据分隔符 用普通字符作为输入数据的分隔符,例如: scanf(%d-%d-%d,year,month,day);   输入应为: 2012-12-12↙ 如果输入为: 2012,12,12 则2012 → year 由于没有遇到“-”,scanf函数就结束执行,month和day的值不变。 2.8.2 格式化输入函数scanf (4)遇到非法字符,例如: scanf(%d ,m); 若输入:12o9↙ 由于12之后遇到字符o ,第1个数据到此结束,所以把12赋给m。 2.8.2 格式化输入函数scanf 2.格式说明%c 格式说明%c用于输入单个字符,从键盘上输入的空白字符将作为有效字符读入,例如: char ch1,ch2,ch3; scanf(%c%c%c,ch1,ch2,ch3); 如果输入: abc↙ 则将a赋给ch1,b赋给ch2,c赋给ch3。 如果输入: a↙ b c↙ 则将a赋给ch1,↙赋给ch2,b赋给ch3。 2.8.2 格式化输入函数scanf 3.格式说明的类型与输入项的类型必须匹配 在scanf函数中,格式说明的类型必须与输入项的类型由左至右一一对应匹配,如果不匹配,输入项将不能得到正确的值. 例如: int a; float m; scanf(%d%d,a,m); 2.8.2 格式化输入函数scanf 【例2-5】在程序中有3个scanf函数调用语句,要使a=5,b=10,m=4.5,n=-7.6,ch1= A ,ch2= a 。 #include stdio.h int main() { int a,b; float m,n; char ch1,ch2; scanf(%d%d,a,b); scanf(m=%f,n=%f,m,n); scanf(%c%c,ch1,ch2); printf(a=%d,b=%d\n,a,b); printf(m=%f,n=%f\n,m,n); printf(ch1=%c,ch2=%c\n,ch1,ch2); return 0; } 如果输入: 5 10↙ m=4.5,n=-7.6↙ 运行结果: a=5,b=10 m=-107374176.000000,n=-107374176.000000 ch1= ,ch2

文档评论(0)

2226657222 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档