搜档网
当前位置:搜档网 › C语言实训报告(终结版)改后

C语言实训报告(终结版)改后

C语言实训报告(终结版)改后
C语言实训报告(终结版)改后

武汉职业技术学院C语言程序设计实训报告

2010—2011学年第二学期

系部:计算机

姓名:刘丹

班级:网络10307班

学号:10CJ568

课程:C语言

指导老师:贾学斌

实训名称:《C语言程序设计》

实训地点:凌峰楼B座511

实训时间:二〇一一年五月三十日—

六月三日

课程设计项目一

一、课程设计名称:学生成绩管理系统

二、课程设计目的: 1.复习巩固C语言学过的知识

2.了解较大应用程序的综合处理方法

三、课程设计要求:1.以文本菜单界面选择功能

2.输出格式须对齐成表,有输入输出提示信息

和成绩输入过程,并有注释

3.各个功能须以函数形式实现

4.学生人数和课程数可以自定义

四、课程设计内容:

输入N个学生5门课程的成绩,分别用函数实现:①学生成绩的输入②学生

成绩的修改③可根据学号查询其成绩及排名④每个课程的平均分⑤课程的总分

五、程序代码:

#include

#include

FILE *fp;

int a[100][10]; /*定义一个二位数组用来存放学生成绩*/

int stu;

inputx()

{

gotoxy(15,13);

textcolor(RED);

printf("请输入你们班的学生数:");

scanf("%d",&stu);

}

input() /*输入学生成绩*/

{

int i;

for(i=1;i<=stu;i++)

{ scanf("%8d%8d%8d%8d%8d%8d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a [i][5],&a[i][6]);

}

}

print1() /*输出成绩表,并求总分,平均分和排名次*/

{

int i,j;

int b[100],c[100];

int t,loc,k;

fp=fopen("成绩表.txt","w");

for(i=1;i<=stu;i++) /*求总分和平均分*/

{

a[i][7]=0;

for(j=2;j<=6;j++)

a[i][7]=a[i][7]+a[i][j];

a[i][8]=a[i][7]/5;

}

for(i=1;i<=stu;i++) /*排名*/

{

b[i]=a[i][7];

c[i]=i;

}

for(i=1;i<=stu-1;i++)

{

loc=i;

for(j=i+1;j<=stu;j++)

if(b[j]>b[loc])

loc=j;

if(loc!=i)

{t=b[i];b[i]=b[loc];b[loc]=t;

t=c[i];c[i]=c[loc];c[loc]=t;

}

}

for(i=1;i<=stu;i++)

for(k=1;k<=stu;k++)

if(c[k]==i)

{

a[i][9]=k;

break;

}

for(i=1;i<=stu;i++) /*输出成绩表*/

{

for(j=1;j<=9;j++)

printf("%-6d",a[i][j]);

printf("\n");

}

/*以下输出成绩表存到一个文件中*/

fprintf(fp,"学号语文数学英语物理化学总分均分名次\n");

for(i=1;i<=stu;i++)

{

for(j=1;j<=9;j++)

fprintf(fp,"%-6d",a[i][j]);

fprintf(fp,"\n");

}

}

print2() /*求各科总分和平均分*/

{

int i,j;

int m[3][6];

for(j=2;j<=6;j++)

{

m[1][j-1]=0;

for(i=1;i<=stu;i++)

m[1][j-1]=m[1][j-1]+a[i][j];

m[2][j-1]=m[1][j-1]/stu;

}

for(i=1;i<=2;i++)

{

for(j=1;j<=5;j++)

printf("%-6d",m[i][j]);

printf("\n");

}

}

change() /*修改学生成绩*/

{

int m,b,c,i,n=0;

printf("请输入您要修改的学生的学号:");

scanf("%d",&m);

printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");

printf("请选择您要修改的科目:");

scanf("%d",&b);

printf("请输入新的学生成绩:");

scanf("%d",&c);

for(i=1;i<=stu;i++)

if(m!=a[i][1]) n++;

else {

n++;

break;

}

a[n][b+1]=c;

printf("\n重新输出成绩表\n");

printf("学号语文数学英语物理化学总分均分名次\n");

print1();

go();

}

go() /*选择菜单*/

{

int n;

printf("\n现在您将会遇到以下几种情况:\n");

printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n");

printf("请您根据需要按键选择:");

scanf("%d",&n);

if(n==1)find();

if(n==2)change();

if(n==3)main();

if(n==4){

clrscr();

printf("*********感谢您使用本程序*********\n");

printf("请多多指教");

printf("\n\n");

printf("再次感谢您的使用\n");

printf("------------ByeBye----------------");

}

getch();

}

find1() /*按名次查询学生成绩*/

{

int n,i;

printf("请输入您要查询的学生的名次:");

scanf("%d",&n);

printf("名次学号语文数学英语物理化学总分均分\n"); for(i=1;i<=stu;i++)

if(n==a[i][9])

{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][9],a[i][1],a[i ][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]);

break;

}

