嘉应学院 计算机学院
实 验 报 告
课程名称 指导老师 班 级
程序设计基础
实验名称 实验时间 姓 名
实验地点 提交时间 座 号
一、实验目的和要求
(1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。
(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式装换符。 (3)进一步掌握编写程序的和调试程序的方法。
二、实验环境和方法
实验方法:
(一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。
(二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。
(三)根据实验内容,编译程序。
实验环境:Windows xp Visual C++6.0
三、实验内容及过程描述
实验步骤:
① 进入Visual C++ 6.0集成环境。 ② 输入自己编好的程序。
③ 检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。
④ 进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。
⑤ 运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:编译以下题目的程序并调试运行。
实验①
(1)通过下面的程序掌握各种格式装换符的正确使用方法。 ①输入以下程序:
#include
unsigned int p,q; a=61,b=62; c1='a';c2='b'; d=3.56;e=-6.87;
f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000;
printf(\
printf(\ }
②运行程序并分析结果如图:
③在此基础上,将程序第10~14行改为 c1=a;c2=b;
f=3157.890121;g=0.123456789; d=f;e=g;
P=a=m=50000;q=b=n=-60000; 运行程序,分析结果如:
(二)设圆半径r=1.5,圆柱高h=3,求圆周长﹑圆面积﹑圆球表面积﹑圆球体积﹑圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。 程序代码为: #include
{float h,r,l,s,sq,vq,vz; float pi=3.1415926;
printf(\请输入圆半径r,圆柱高h:\ scanf(\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(\圆周长为: l=%6.2f\\n\ printf(\圆面积为: s=%6.2f\\n\
圆球表面积为:sq=%6.2f\\n\ printf(\
printf(\圆球体积为: vq=%6.2f\\n\ printf(\圆柱体积为: vz=%6.2f\\n\ return 0; }
运行结果为:
(三)计算存款利息。
有1000元,想存5年,可按以下5种方法存: ① 一次存5年期。 ② 先存2年期,到期后将本息再存3年期。 ③ 先存3年期,到期后将本息再存2年期。 ④ 存1年期,到期后将本息再存1年期,连续存5次。 ⑤ 存活期存款。活期利息每一季度结算一次。 2012年3月的银行存款利息如下: 1年期定期存款利息为4.16%; 2年期定期存款利息为4.71%; 3年期定期存款利息为5.45%; 5年期定期存款利息为5.85%;
活期存款利息为0.75%(活期存款每一季度结算一次利息)。 程序代码为:
#include
{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.0545; r2=0.0471; r1=0.0416; r0=0.0075;
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(\第1种方案得到的本息和为p1=%f\\n\printf(\第2种方案得到的本息和为p2=%f\\n\printf(\第3种方案得到的本息和为p3=%f\\n\printf(\第4种方案得到的本息和为p4=%f\\n\printf(\第5种方案得到的本息和为p5=%f\\n\return 0; }
运行结果为:
(四)编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,
字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为’C’,’h’,’i’,’n’,’a’,经过运算,使c1,c2,c3,c4,c5分别变为’G’,’l’,’m’.’r’,’e’。分别用putchar函数和printf函数输出者5个字符。程序代码如下: #include
{char c1='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(\return 0; }
① 运行结果如图:
② 改变c1,c2,c3,c4,c5的初值为:’T’,’o’,’d’,’a’,’y’,对译码规律做如下补充:’W’,用‘A’代替,
‘X’用‘B’代替,‘Y’用‘C’代替,‘Z’用‘D’代替。修改程序并运行。
#include
int main()
{char c1='T',c2='o',c3='d',c4='a',c5='y'; {if('W'<=c1) c1=c1-22; else
c1=c1+4;} {if('w'<=c2) c2=c2-22; else c2=c2+4;} {if('w'<=c3) c3=c3-22; else c3=c3+4;} {if('w'<=c4) c4=c4-22; else c4=c4+4;} {if('w'<=c5) c5=c5-22; else c5=c5+4;}
printf(\return 0; }
运行结果为:
③ 将代码规律修改为:将一个字母被它前面第4个字母代替,例如‘E’用‘A’代替,‘Z’
用‘U’代替,‘D’用‘Z’代替,‘C’用‘Y’代替,‘B’用‘X’代替,‘A’用‘V’代替。修改程序并运行。 #include
{char c1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1+22; else
c1=c1-4;} {if(c2<='d') c2=c2+22; else c2=c2-4;} {if(c3<='d') c3=c3+22; else c3=c3-4;} {if(c4<='d') c4=c4+22; else c4=c4-4;} {if(c5<='d') c5=c5+22; else c5=c5-4;}
printf(\return 0; }
运行结果如图: