c语言实验报告学生1.docx
- 文档编号:23361690
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:120.31KB
c语言实验报告学生1.docx
《c语言实验报告学生1.docx》由会员分享,可在线阅读,更多相关《c语言实验报告学生1.docx(25页珍藏版)》请在冰豆网上搜索。
c语言实验报告学生1
实验报告
课程名称:
计算机程序设计基础
实验名称:
计算机程序设计基础上机实验
院(系):
专业班级:
姓名:
学号:
指导教师:
席一凡
年月日
《计算机程序设计基础上机实验》实验报告
课程名称:
计算机程序设计基础
实验项目名称:
实验一~实验十四
实验类型:
验证专业班级:
学生姓名:
指导教师:
席一凡
实验地点:
校计算中心实验日期:
年月日
一、实验目的
计算机程序设计基础实验是为《计算机程序设计基础》课程开设的实验,其目的是使学生了解计算机程序设计的思想,掌握C语言及编写程序的方法,加深理解并掌握《计算机程序设计基础》课程的基本知识和原理,通过实验训练进一步培养学生分析问题和解决问题的能力,培养学生的创新意识、创新精神和创新能力,为学生今后从事科学研究和技术开发工作打下扎实的基础。
二、实验内容与要求
根据实验的课时安排,计算机程序设计基础实验包括以下内容:
实验一C语言运行环境试验
实验二基本数据类型、运算符与表达式
实验三顺序结构与输入输出
实验四分支编程
实验五循环程序设计
实验六数组及其应用试验
实验七函数定义与调用试验
实验八预处理命令
实验九指针
实验十函数与指针的应用
实验十一结构体及应用
(1)
实验十二结构体及应用
(2)
实验十三位运算及应用
实验十四文件应用
从第三章到第十三章中选作十四个实验,通过这些实验达到:
1.掌握用C语言解决实际问题的步骤;
2.掌握C语言的语法规则及算法的表示;
3.通过上机实验,加深对《计算机程序设计基础》课程中基本概念的理解;
4.提高学生计算机程序的编写和应用能力;
5.在实验中,培养学生勤奋学习、求真、求实的科学品德。
三、实验步骤
1.问题的提出与分析;
2.建立计算模型;
3.算法的确定与表示;
4.编写程序代码;
5.调试程序;
6.整理结果(实验结果及分析)。
四、教师评语和成绩
教师签名:
年月日
实验一:
选择结构程序设计,计算一元二次方程的根。
实验类型:
验证
实验日期:
2010年3月1日
1.问题的提出与分析
已知一元二次方程ax2+bx+c=0,根据a、b、c的值计算方程的根。
其中a、b、c由键盘输入。
2.确定数学模型
3.算法:
4.程序编码
#include
main()
{floata,b,c,disc,x1,x2,p,q;printf("Entera,b,c=");
scanf(“%f,%f,%f”,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);
if(disc>0){q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;}
elseif(disc==0)x1=x2=p;
else{q=sqrt(-disc)/(2*a);printf("x1、x2=%.2f+%.2fi\n",p,q);}
if(disc>=0)printf("x1=%.2f\nx2=%.2f\n",x1,x2);
}
5.调试程序
经过上机调试程序,程序通过编译,其运行情况如下:
(1)当△﹥0时,方程有两个不相等的实根:
Entera,b,c=1,3,2↙
x1=-1.00
x2=-2.00
(2)当△﹤0时,方程有两个不相等的虚根:
Entera,b,c=1,2,3↙
x1、x2=-1.00±1.41i
(3)当△﹦0时,方程有两个相等的实根:
Entera,b,c=1,2,1↙
x1=x2=-1.00
6.整理结果(实验结果及分析)
通过验算结果正确。
实验二:
顺序结构与输入输出
实验日期:
1.问题的提出与分析;
从键盘输入4个整数,求平均值。
2.建立计算模型;
X=(a+b+c+d)/4
3.算法的确定与表示;
4.编写程序代码;
#include
main()
{
inta,b,c,d;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
floataverage=(float)(a+b+c+d)/4;
printf("average=%3.2f\n",average);
return0;
}
5.调试程序;
6.整理结果(实验结果及分析)。
通过验算结果正确。
实验三:
分支编程
1.问题的提出与分析;
编写程序,求1-100之间所有的偶数之和。
2.建立计算模型;
Sum=2+4+6+8+…+100
3.算法的确定与表示;
确定一个基数sum,然后从1开始,筛选出偶数,依次累加到sum中,求得总和。
4.编写程序代码;
#include
intfunc(intn)
{
if(n%2==0)return1;
elsereturn0;
};
main()
{
intsum=0,n;
for(n=1;n<=100;n++)
{
if(func(n))
{sum=sum+n;}
}
printf("total=%d\n",sum);
}
5.调试程序;
6.整理结果(实验结果及分析)。
通过验算结果正确。
实验四:
循环程序设计
1.问题的提出与分析;
编程输入20个数,按从大到小的排序并输出最后的结果。
2.建立计算模型;
3.算法的确定与表示;
采用分支与循环结合的算法,先判断操作数与后面数的大小,若大,则不动,若小,则互换。
4.编写程序代码;
#include
main()
{
intnum[20];
inti,j,temp;
printf("pleaseinput20numbers:
\n");
for(i=0;i<20;i++)
scanf("%d",&num[i]);
for(i=0;i<20;i++)
for(j=i+1;j<20;j++)
{
if(num[i]<=num[j])
{
temp=num[j];
num[j]=num[i];
num[i]=temp;
}
}
for(i=0;i<20;i++)
printf("%d\n",num[i]);
}
5.调试程序;
6.整理结果(实验结果及分析)。
经检验结果正确。
实验五:
循环程序设计
1.问题的提出与分析;
求数列的前10项和:
2/1,3/2,5/3,8/5,13/8,21/13……
2.建立计算模型;
数列通项的分子与分母均为为
3.算法的确定与表示;
将通项表示出来,逐步累加。
4.编写程序代码;
#include
main()
{
intn,temp,a=2,b=1;
floatsum=0;
for(inti=1;i<=10;i++)
{
sum=sum+float(a/b);
temp=a;
a=a+b;
b=temp;
}
printf("前十项和为=%3.2f\n",sum);
}
5.调试程序;
6.整理结果(实验结果及分析)。
经检验结果正确。
实验六:
数组及其应用试验
1.问题的提出与分析;
编写一个程序,输入6整型数据存入一维数组,再按从小到大的顺序重新排列数组,并输出该数组。
2.建立计算模型;
采用简单排序法。
3.算法的确定与表示;
先输入一个数组,然后对数组中的数采用简单排序法排序,输出即可。
4.编写程序代码;
#include
voidselectsort(int*list,intcount)
{
for(inti=0;i { intk=i; for(intj=i+1;j if(*(list+j)<*(list+k))k=j; if(k! =i) { inttmp=*(list+i); *(list+i)=*(list+k); *(list+k)=tmp; } } } main() { printf("Pleaseinputsixintegers: \n"); for(inti=0;i<6;i++) scanf("%d",&array[i]); selectsort(array,6); printf("Theresultis: \n"); for(i=0;i<6;i++) printf("%d",array[i]); return0; } 5.调试程序; 6.整理结果(实验结果及分析)。 经检验结果正确。 实验七: 函数定义与调用试验 1.问题的提出与分析; 有一个数组,内放十名学生的成绩,写一个函数,求出平均分、最高分、最低分。 2.建立计算模型; 分别调用三个函数求出最高分、最低分、平均分。 3.算法的确定与表示; 由程序自身提供十个成绩,分别采用前几章学过的方法设计程序,实现题目要求的功能。 4.编写程序代码; #include floataverage(intnum[],intn) { floatsum=0,average;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告 学生