printf("\n");

go();

}

find2() /*按学号查询学生成绩*/

{

int n,i;

printf("请输入您要查询的学生的学号:");

scanf("%d",&n);

printf("学号语文数学英语物理化学总分均分名次\n");

for(i=1;i<=stu;i++)

if(n==a[i][1])

{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][2],a[i ][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);

break;

}

printf("\n");

go();

}

find3_1(int n) /*输出科目查询结果*/

{

int i;

printf("学号名次语文数学英语物理化学总分均分\n"); for(i=1;i<=stu;i++)

if(a[i][n+1]>=90)

{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][9],a[i ][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]);

printf("\n");

}

go();

}

find3() /*科目选择菜单*/

{

int n;

printf("现有以下五种科目供查询:\n");

printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");

printf("请按键选择:");

scanf("%d",&n);

find3_1(n);

}

find() /*查询方式菜单*/

{

int m;

printf("根据您的要求,有以下3种查询方式: \n");

printf("1,按名次查询;\n");

printf("2,按学号查询;\n");

printf("3,查询某科成绩在90分以上的学生的情况;\n");

printf("现在,按照您的需要请按键:");

scanf("%d",&m);

if(m==1)find1();

if(m==2)find2();

if(m==3)find3();

}

main() /*主函数运用文本编辑对欢迎界面进行排版*/

{

int i;

clrscr(); /*清屏*/

textcolor(YELLOW);

{

gotoxy(20,9);

printf("******欢迎使用学生成绩管理系统!******\n");

gotoxy(20,11);

printf("------------制作人:刘丹------------\n");

gotoxy(20,13);

printf("******欢迎阅读******\n");

gotoxy(20,15);

printf("***********网络10307班***********\n");

}

for(i=1;i<=44;i++) /*输出用#组成的矩形以达到美观的效果*/ {

{

gotoxy(16+i,19);

printf("#");

}

{

gotoxy(16+i,7);

printf("#");

}

}

for(i=1;i<=13;i++)

{

{

gotoxy(16,6+i);

printf("#");

}

{

gotoxy(61,6+i);

printf("#");

}

}

getch();

clrscr();

inputx();

clrscr();

gotoxy(3,3);

printf("\n学生成绩管理系统\n\n");

printf("一,输入成绩\n");

printf("请输入学生的成绩:\n" );

printf("学号语文数学英语物理化学\n");

input();

printf("\n");

printf("二,输出成绩表\n");

printf("学号语文数学英语物理化学总分均分名次\n"); print1();

printf("\n");

printf("三,输出各科总分及平均分\n");

printf("语文数学英语物理化学\n");

print2();

printf("\n");

printf("四,查询\n");

find();

}

六、运行结果如下:

⑴开始运行所看到的界面:

⑵输入学生人数:

⑶显示成绩情况:

⑷退出程序:

⑸退出结果:

课程设计项目二

一、课程设计名称:幻方图案(要求有边框)

二、课程设计目的:1.复习巩固C语言学过的知识

