实验报告工学院土木工程专业09级2011至2012学年度第1学期学号:xxxxxx姓名:xxxxxx2011年10月08日第3~4节综合楼325教室进入实验室时间同组者离开实验室时间实验项目名称10:00无11:30实验三最简单的C程序设计——顺序程序设计实验目的:1、掌握C语言中使用最多的一种语句——赋值语句的使用方法;2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;3、进一步掌握编写程序和调试程序的方法。实验内容与步骤:(1)输入并运行以下程序:#includestdio.hintmain(){inta,b;floatd,e;charc1,c2;doublef,g;longm,n;unsiguldintp,q;a=61;b=62;c1=’a’;c2=’6’;d=3.56;e=-6.78;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n”,f,q,m,n,p,q);}①运行以上程序,分析输出的信息:②a,b,c,d,e,f,p的输入无误是因为他们的赋值都在其相应数据类型的范围内,所以输出内容与赋值内容一致。而g,m,n,q的输出结果与赋值内容不一致,因为其超过了相应数据类型的范围,故溢出。③在此基础上,将程序第10~14行改为c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。此程序中,给a,b赋初值61和62,又将a,b的值赋给c1,c2,这样输出c1,c2时是以字符型输出,所以61,62相对应的字符为=,;又由于在程序中,p=a=m=50000;q=b=n=-60000;所以整型a,b的溢出;第三行中,d与e由于控制输出位数都为6.2,即小数位2位,所以都只输出了小数位后两位;第四行中,f控制输出小数位数为6位,而g溢出;m,n都只有4个字节,溢出;50000在无符号基本整型范围内,-60000不在,故p正常输出,q溢出。④用sizeof运算符分别检测程序中各类型的数据占多少字节。例如,int型变量a的字节数为sizeof(a)或sizeof(int),用printf函数语句输出各类型变量的长度(字节数)。①输入程序如下includestdio.hintmain(){inta,b,i,j,k,r,s,t,u,v,w,x,y,z;floatd,e;charc1,c2;doublef,g;longm,n;unsignedintp,q;a=61;b=62;c1='a';c2='b';d=3.56;e=-6.78;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;i=sizeof(a);j=sizeof(b);k=sizeof(d);r=sizeof(e);s=sizeof(c1);t=sizeof(c2);u=sizeof(f);v=sizeof(g);w=sizeof(m);x=sizeof(n);y=sizeof(p);z=sizeof(q);printf(a=%d,b=%d\nd=%d,e=%d\nc1=%d,c2=%d\n,i,j,k,r,s,t);printf(f=%d,g=%d\nm=%d,n=%d\nmp=%d,q=%d\n,u,v,w,x,y,z);}结果如下:(2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编程序,用scanf输入数据,输出计算结果。输出时要有文字说明,去小数点后两位数字。①编写程序如下:#includestdio.hintmain(){floath,r,l,s,sq,vq,vz;floatpi=3.141526;printf(Pleaseinputr,h:);scanf(%f,%f,&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;printf(Thecircumference:l=%6.2f\n,l);printf(Theareaoftheecircle:s=%6.2f\n,s);printf(Thesuperficialareaoftheball:sq=%6.2f\n,sq);printf(Thevolumeoftheball:v=%6.2f\n,vq);printf(Thevolumeofthecylinder:vz=%6.2f\n,vz);return0;}②输出结果如下:(3)计算存款利息。有1000元,想存5年,可按以下5种方法存:①一次存5年期;②先存2年期,到期后将本息再存3年期;③先存3年期,到期后将本息再存2年期;④存1年期,到期后将本息再存1年期,连续存5次;⑤存活期存款。活期利息每一季度结算一次。银行存款利率:请去银行查当日利率。查的2011年7月份最新银行存款利息如下:1年期定期存款利息为3.5%;2年期定期存款利息为4.4%;3年期定期存款利息为5.0%;5年期定期存款利息为5.5%;活期存款利息为0.5%。A:编写程序如下:#includestdio.h#includemath.hintmain(){doubler5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.055;r3=0.05;r2=0.044;r1=0.035;r0=0.005;p1=p*((1+r5)*5);p2=p*(1+2*r2)*(1+3*r3);p3=p*(1+3*r3)*(1+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf(p1=%f\n,p1);printf(p2=%f\n,p2);printf(p3=%f\n,p3);printf(p4=%f\n,p4);printf(p5=%f\n,p5);return0;}B:运行结果如下:(4)编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为‘C’,’h’,’i’,’n’,’a’,经过运算,使c1,c2,c3,c4,c5分别变为’G’,’l’,’m’,’r’,’e’。分别用putchar函数和printf函数输出这5个字符。①输入事先已编好的程序,并运行该程序。分析是符合要求。输入程序如下:#includestdio.hintmain(){charc1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf(Thepasswordis%c%c%c%c%c\n,c1,c2,c3,c4,c5);return0;}运行结果如下:②改变c1,c2,c3,c4,c5的初值为:’T’,’o’,’d’,’a’,’y’,对译码规律做如下补充:’W’用’A’代替,’X’用’B’代替,’Y’用’C’代替,’Z’用’D’代替。修改程序第3——8行如下:{charc1='T',c2='o',c3='d',c4='a',c5='y';c1=c1-22;c2=c2-22;c3=c3-22;c4=c4-22;c5=c5-22;运行程序结果如下:③讲译码规律修改为:将一个字母被它前面第4个字母代替。修改程序如下:将第3——8行改为:{charc1='T',c2='o',c3='d',c4='a',c5='y';c1=c1+22;c2=c2-4;c3=c3-4;c4=c4-4;c5=c5+22;运行结果如下:实验总结:老师批语: