




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 顺序程序设计一、实验目的1、熟练掌握C语言中赋值语句的使用方法。2、掌握格式输入输出scanf()函数、printf()函数的调用方法:整型、实型 字符型数据的输入输出格式。3、掌握字符型输入输出函数getchar()、putchar()函数的调用语法。二、实验内容与步骤:1、从键盘输入两个0到127的整数,求两数的平方差并输出其值以及这两个整数的ASC码对应的字符。程序:#include void main()int x,y,sub;scanf(%d%d,&x,&y);sub=x*x-y*y;printf(%c,%c,%dn,x,y,sub);结果:从键盘输入100 50,结果是? 100 50d,2,75002、#include void main()int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61; b=62;c1=a; c2=b;d=3056; e=-6087;f=3157.890121; g=0.123456789;m=50000; n=60000;p=32768; q=40000;printf(a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn,a,b,c1,c2,d,e);printf(f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un,f,g,m,n,p,q);(1)运行程序并分析结果。结果:a=61,b=62c1=a,c2=bd=3056.00,e=-6087.00f= 3157.890121,g= 0.123456789000m=50000,n=60000p=32768,q=40000分析:a,b为整型变量,按%d输出,得到如上的结果;c1,c2为字符型,按%c输出,得到如上的结果;d,e为单精度浮点型,按%6.2f输出,其中整个数据占6列,小数两列,得到的结果如上;f,g双精度变量,按%15.6f输出,其中整个数据占15列,小数为6列(如全为小数,则小数全部输出),因为位置过宽,所以前面留有空格,结果如上;m,n为长整型,按%ld输出,得到结果如上;p,q为无符号整型,存储范围增加,因此得到如上结果。(2)在此基础上,修改程序的第1015行为:a=61; b=62;c1=a; c2=b;d=f; e=g;f=3157.890121; g=0.123456789;m=50000; n=60000;p=a=m=50000; q=b=n=-60000;结果:a=50000,b=-60000c1=,c2=d= -1.#J,e= -1.#Jf= 3157.890121,g= 0.123456789000m=50000,n=-60000p=50000,q=4294907296(3)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf(%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);程序:#include void main()int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q; scanf(%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);printf(a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn,a,b,c1,c2,d,e);printf(f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un,f,g,m,n,p,q);结果:Enter:61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000a=61,b=62c1=a,c2=bd= 3.56,e= -6.87f= 3157.890121,g= 0.123456789000m=50000,n=-60000p=32768,q=40000分析:scanf为输入函数,定义类型不变,输入数据不变,因此所得结果如上所示(与(1)分析相同)。(4) 将printf语句改为:printf(a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn,a,b,c1,c2,d,e); printf(f=%f,g=%fnm=%ld,n=%ldnp=%d,q=%dn,f,g,m,n,p,q);运行并分析结果。程序:#include void main()int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61; b=62;c1=a; c2=b;d=3056; e=-6087;f=3157.890121; g=0.123456789;m=50000; n=60000;p=32768; q=40000;printf(a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn,a,b,c1,c2,d,e);printf(f=%f,g=%fnm=%ld,n=%ldnp=%d,q=%dn,f,g,m,n,p,q);结果:a=61,b=62c1=a,c2=bd= 3056.000000,e=-6087.000000000000f=3157.890121,g=0.123457m=50000,n=60000p=32768,q=40000分析:a,b为整型变量,按%d输出,得到如上的结果;c1,c2为字符型,按%c输出,得到如上的结果;d,e为单精度浮点型,按%15.6f输出,其中整个数据占15列,小数6列,因为位置过宽,所以左边为空格,得到的结果如上;f,g双精度变量,按%f输出,精度损失,结果如上;m,n为长整型,按%ld输出,得到结果如上;p,q为无符号整型,存储范围增加,因此得到如上结果。(5) 将p,q改用%o格式符输出。结果:a=61,b=62c1=a,c2=bd=3056.00,e=-6087.00f= 3157.890121,g= 0.123456789000m=50000,n=60000p=100000,q=116100Press any key to continue分析:a,b为整型变量,按%d输出,得到如上的结果;c1,c2为字符型,按%c输出,得到如上的结果;d,e为单精度浮点型,按%6.2f输出,其中整个数据占6列,小数两列,得到的结果如上;f,g双精度变量,按%15.6f输出,其中整个数据占15列,小数为6列(如全为小数,则全部输出)因为位置过宽,所以前面留有空格,结果如上;m,n为长整型,按%ld输出,得到结果如上;p,q为无符号整型,存储范围增加,按%o输出,即是以八进制输出,因此得到如上结果。(6) 将scanf函数中的%lf和%ld改为%f与%d,运行并分析结果。结果:a=61,b=62c1=a,c2=bd= 3.56,e= -6.87f=-92559605387113434000000000000000000000000000000000000000000000.000000,g=-9259603991907475000000000000000000000000000000000000000000000.000000000000m=50000,n=-60000p=32768,q=40000Press any key to continue(7) 将一个负整数赋给一个无符号的变量,会得到什么结果。答:当用%u输出时,得不到负数;当以%d输出时得到负数。(8) 将一个大于32767的长整数赋给整型变量,会得到什么结果。答:得到所需结果。(9) 将一个长整数赋给无符号变量,会得到什么结果(分别考虑该长整数的值大于或等于65535以及小于65535的情况)。答:都能得到所需结果。3、#include #include void main()double a,b,c,d;printf(Enter a,b,c:);scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;if(a=0)if(b=0)if(c=0) printf(参数都为零,方程无意义!n);else printf(a和b为0,c不为0,方程不成立!n);else printf(x=%0.2fn,-c/b);else if(d=0) printf(x1=%0.2fn,(-b+sqrt(d)/(2*a);printf(x2=%0.2fn,(-b-sqrt(d)/(2*a);else printf(x1=%0.2f+%0.2fn,-b/(2*a),sqrt(d)/(2*a);printf(x2=%0.2f-%0.2fn,-b/(2*a),sqrt(d)/(2*a); (5) 结果:Enter a,b,c:2.0 9.0 3.0x1=-0.36x2=-4.14 4、输入一个华氏温度,要求输出摄氏温度。其中f为华氏温度,c为摄氏温度。程序:#includeint main()float f,c;f=64.0;c=(5.0/9)*(f-32);printf(f=%fnc=%fn,f,c); 结果:f=64.000000c=17.777778Press any key to continue5、从键盘输入两个字符,要求输出这两个字符,并输出它们的ASC码及其 ASC码的平方和平方根。程序:#include#includeint main()char c1,c2;float sqrt;printf(please enter c1,c2:n);c1=getchar();c2=getchar();putchar(c1);putchar(c2);sqrt=c1*c1+c2*c2;printf(%d,%d,%fn,c1,c2,sqrt);结果:please enter c1,c2:abab97,98,19013.000000Press any key to continue6、验证%f格式输出实数时指定小数位数。程序:#include void main()float f=123.456;printf(%f %10f %10.2f %.2f %-10.2fn,f,f,f,f,f);结果:123.456001 123.456001 123.46 123.46 123.46分析:定义f为%f型,分别按%f,%10f,%10.2f,%.2f,%-10.2f格式输出。其中,%f,%10f输出时小数最后一位都为1,这是因为系统自加上去,表示数据有效,精确到最后一位;%10.2f指定数据占10列,小数两列,因此最后一位小数不是精确值,是四舍五入后得到的结果;同理,%.2f输出,整数部分不变,小数为四舍五入之后的结果;%-10.2f是在%10.2f的基础上要求左对齐,因此右边留有空格。7、从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出器整数部分)。要求在输人数据后先对其进行检查是否为小于1000的整数。若不是,则要求重新输入。#include #include int main() double a; scanf(%lf,&a); if(a0) if(a1000) printf(sqrt=%2.0lfn,sqrt(a); else printf(请重新输入n); else printf(请重新输入n);8、有一个函数: x (x1) y= 2x-1 (1=x=10)写程序,输入x的值,输出y相应的值。#include void main() double x,y; scanf(%lf,&x); if(x=1) if(x10) y=2*x-1; printf(y=%lfn,y); else y=3*x-11; printf(y=%lfn,y); 三、实验总结: 1、“printf”函数中浮点型的输出表达可以有多种,例如:%-10.2f,%10.2f,%f;其中 %-10.2f是在%10.2f的基础上要求左对齐,因此右边留有空格等等;其他形式的输出也一样。2、 在编程中要调用到别的函数或表达式、字符时,应该在编译预处理指令时编译进去,如:#include #include ,其中就用到数学中的表达字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家基础地理中心招聘工作人员(北京)考前自测高频考点模拟试题及完整答案详解1套
- 2025建融金服(河南)科技服务有限公司甘肃分公司招聘30人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025贵州黔东南州台江县民族中医院第二次长期招聘备案制专业技术人员1人模拟试卷及答案详解(历年真题)
- 2025内蒙古能源集团所属单位招聘30人模拟试卷完整答案详解
- 档案证考试题库及答案
- 动物生物考试题库及答案
- 师范认定考试题库及答案
- 安全教育培训云平台课件
- 电焊工考试题及答案题库
- 2025年新疆汽车销售奖励合同范本
- 2025版小学语文新课程标准
- 2025年 无锡市工会社会工作者招聘考试笔试试题附答案
- 小学保护洱海教学课件
- 地铁车站装修安全文明施工专项方案及措施
- 金属冶炼安全培训课件
- 3D打印车间粉尘防爆管理体系
- 剪映入门培训课件
- 新能源汽车充电桩工程物资供应措施
- 基于大数据的国际广播媒体发展模式比较分析-洞察阐释
- DB32-T 5108-2025 科技服务机构星级评定规范
- JG/T 441-2014额定电压450/750 V及以下双层共挤绝缘辐照交联无卤低烟阻燃电线
评论
0/150
提交评论