2.学习利用计算机编程来解决数学问题

三、课程设计要求:1.以文本菜单界面选择幻方图案

四、课程设计内容:输入一个大于N>=3的基数,输出一个N阶幻方。

五、程序代码:

#define N 12

main()

{int i,j,k=1,n=1,a[N][N];

while(n!=0)

{printf("please input a number:");

scanf("%d",&n);

if(n==0)break;

else

{i=n/2+1;

j=n;

a[i][j]=k++;

while(k<=n*n)

{if(k%n==1)j--;

else

{i=i%n+1;

j=j%n+1;}

a[i][j]=k++;}

printf(" ");

for(i=1;i<=3*n+1;i++)

printf("* ");

printf("\n *");

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

printf(" %-3d*",a[i][j]);

printf("\n");printf(" ");

for(j=1;j<3*n+1;j++)

printf("* ");

printf("*");

if(i==n)printf("\n");

else {printf("\n ");

printf("*");}

}

printf("\n");}

k=1;}

}

六、运行结果如下:

七、实训心得:

1.本学生成绩管理系统在应用函数与数组的基础上进行设计的,与我们所学的C语言的知识相当吻合。对于这一程序的实现,让我对C语言的知识有了很好的巩固,也意识到函数与数组的重要性。不过学过的知识只有不断的巩固,才能掌握。

2.奇数阶的幻方的算法用C语言来实现,其特点是边框可以根据阶数的变化而变化。其中应用了宏代换的技巧。对于这一程序的实现,体现C语言的魅力。

C语言实训报告

C语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 24 指导教师:朱震周斌王旬全刘辉 2016 年10月8 日 目录 摘要 (1) 设计要求 (2) 设计步骤 (3) 代码编写 (4) 心得体会 (5) 参考文献 (6)

许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需要同物体接触。本文的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。 机器人使用红外线二极管LED 作为前灯,如图6-1 所示。红外线二极管发射红外光线,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机A T89S52 基于这个传感器的输入控制伺服电机。红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外,它几乎不允许其他光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38500 次的红外光。这就防止了普通光源像太阳光和室内光对IR 的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100 Hz 或120 Hz。由于120 Hz 在电子滤波器的38.5 kHz 通带频率之外,它完全被IR 探测器忽略。 本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下: 元件清单 (1)红外检测器,2 个。 (2)IR LED(带套筒),2 个。 (3)470? 电阻,2 个。 (4)连接线,若干。 二、设计要求 (1)小车能够完成前进、后退、左转、右转等动作。 (2)机器人能够读出传感器电平变化,并作相应的动作变化。 (3)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

c语言实训心得

C语言实践心得体会 在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: 1、加深对课堂讲授内容的理解 课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。 通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。 2、熟悉程序开发环境、学习计算机系统的操作方法 一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 3、学习上机调试程序

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

C语言程序设计实验报告(完整版)

报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。

实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i;

c语言程序设计心得体会

c语言程序设计心得体会 本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意! 二十一世纪是计算机的世纪,是一个全新的世纪,计算机正逐步入侵我们的生活。刚开始接触计算机的时候感觉很新奇,那时觉得计算机很神秘,于是就产生了以后一定要熟练掌控计算机的念头。怀着这个愿望,我选择了计算机科学与技术为专业,有点兴奋又有点担忧,兴奋的是以后可以经常接触和了解计算机了,担忧的是我几乎没有任何基础,怕跟不上大家的步伐。有死党说我杞人忧天,结果证实我“忧”得不无道理。依然清楚地记得第一学期的上机课,每次上机老师都计分,所以经常手忙脚乱,用“惨不忍睹”来形容是最适合不过了。 紧张的一个学期过后,我们迎来了c语言的学习和一位风趣博学的老师。虽然刚开始学习c语言的时候大家都一筹莫展,但在老师的鼓励和教育下一步步地往前迈,很令人欣慰。在这之后的学习中仍然困难重重,然而“坚持到底就是胜利”这个坚定的信念激励着我们勇往直前。c语言课本的学习总算结束了,多么崎岖的一条学习之路。

