实验四 数据的输入与输出.doc_第1页
实验四 数据的输入与输出.doc_第2页
实验四 数据的输入与输出.doc_第3页
实验四 数据的输入与输出.doc_第4页
实验四 数据的输入与输出.doc_第5页
全文预览已结束

下载本文档

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

文档简介

计算机程序设计实验报告实验四 数据的输入与输出一、实验目的1.掌握C程序输入输出语句的使用方法。2.掌握常用占位符的使用。3.掌握scanf,printf输出数据时格式的控制方法。二、预习内容1. 请总结使用scanf输入语句时,间隔符使用的注意点?(提示:空格、TAB和回车对%s同样适用)假设有int x; char c; double d; float f;四个变量,现有输入语句如下: scanf(“x=%d,d=%f,c=%c,f=%f”,&x,&d,c,&f);请问:以上scanf语句是否正确?如不正确请给出改正方法,如改正后想要使x获得3,c获得字符a,d获得3.1415,f获得12.3,则在键盘上应该如何输入这些值,请给出具体输入的方法。答:字符前后不用空格 回车Tab scanf(“%d%lf%c%f”,&x,&d,&c,&f);输入3空格3.1415a12.32. 输出语句printf具有灵活的显示格式控制能力,其能力是通过输出格式控制串来实现的,尤其是对变量输出所占列数的控制,请问printf是如何来实现对整数和浮点数实现显示列数控制的,请尽可能详细地说明?假设现有int x=12345; float y=-3.14159;现要求先输出一行参照行并换行,即12345678901234567890,然后在第二行将x输出时占8列显示且实现左对齐,紧接着让y占7列显示且保留3位小数,请给出具体的printf语句和现实结果,并说明y显示那个结果的原因。答:%md占m行 %m.nf m表示输出总宽度 n表示小数保留位数 (包括小数点)printf(“12345678901234567890n”);Printf(“%-8d,%7.3f”,x,y);3. 大家对printf语句的输出格式掌握后,下面这个内容课堂上没有涉及到,即scanf是否也能控制输入数据的列数呢。请大家完成下面的实验,并根据实验结果总结出你所获得的关于scanf语句在这方面的规则。 假设有:int x,y; char c; float z; scanf(“%2d%3d%c%f”,&x,&y,&c,&z); 假设用户在键盘上输入了一行数据为:123456789,请问下面语句输出的结果是什么? printf(“x=%d,y=%d;c=%c,z=%f”,x,y,c,z); 请根据实验结果总结规则。答:x=12,y=345,c=6,z=789.0000004. C语言中字符的输入输出除了可以使用scanf和printf实现外还可以使用哪两个字符专用的输入输出函数?并简要说明他们和scanf、printf的区别是什么?最后,使用字符专用的输入输出韩式编程实现从键盘输入一个字符,但要求输出其前后面第5个字符。(要求:如果输入的字符是26个字母表中的后5个的情况,则自动按尾巴接头的环型方式显示字母表中对应的开头字母,例如:如你输入的小写字母x,那么你应该显示的是小写字母c,输入的是大写字母,情况亦然,请将你的源代码和运行结果截图粘贴在本题的解答中。答:putchar在显示器上输出单个字符 putchar(a)输出字符a putchar(ch)输出ch 的值 Getchar char c; c=getchar();通常把输入的字符赋予一个字符变量#include int main()char a;printf(请输入一个字符:);a=getchar();if(a=65&a=78&a=97&a=110&a=122)a=109-(a-110);putchar(a);三、实验内容:1. 程序调试的目的是发现程序存在的错误并改正,请问C语言程序可能存在哪三种错误?然后,下面的程序实现的功能是从键盘输入一个三位数,然后判断其是否是水仙花数,所谓水仙花数,指的是该数每一位的立方和等于该数本身。例如:153就是一个水仙花数,因为13 + 53+ 33 = 153。但是下面这个程序存在多个错误,请利用VC+6.0调试并改正错误,注意对于逻辑性错误大家要学会单步调试的方法,即先设断点然后开始单步执行,执行是可以通过F10或F11来控制程序一条一条执行。存在错误的程序如下:请将正确的代码(文本)写在下面,并在修改之处用红色字体标明。#include int main() int x,b,g,s; printf(请输入一个三维数:%d); scanf(%d,x); b=x/100; s=x%10; g=x%10/10; if(b3+s3+g3=x); printf(%d是水仙花数!,x); else printf(很遗憾,你输入的%d不是水仙花数!);源代码:#include int main() int x,b,g,s; printf(请输入一个三维数:%d); scanf(%d,&x); b=x/100; s=x%10; g=(x-100*b)/10; if(b3+s3+g3=x) printf(%d是水仙花数!,x); else printf(很遗憾,你输入的%d不是水仙花数!,x);运行结果截图:2. 编程实现从键盘输入三个整数,并输出其中的最大数?请将源程序和运行结果截图粘贴在后面。源代码:#include int main() int a,b,c; printf(请输入三个数字:); scanf(%d%d%d,&a,&b,&c); if(ab) if(bc) printf(abc); else if(ac) printf(acb); else printf(cab); e

温馨提示

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

评论

0/150

提交评论