顺序结构程序设计C语言程序实验报告.docx
- 文档编号:26714010
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:11
- 大小:17.17KB
顺序结构程序设计C语言程序实验报告.docx
《顺序结构程序设计C语言程序实验报告.docx》由会员分享,可在线阅读,更多相关《顺序结构程序设计C语言程序实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
顺序结构程序设计C语言程序实验报告
安徽工程大学
高级语言程序设计实验报告
班级姓名同组者/成绩
日期2019.09.30指导教师
实验名称顺序结构程序设计
一、实验目的
1.掌握数据的输入/输出方法,能正确使用有关格式转换符。
2.掌握顺序结构程序中语句的执行过程。
3.掌握顺序结构程序的设计方法。
二、实验内容
1.P47页第一个程序的作用是依次输入2个整数,计算并输出这2个整数之差。
(1)分析程序,若运行时输出:
200,160<回车>,预期结果是多少?
(2)上机运行该程序,查看程序运行结果是否符合题目要求。
如果不符合,请分析原因并修改程序,直至符合要求为止。
2.P47页第二个程序用于实现按下列公式计算并输出s1和s2的值:
s1=3/(a+b)2,s2=ab/(a+b)3,其中a,b为整型数据。
(1)根据题意修改上述程序,并进行调试,直到正确为止。
(2)在
(1)的基础上,将“scanf("%d,%d",&a,&b);”改为“scanf("%d%d",&a,&b);”后再编译、连接、运行。
3.分析P47页第三个程序,写出预期结果,然后输入调试,查看运行结果与预期结果是否一致,并分析其原因。
4.编程实现下列功能并上机调试运行。
(1)设圆半径为r,求圆周长和面积。
要求用scanf函数输入数据,输出时取小数点后两位。
(2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
(3)从键盘输入一个带两位小数的实数,将其整数部分和小数部分分离后输出。
(4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两个字符。
*思考题:
5.若实验内容1的程序改为P48页第一个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
6.若实验内容1的程序改为P48页第二个程序段,运行该程序,输入5,3,查看程序运行结果是否与自己预测的结果一致,并分析原因。
7.在实验内容2的基础上若把程序第7行语句“s=3/(a+b)*(a+b)”改为“s=3.0/[(a+b)*(a+b)],”然后编译、连接和运行。
查看会出现什么结果,并分析原因。
三、算法流程图或实验步骤(可根据需要增删、修改)
1.
(1)算法流程图:
原程序:
#include
voidmain()
{
floata,b,c;
printf("inputa,b:
");
scanf("%d,%d",&a,&b);
c=a-b;
printf("c=%d\n",c);
}
修改后:
#include
voidmain()
{
floata,b,c;
printf("inputa,b:
");
scanf("%f,%f",&a,&b);
c=a-b;
printf("c=%f\n",c);
}
或者
#include
voidmain()
{
inta,b,c;
printf("inputa,b:
");
scanf("%d,%d",&a,&b);
c=a-b;
printf("c=%d\n",c);
}
(2)实验步骤:
Files→New→Files→C++sourceFile→文件名:
program2011.c→位置:
E:
\123\→确定→输入代码→Buid→是→有错误→将float更换成int或者将所有的%d都更换成%f→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
2.
(1)算法流程图:
修改后:
#include
#include
voidmain()
{
inta,b;
floats1,s2;
scanf("%d,%d",&a,&b);
s1=3/((a+b)*(a+b));
s2=a*b/pow((a+b),3);
printf("s1=%f,s2=%f\n",s1,s2);
}
替换后:
#include
#include
voidmain()
{
inta,b;
floats1,s2;
scanf("%d%d",&a,&b);
s1=3/((a+b)*(a+b));
s2=a*b/pow((a+b),3);
printf("s1=%f,s2=%f\n",s1,s2);
}
(2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2021.c→位置:
E:
\123\→确定→输入代码→Buid→是→有错误→添加#include
3.
(1)算法流程图:
#include"stdio.h"
voidmain()
{
shorta=-1;
unsignedshortb=65534;
printf("%d,%o,%x,%u\n",a,a,a,a);
printf("b=%d\n",b);
}
(2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2031.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
4.(1.1)算法流程图:
#include
voidmain()
{
intr;
floats,c;
scanf("%d",&r);
s=3.14*r*r;
c=2.0*3.14*r;
printf("s=%.2f,c=%.2f",s,c);
}
(1.2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2041.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
(2.1)算法流程图:
#include
intmain()
{
inta,b,c,S;
printf("请输入一个三位数\n");
scanf("%d",&S);
a=S/100;
b=(S/10)%10;
c=S%10;
printf("该三位数百位为%d,十位为%d,个位为%d\n",a,b,c);
return0;
}
(2.2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2042.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
(3.1)算法流程图:
#include
intmain()
{
floats,b;
inta;
scanf("%f",&s);
a=s;
b=s-a;
printf("%.2f=%d+%.2f",s,a,b);
}
(3.2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2043.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
(4.1)算法流程图:
#include
intmain()
{
charc1,c2;
printf("请输入两个字符c1,c2:
");
c1=getchar();
c2=getchar();
printf("用putchar语句输出结果为:
");
putchar(c1);
putchar(c2);
printf("\n");
printf("用printf语句输出结果为:
");
printf("%c%c\n",c1,c2);
return0;
}
(4.2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2044.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
*思考题
5.
(1)算法流程图:
#include
voidmain()
{
chara,b,c;
printf("inputa,b:
");
scanf("%c,%c",&a,&b);
c=a-b;
printf("c=%d\n",c);
}
(2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2051.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
6.
(1)算法流程图:
#include
voidmain()
{
chara,b,c;
printf("inputa,b:
");
scanf("%c,%c",&a,&b);
c=a+b;
printf("c=%d\n",c);
}
(2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2061.c→位置:
E:
\123\→确定→输入代码→Buid→是→确认0error(s)0warning(s)后→BuidExecute→查看运行结果
7.
(1)算法流程图:
#include
#include
voidmain()
{
inta,b;
floats1,s2;
scanf("%d%d",&a,&b);
s1=3.0/[(a+b)*(a+b)];
s2=a*b/pow((a+b),3);
printf("s1=%f,s2=%f\n",s1,s2);
}
(2)实验步骤:
Files→CloseWorkspace→Files→New→Files→C++sourceFile→文件名:
program2071.c→位置:
E:
\123\→确定→输入代码→Buid→是→查看编译结果
四、实验结果及分析
1.
(1)c=0
(2)修改后的程序见上一子目算法流程图
2.
(1)修改后的程序见上一子目算法流程图
(2)修改后的程序见上一子目算法流程图在输入ab的值时应该有空格
3.结果是:
-1,37777777777,ffffffff,4294967295
b=65534
分析:
%d:
带符号10进制%o:
无符号8进制%x:
无符号16进制%u:
无符号10进制整数
4.程序见上一子目算法流程图
2.c=2一致
3.c=104不一致原因:
定义字符变量用的是char,则输入5和3时,参与计算的是其对应的十进制ASCⅡ码值。
5对应的十进制ASCⅡ码是53,3对应的十进制ASCⅡ码是51,所以输出a+b就等于51+53=104
4.编译时出现一个错误。
原因:
双括号应该用(())而不是用【()】
五、实验体会、问题讨论
1.定义何种类型,最后输出时对应的格式说明应该一致。
比如int型对应%d;
2.使用pow函数表示平方时,最上方应该添加#include
3..2f表示保留两位小数
、
教师签字:
批改日期:
说明:
1、对于每一个实验项目,实验报告(含预习)一般应包含以下内容:
第一部分——预习后的书面汇报。
其主要内容应包含:
*一、实验目的;*二、实验内容;三、算法流程图或实验步骤。
实验目的和实验内容参见实验教材或老师下发的内容。
第二部分——实验结果的书面汇报。
其主要内容应包含:
*四、实验结果及分析(含实验测试输入数据,实验运行结果截图,用简洁的语言总结实验,汇报是否达到实验目的);*五、实验体会、问题讨论(谈体会或感想、提出建议或意见、讨论与实验有关的且自己感兴趣的问题、回答课后思考题)。
第三部分——附录:
实验源程序。
提前编写好程序,实验时调试并完善。
2、实验报告写在教务处下发的实验报告纸上,每次实验完成后课代表收齐统一交给老师。
实验源程序写在单独的一个本子上,实验课时带到机房,供上机调试使用,实验教师抽查完成情况。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 结构 程序设计 语言 程序 实验 报告