大学的教育模式和中学有很大不同,从平常的课程安排和教学就可以知道,但是独立完成课程设计和写论文这种任务对我们来说无疑是一个很大的挑战。十七周开始进行课程设计,老师要求我们写一个计算器的程序,起初大家都被难倒了,然后开始一步步地摸索,先查找有关资料,画计算器的图形,写了好长一段程序才把图形搞定,可老师一看都不满意,要求我们用循环来做,“师”令如山,不得不听从,改吧,这一改又让大家死了好多脑细胞,感觉有点残忍。 完成了计算器的图形很有成就感,毕竟六月天坐在机子前不是令人愉快的事。接下来要进行计算器内部运算程序的设计,说实话,我根本就不知道要做,更不清楚如何着手,不是我妄自菲薄,独立完成这个程序设计根本就是不可能的事,可想而知只能寻求帮助了,但这个程序不是轻而易举就能完成的。有些积极的同学从网上搜索了好多有关这方面的资料,拼拼凑凑,进行了多次讨论,终于完成了这部分的设计,在同学的互相帮助下,大多数人都完成了最重要的一部分程序设计。 接下来就是用循环语句使按键上的数字有闪烁的功能,这个因为之前老师有过提点,所以相对简单一些。

C语言实习报告

设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.sodocs.net/doc/148233772.html,

二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>

2,程序: #include int main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf("从键盘输入10个学生成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个学生成绩 for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]

C语言实训课程学习总结

C语言实训课程学习总结 在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的 同学共同的感受是:C语言实训和平时上课所接触的程序是有很大 不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同 组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言 实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功, 让我对下面的项目就充满信心。通过自己与同学合作编写程序,最 终把最初的理论知识转化基本技能。这次的实训,使我对C语言的 学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体 会到了老师认真负责的伟大的精神和热情为同学指导的促学方式, 虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但 是到了结束时才知道,这种教学让我们自己学会了自学,学会了去 看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了 教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还 有那些我们应该注意的事项,这些是平时上课时无法学到的,是更 深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错 误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的 变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学 好用C语言编写一个按要求的系统。

最新大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。 大学生c语言程序设计实训报告总结一 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,

并总结了一点经验: 要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IFELSE和SWITCHCASE这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF什么时侯用SWITCH 呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH 而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。 大学生c语言程序设计实训报告总结二

c语言实验心得体会

