程序设计与计算思维 课件【ch04】输入与输出_第1页
程序设计与计算思维 课件【ch04】输入与输出_第2页
程序设计与计算思维 课件【ch04】输入与输出_第3页
程序设计与计算思维 课件【ch04】输入与输出_第4页
程序设计与计算思维 课件【ch04】输入与输出_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计与计算思维输入与输出第四章案例12:整型数据输入01一、案例12:整型数据输入Prog12.1一、案例12:整型数据输入注释:(1)scanf("%d",&a);,%d控制输入一个整型数据,&a要求输入数据传送的方式为输入对象的地址,输入格式:scanf(格式控制符串,输入地址项列表)。例如,整型数据b的输入:scanf(%d",&b);。(2)scanf("%d%d",&a,&b);,"%d%d"表示连着输入两个整型数据,交互输入:23(space)14或

23(tab)14

23(enter)14。scanf("%2d%3d",&a,&b);,"%2d%3d"表示通过宽度控制输入,交互输入:23456,则23(宽度为2)输入整型变量a中,456(宽度为3)输入整型变量b中。scanf("%d%*d%d",&a,&b);,"%d%*d%d"表示通过%*d放弃对应输入,交互输入:23

14

58,则23输入整型变量a中,14被放弃,58(宽度为3)输入整型变量b中。(3)交互输入:运行程序时由用户提供输入数据,程序员在编写程序时要定义数据形式及输入格式。Prog12.1案例13:实型数据输入02二、案例13:实型数据输入Prog13.1二、案例13:实型数据输入Prog13.1注释:(1)scanf("%f",&a);,%f控制输入单精度实数;scanf("%1f,&b);,%lf控制输入双精度实数。(2)执行scanf("%7f",&a);,交互输入:23.765892,实数宽度为9,则取左边7列输入实型变量a中,输出:3:a=23.765800(第八列9和第九列2被舍弃),如图4.2所示。(3)输入实型数据错误的格式有"%m.nf',例如,scanf("%7.2f",&a);是非法的。案例14:字符型数据输入03三、案例14:字符型数据输入Prog14.1三、案例14:字符型数据输入Prog14.1注释:(1)scanf("%c",&a);,%c控制输入字符型数据,执行printf("1:a=%c,a=%d\n",a,a);,输出:1:a=d,a=100,字符变量a中存储的是字符d,其ASCII码值为100。执行a=getchar();,库函数getchar()的功能是输入一个字符型数据并将该数据赋值给变量a,输出:4:a=d,a=100,则scanf("%c",&a);等价于a=getchar();。(2)执行scanf("%c",&a);,输入:entera:d(回车),输出:1:a=d,a=100。执行a=getchar();,输入:entera:(未能交互),输出:2:a=(回车),a=10,则第一次输入的回车被第二次作为输入,因此第二次输出的是一个回车(enter),其ASCII码值为10,因为回车(enter)也是一个字符。(3)如果在一个程序中字符不是第一个输入,正确解决输入的方法是,先执行getchar();,吸收前面的回车(enter),再执行a=getchar();案例15:数值型数据与字符型数据混合输入04四、案例15:数值型数据与字符型数据混合输入Prog15.1四、案例15:数值型数据与字符型数据混合输入Prog15.1注释:(1)scanf("%d%c%d",&a,&c,&b);,"%d%c%d"格式控制符串中,%d%c表示数值型数据与字符型数据连着输入,%c%d表示字符型数据与数值型数据连着输入。(2)第一次输入:1entera,c,b:23d14,则23传送给数值变量a,d传送给字符变量c,14传送给数值变量b,输出:1:a=23,b=14,c=d,结果正确,说明用户输入时数值型数据与字符型数据之间及字符型数据与数值型数据之间不要分隔符。第二次输入:2entera,c,b:23d14,23传送给数值变量a,d传送给字符变量c,d与14之间有空格分隔,14传送给数值变量b,输出:2:a=23,b14,c=d,结果正确,说明用户输入时字符型数据与数值型数据之间可以用空格分隔符。第三次输入:3entera,c,b:23d14,23传送给数值变量a,空格传送给字符变量c,14没有传送给数值变量b,输出:3:a=23,b=2,c,结果不是预期的,说明用户输入时数值型数据与字符型数据之间不可以用空格分隔符。(3)连续输入解决方法:将scanf("%d%c%d",&a,&c,&b);替换成scanf("%d",&a);c=getchar();scanf("%d",&b);,输入功能相同。案例16:整型数据输出05五、案例16:整型数据输出Prog16.1五、案例16:整型数据输出Prog16.1注释:(1)printf("1:a=%d,b=%d,c=%d+%d=%d\n",a,b,a,b,c);,"%d"控制输出一个整型数据,输出格式:printf("格式控制符串",输出项列表);,格式控制符串由两部分组成,分别是普通字符和格式控制符。本案例中,普通字符:1:a=,b=,c=+=\n,格式控制符:%d,如图4.5所示。(2)执行printf("1:a=%d,b=%d,c=%d+%d=%d\n",a,b,a,b,c);,输出:1:a=23,b=14,c=23+14=37,其中,a=%d中的%d控制输出a,b,a,b,c列表中第一项变量a的值23,b=%d中的%d控制输出a,b,a,b,c列表中第二项变量b的值14,c=%d+%d=%d中的%d+%d和最后一个%d依次控制输出a,b,a,b,c列表中第三项变量a的值23、第四项变量b的值14及第五项变量c的值37,格式控制符串%d+%d不具有计算功能。五、案例16:整型数据输出Prog16.1执行printf("2:a=(right)%5d(left)b=%-5d|c=%d+%d=%+d\n",a,b,a,b,c);,输出:2:a=(right)23|(left)b=14

|c=23+14=+37。其中,(right)|%5d|中的%5d控制输出a,b,a,b,c列表中第一项变量a的值占用宽度为5,变量a的值23占用宽度为2,因此输出:(right)23|。23的左边有3个空格。K(left)b=%-5d|控制输出a,b,a,b,c列表中第二项变量b的值占用宽度为5,变量b的值14占用宽度为2,因此输出:(lefi)b=14

|。%-5d的“-”控制14的右边有3个空格。格式控制符串中的%+d,控制输出:+37,“+”控制输出正号。执行a=1234567;printf("3:a=1%5d|n",a);,输出:3:a=1234567]。其中,|%5d|中的%5d控制输出变量a的值占用宽度为5,但变量a的值为1234567,全部输出需要占用7列,如果以5列输出a,则结果不准确,因此不受5限制,如图4.5所示。(3)整型数据可以通过宽度变量n指定,通过参数符号“-”和“+”设置输出效果,这种控制对实型数据输出有同样效果。案例17:实型数据输出06六、案例17:实型数据输出Prog17.1六、案例17:实型数据输出Prog17.1注释:(2)执行printf("1:a=%f,b=%f\n",a,b);,输出:1:a=23.456699,b=0.140000。%f控制输出一个实型数据,单精度实型数据和双精度实型数据输出均使用%f,输出时默认小数位数为6,单精度实型数据输出的小数值可能与实际值相差不大于1e-6的值,如图4.6所示。六、案例17:实型数据输出Prog17.1(2)执行printf("2:a-/%.2fb=%12.4fNn",a,b);,输出:2:a-23.46/b=0.1469[。%.2f控制输出结果小数位数为2,输出:23.46(23.4567小数点后有4位,第3位四舍五入)。%12.4f控制输出结果占用宽度12位,其中小数位数为4位。执行a=23.4567894;printf("3:a=|%f|\n",a);,输出:3:a=|23.456789|,实数的最大输出宽度为“整数部分宽度+6+1”,如图4.6所示。(3)实数的输出格式控制符还有%e、%g等。例如,%e控制输出宽度为13列(输出:4:a=|2.345679e+001|,其中2.345679e+001占用输出宽度为13列);%n.mf中n控制整个实数的输出宽度,m控制输出小数位数。案例18:字符型数据输出07七、案例18:字符型数据输出Prog18.1七、案例18:字符型数据输出Prog18.1注释:(1)执行printf("1:a=%c,a=%d\n",a,a);,输出:1:a=A,a=65。%c控制输出一个字符型数据,对字符型数据也可输出其ASCII码值。执行putchar(2');,输出一个字符2。(2)执行putchar('2');···putchar('n');,输出:2:a=A,a=65,则printf("1:a=%c,a=%d\n",a,a);等价于putchar('2');···putchar('\n');,如图4.7所示。(3)putchar(ch);⇔scanf("%c",ch)。案例19:文件数据写人和读出08八、案例19:文件数据写人和读出Prog19.1八、案例19:文件数据写人和读出Prog19.1八、案例19:文件数据写人和读出Prog19.1八、案例19:文件数据写人和读出Prog19.1注释:(1)FILE*fp定义文件指针fp,FILE是文件类型。fp=fopen("abc.txt","w")的功能是打开文件,通用格式为fopen("文件名","文件读写模式")。fopen("abc.txt","w"),文件名是abc.txt,打开模式为w(表示“写模式”),该文件可以事先不存在,打开时系统会自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论