C语言程序设计——基于计算思维的培养 课件 第3章 格式化输入与输出.ppt

C语言程序设计——基于计算思维的培养 课件 第3章 格式化输入与输出.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第三章格式化输入输出

目录/Contents数据格式化输入函数scanf()数据格式化输出函数printf()

数据的输入与输出C语言无I/O语句,I/O操作由函数实现,如printf、scanf函数,这些函数定义在库函数stdio.h中#includestdio.h

变量可以从键盘获得数据吗?C语言如何从键盘获取数据?可以,通过scanf函数格式:scanf(“格式控制符”,变量地址);功能:从键盘按格式读取数据,并赋给变量。取地址运算符:scanf(“%d”,a);0x22fe48a问题的提出

格式scanf(格式控制字符串,输出项表列);scanf(“i=%f,j=%d,a,b);可以输入若干任意类型的数据函数名输入数据地址表列普通字符格式说明格式化输入scanf()非格式字符输入数据以,分隔没有时可以空格、Tab或回车分隔

未加修饰的转换字符在输入流中被匹配的字符对应参数的类型c任何字符,包括空白chard可选的有符号十进制整数inti可选的有符号十进制整数、八进制整数或十六进制整数intu可选的有符号十进制整数unsignedo可选的有符号八进制整数,不需要前导0unsignedx,X可选的有符号十六进制整数,不允许前导0x或0Xunsignede,E,f,g,G可选的有符号浮点数floatpprintf()中的%p所产生的通常是无符号十六进制整数voidscanf()的格式转换字符

m表示数据占用的宽度l加在d、o、x、u前:输入长整型加在f、e前:输入双精度型L加在f、e前:输入longdouble型scanf()的格式修饰符

#includestdio.hmain(){ inta,b; scanf(%d%d,a,b); printf(a=%d,b=%d\n,a,b);}问题1:当要求程序输出结果为:a=12,b=34时,用户应该如何输入数据?1234↙a=12,b=34↙a=12,b=34↙输入数据的格式控制

#includestdio.hmain(){ inta,b; scanf(%d%d,a,b); printf(a=%d,b=%d\n,a,b);}问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12,34↙时,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制

#includestdio.hmain(){ inta,b; scanf(%d%d,a,b); printf(a=%d,b=%d\n,a,b);}问题3:语句scanf(%d%d,a,b);修改为scanf(a=%d,b=%d,a,b);时,用户应该如何输入数据?a=12,b=34↙输入数据的格式控制

#includestdio.hmain(){ inta,b; scanf(%d%d,a,b); printf(a=%d,b=%d\n,a,b);}问题4:如果程序第5行语句输入项修改为a,b,那么结果又会如何呢?a,b输入数据的格式控制

【例3.1】编写程序,按如下数据输入格式从键盘输入一个整数乘法表达式:整数1*整数2然后计算并输出该表达式的计算结果,输出格式如下:整数1*整数2=计算结果C格式符问题及解决办法

#includestdio.hmain(){ inti,j; charop; printf(Pleaseentertheexpressioni*j\n); scanf(%d%c%d,i,op,j); printf(%d%c%d=%d\n,i,op,j,i*j);}Pleaseentertheexpressioni*j第1次测试12*3↙124199288=4199300C格式符问题及解决办法

C格式符问题及解决方法#includestdio.hmain(){ inti,j; charop; printf(Pleaseentertheexpressioni*j\n); scanf(%d%c%d,i,op,j); printf(%d%c%d=%d\n,i,op,j,i*j);}Pleaseentertheexpressioni*j第2次测试123↙123=36

C

文档评论(0)

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

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

1亿VIP精品文档

相关文档