c语言上机实验(共11页).doc

上传人:飞****2 文档编号:15130488 上传时间:2022-05-11 格式:DOC 页数:11 大小:109KB
返回 下载 相关 举报
c语言上机实验(共11页).doc_第1页
第1页 / 共11页
c语言上机实验(共11页).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《c语言上机实验(共11页).doc》由会员分享,可在线阅读,更多相关《c语言上机实验(共11页).doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上 实验3 (1) 程序#include int main()int a=3,b=5,c=7,x=1,y,z;a=b=c;x+2=5;z=y+3;return 0;程序错误;提示语言-Configuration: fd - Win32 Debug-Compiling.fd.cppC:Documents and SettingsAdministrator桌面fd.cpp(2) : error C2447: missing function header (old-style formal list?)执行 cl.exe 时出错.fd.exe - 1 error(s), 0

2、 warning(s)修改为:#include int main()int a=3,b=5,c=7,x=1,y,z;a=b=c;x=5+3;z=y+3;return 0;分析结果:在赋值和运算中是从右到左。分析:A 变量名可以是数字,英文字母(大小写均可)。下划线。B大小写可以区分是成不同文件。C 赋值运算的特点是自右向左的。实验4(1) 整数除的危险性#include int main()int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/d;f=c/b*a;程序在运行结果为:0 0 0;分析原因:A 5/7*100,结果是5/7等于0,再0乘上100等于0。B 5*

3、100/7,结果是5*100等于500,再500/7等于0。C 100/7*5 结果是100/7等于0,再0*5等于0。结论:原因在于,当整除不成立时,结果为0,所以结论会影响下一次的运行。(2) #include main()int a=5,b=8;printf(“a+=%d”,a+);printf(“a=%d”,a);printf(“+b=%d”,+b);printf(“b=%d”,b);得到结论为 分析结果:i+“先引用,后增值”:+i“先增值,后引用”所以 a+是5,因为先引用,a是6,因为是增值的结果,+b是9,是因为先增值,b是9,是因为后引用的结果。(3)对这些表达式进行测试分析

4、。b+a+ab+(a+)+ab+a+(+a)b+a+a+编程:#include main()int a=1,b=1;printf(“b+a+a=%d”, b+a+a);结果:#include main()int a=1,b=1;printf(“b+(a+)+a=%d”, b+(a+)+a);结果:#include main()int a=1,b=1;printf(“b+a+(+a)=%d”, b+a+(+a);结果:#include main()int a=1,b=1;printf(“b+a+a+=%d”, b+a+a+);结果:#include main()int a=1,b=;printf

5、(“b+a+a=%d”, b+a+a); (4) 对这些表达式进行测试分析。i,ji+1,j+1i+,j+i,+ji+j编程:#include main()int i=1,j=1;printf(“i=%d”,i); printf(“j=%d”,j);结果:#include main()int i=1,j=1;printf(“i+1=%d”,i+1); printf(“j+1=%d”,j+1);结果:#include main()int i=1,j=1;printf(“i+=%d”,i+); printf(“j+=%d”,j+);结果:#include main()int i=1,j=1;pri

6、ntf(“+i=%d”,+i); printf(“+j=%d”,+j);结果:#include main()int i=1,j=1;printf(“i+j=%d”,i+j); 结果:-Configuration: Cpp1 - Win32 Debug-Compiling.Cpp1.cppC:Documents and SettingsAdministrator桌面Cpp1.cpp(5) : error C2105: + needs l-valueC:Documents and SettingsAdministrator桌面Cpp1.cpp(6) : warning C4508: main :