c语言实验心得体会 篇一:C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C 语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、学习耐心与细心不足,如scanf(“%d”,n);中的“”有时候会忘了。而在最后 输出时又错写成printf(“%d”,n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

c语言实习报告

实习报告 实习性质: C语言课程实习 学生姓名:谢辉 专业班级:信安141 指导教师:郑晓蓉、杨娟 实习时间:2014年12月22日- 2014年12月26日 实习地点:1203 重庆工程职业技术学院 学生实习考核表 三号黑体行距:固定

目录 1实习目的..................................................... 2 实习概况..................................................... 2.1 实习要求 ............................................... 2.2 实习时间 ............................................... 2.3 实习环境 ............................................... 2.4 开发环境 ............................................... 3 实习内容..................................................... 3.1 系统需求分析 ........................................... 3.2 程序设计 ............................................... 3.2.1程序的初始界面..................................... 3.2.2成绩的输入......................................... 3.2.3成绩的查询......................................... 3.2.4各科成绩的排序..................................... 3.4.5总成绩排序.........................................

C语言实训报告模板

湖北汽车工业学院电气与信息工程学院 《C语言程序设计》 实训报告 实训题目:学生信息管理系统 专业:汽车电子工程专业 班级: 姓名: 成绩:

一、需求分析 1、问题 根据需求,该系统所应包含的信息有以下一些: 学生的基本信息: 学号,班级,姓名,年龄,出生日期。 根据需求,该系统所应实现的功能有以下一些: 各种基本信息数据的录入:a由键盘输入学号,班级等基本信息。 B由文件录入学生信息。 对学生信息的查询:a按学号查询指定学生信息。 b按班级查询指定班级内学生的信息。 学生基本信息数据的删除:按学生学号来删除指定学号的学生信息。 学生基本信息的保存:将录入的学生信息保存到文件中。 2、系统 采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。 3、运行要求 能连续录入任意个数学生的基本信息。 界面简洁,操作方便,提示人性化,例如删除前需要提示用户是否删除 容错性强,例如输入的学生出生日期格式不对或日期不符合时提示输入错误,并可重新输入。 二、总体设计 1、系统流程设计 根据系统要求,设计如下的系统流程

+ 2、系统模块设计 根据系统的功能设计,如下模块

主界面模块:完成系统菜单的显示 功能选择模块:根据用户的选择,完成其相应的功能 键盘输入学生信息:从键盘输入任意个数学生的基本信息,并保存到结构体链表中。 文件录入学生信息:从指定的文件中录入学生的基本信息,并保存到结构体链表中。 按学号查学生信息:输入要查找的学生的学号,可查询并显示该学号对应学生的基本信息。 按班级查学生信息:输入要查找的班级,可查询并显示该班级内学生的基本信息。 删除指定学号信息:输入要删除的学生的学号,可找到并显示该学号对应学生的信息并删除其信息。 保存学生信息:可将已录入的学生信息保存到指定的文件中。 三、详细设计 1、数据结构设计 根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下: 数据项数据项名称数据类型数据长度备注学号xh_number 整形变量 2 班级bj_number 整形变量 2 姓名name 字符串变量20 年龄nl_number 整形变量 2 指向日期结构 体的指针born_day*q 指向日期结构体类型的指针变量 应题目要求另加一个存放日期的结构体: 数据项数据项名称数据类型数据长度备注 年份y 整形变量 2 月份m 整形变量 2 号 d 整形变量 2 为了能实现可连续输入任意个数的学生信息,我采用链表的结构保存学生的 基本信息,在增加学生的基本信息时,创建一个学生信息的节点,将其插入到链表中,示意图如下。 使用C语言创建的结构体如下: struct student { int xh_number; 学号 int bj_number; 班级 char name[20]; 姓名

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

C语言综合实验报告模板(附调试代码)

学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期: 实验项目:学生成绩管理系统 一、实验目的和要求 目的: 1.掌握三种程序基本结构; 2.熟练使用数组、用户自定义函数等相关知识进行程序设计; 3.熟悉结构化程序设计语言思想编写程序代码; 4.理解和掌握C语言的语法以及三种基本程序结构的综合应用; 5.熟悉排序、查找、统计分析等常用算法 6.熟悉C语言的编程和调试环境,培养学生用计算机解决实际问题的能力要求:根据实验内容,认真编写源程序代码、上机调试程序,书写实验报告。 二、实验内容 综合利用所学C语言三种程序基本结构以及数组(或指针)、用户自定义函数等相关知识进行一个小型学生成绩管理系统的设计与实现,具体内容如下:某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,实现如下的学生成绩管理系统: (1)录入每个学生的学号和考试成绩 (2)计算课程的总分和平均分 (3)按成绩由高到低排出名次表 (4)按学号由小到大排出成绩表 (5)按学号查询学生考试成绩 (6)按优秀(90-100分)、良好(80-89分)、中等(70-79分)、及格(60-69分)、不及格(0-59分)5个类别,统计每个类别的人数及其所占百分比(7)输出每个学生的学号、考试成绩 三、实验步骤 1.仔细阅读实验要求和书上的相关内容,在磁盘上新建以学号姓名命名的文件夹。

2.编写程序代码、编译、连接及运行程序、查找程序中的错误 3.函数及功能说明 四、完整源程序代码 五、结果分析及总结 分析运行结果,并进行总结(可以从以下几个方面来总结:你在编程过程中对问题是如何分析的?遇到了哪些难题?你是怎么克服的?你的收获有哪些?) 调试代码: #include #include #include #define STU_NUM 30 /*最多的学生人数*/ int Menu(void); void Readscore (long num[],float score[],int n); void Aversumofscore(float score[],int n); void Desortbyscore(long num[],float score[],int n); void Assortbynum(long num[],float score[],int n); void searchbynum(long num[],float score[],int n); void statisticanalysis(float score[],int n); void printscore(long num[],float score[],int n); int main() { char itemselected; int n; float score[STU_NUM]; long num[STU_NUM];

《C语言程序设计》学习心得.pdf

C语言程序设计网络学习心得 通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重: (一)激励学生学习兴趣,充分调动学生学习积极性 学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣 只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C 语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C 语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。 (二)设计问题,开发智力,引导学生自己解决实际问题 在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动C 语言课程教学艺术化的途径之一。 (三)强化课程设计,加强学生能力培养 课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的

c语言指针实验报告

C语言实习报告 题目:指针及其应用 系别: 专业: 姓名: 学号: 日期:

一实验名称:指针及其应用 二实验目的: (1)掌握变量的指针及其基本用法。 (2)掌握一维数组的指针及其基本用法。 (3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。 三实验内容: (1)运行以下程序,并从中了解变量的指针和指针变量的概念。 (2)运行以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题: 1.程序的功能是什么? 2.在开始进入循环体之前,p指向谁? 3.循环每增加一次,p的值(地址)增加多少?它指向谁? 4.退出循环后,p指向谁? 5.你是否初步掌握了通过指针变量引用数组元素的方法? (3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。

(4)编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入10个数; ②调用此函数进行重排; ③输出重排后的结果。 四分析与讨论: (1)指针的定义方法,指针和变量的关系。 定义方法: 数据类型 *指针变量名; 如定义一个指向int型变量的指针—— int *p;

则我们可以继续写如下代码—— int a = 4; p = &a; printf("%d", *p); 在这里,我们定义了一个变量a,我们把它理解为内存空间连续的4个字节(int型占用4字节),则这4个字节的空间保存着一个数4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p (记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时int *p的*号作用不同(定义时的*表示该变量是个 指针变量,而非是取它指向的变量)。 (2)数组和指针的关系。 指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程中的应用。 1.指针与数组的关系 当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。如: char str[20], *ptr; ptr=str; ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,也是数组第一个元素的地址。此时可以认为指针ptr就是数组str(反之不成立),这样原来对数组的处理都可以用指针来实现。如对数组元素的访问,既可以用下标变量访问,也可以用指针访问。 2.指向数组元素的指针 若有如下定义: int a[10], *pa; pa=a; 则p=&a[0]是将数组第1个元素的地址赋给了指针变量p。 实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:p=&a[0]或p=a。 这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a++、++a或语句a+=10,而pa++、++pa、pa+=10则是正确的。由此可见,此时指针与数组融为一体。 3.指针与一维数组 理解指针与一维数组的关系,首先要了解在编译系统中,一维数组的存储组织形式和对数组元素的访问方法。 一维数组是一个线形表,它被存放在一片连续的内存单元中。C语言对数组的访问是通过数组名(数组的起始地址)加上相对于起始地址的相对量(由下标变量给出),得到要访问的数组元素的单元地址,然后再对计算出的单元地址的内容进行访问。通常把数据类型所占单元的字节个数称为扩大因子。 实际上编译系统将数组元素的形式a[i]转换成*(a+i),然后才进行运算。对于一般数组元素的形式:<数组名>[<下标表达式>],编译程序将其转换成:*(<数组名>+<下标表达式>),其中下标表达式为:下标表达式*扩大因子。整个式子计算结果是一个内存地址,最后的结果为:*<地址>=<地址所对应单元的地址的内容>。由此可见,C语言对数组的处理,实际上是转换成指针地址的运算。 数组与指针暗中结合在一起。因此,任何能由下标完成的操作,都可以用指针来实现,一个不带下标的数组名就是一个指向该数组的指针。

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

相关主题