7、function should return a value; void return type assumed执行 cl.exe 时出错.Cpp1.exe - 1 error(s), 0 warning(s)结论:程序是错误的。1分析结果:整除有危险性。A因为小数不能除大的数字,会显示0。还有结果一定是整数。B算数运算的方向是自左向右。2分析结果:Ai+“先引用,后增值”:+i“先增值,后引用”所以 a+是5,因为先引用,a是6,因为是增值的结果,B+b是9,是因为先增值,b是9,是因为后引用的结果。3分析结果:A可靠性低B不容易读懂 实验 5printf (“long”,sizeof(lo

8、ng);编程:#include int main()int i=0;printf (long: %d bytesn,sizeof(long);return 0;结果:(2)编写程序来测试基本数据类型的取值范围下。编程:#include int main()char c0,c1,c2,c4,c5,c6;c0=-129,c1=-128,c2=-127,c4=128,c5=127,c6=126;printf(%dn%dn%dn%dn%dn%dn,sizeof(c0),sizeof(c1),sizeof(c2),sizeof(c4),sizeof(c5),sizeof(c6);结果为;gjhjhgjh

9、。(1) 编写程序来测试基本数据类型的有效长度和精度编程:#include int main()float d1=0.,d2=.;printf(%lf,%lfn,d1,d2);结果:(2) 编写程序来测试不同类型之间的转换所在出现的截取高位,丢失精度和变得不可知等问题。编程:#include int main()float f1=2.,f2=.;int i1,i2;i1=f1;i2=f2;printf(%d,%dn,i1,i2);结果:(3) 编写程序来测试字符型数据的算术特征编程:#include int main()char c1=35,c2=A,c3;c3=c1+c2;printf(%d

10、,%cn,c3,c3);结果:;(4) 编写程序来测试转移字符的用法如printf(7,7,7”);编程:#include int main()printf(7,7,7);在程序中只是会输出两个,。因为7显示的是所在高度,所以只会显示,。实验6(1)设计一个程序来测试printf()函数中数据参数被引用的顺序Int a=1;Printf(“%d,%d%d,a+,a+,a+”);编程: #include int main()int a=1;printf(%d,%d,%d,+a,+a,+a);结果: 分析结果:因为程序输出是从右向左进行的。(2) 设计一个程序来测试printf()函数中格式的意义

11、。举例:Double d=.;Printf (“%e”,d);编程:#include int main()double d=.;printf (%e,d);结果:。(3) 设计一个程序来测试printf()函数定义域与精度的方法。编程:#include int main()printf(%12.5fn,123.);printf(%12fn,123.);printf(%12.5gn,123.);printf(%5.10s%sn,”abcdefghijkm”,”a”);printf(%12.8dn,12345);return 0;结果:(4)设计一个程序来测试scanf()函数中格式的意义。举例:

12、double x,y;scanf(%f,%lf,&x,&y);printf(%f,%lf,&x,&x);printf(%f,%lf,&y,&y);编程:#include int main()double x,y;scanf(%f,%lf,&x,&y);printf(%f,%lf,&x,&x);printf(%f,%lf,&y,&y);结果:(1) 设计一个程序来测试用scanf()输入含有字符型数据的多项时,数据项之间的分割问题。举例如下:Char c1,c2,c3;Int a1,a2,a3;Scanf(“%d%d%d,&a1,&a2,&a3”);printf(“%d%d%d,a1,a2,a3

13、”); Scanf(“%c%c%c,&c1,&c2,&c3”);printf(“%c%c%c,c1,c2,c3”);Scanf(“%c%c%c,&c1,&c2,&c3”);printf(“%c%c%c,c1,c2,c3”);编程:#include int main()char c1,c2,c3;int a1,a2,a3;scanf(%d%d%d,&a1,&a2,&a3);printf(%d%d%d,a1,a2,a3); scanf(%c%c%c,&c1,&c2,&c3);printf(%c%c%c,c1,c2,c3);scanf(%c %c %c,&c1,&c2,&c3);printf(%c%c%c,c1,c2,c3);return 0结果:(2) 编写一个程序来测试getchar()和putchar的用法。程序:#include int main()char ch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1);putchar(ch2);putchar(ch3);putchar(n);return 0;程序结果:专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com