C语言实训
C语言实训
《C语言程序设计》实训
一. 实训目的:
1.熟悉编程环境;
2.练习输入输出函数;
3.学生成绩管理系统的设计。
二. 实训要求:
1.完成对学生成绩管理系统控制菜单的设计。完成管理菜单的界面;
2.输入:运用输入函数把10个学生的语文、英语、数学、体育、计算机5门课程的成绩放在一个数组,成绩由键盘输入;
3.计算:计算生成5门课程的平均成绩及10个学生的平均成绩,分别放在对应的数组中;
4.查找:查找并输出最高分数所对应的学生及课程;
5.计算:计算生成学生平均分方差;
6.main调用所有函数,实现全部函数功能。
三.实训内容:
1.流程图:
2.程序:
#include
#include
int main()
{
printf("********************************************\n");
printf("* ==================== *\n");
printf("* 学生成绩统计系统*\n");
printf("* ==================== *\n");
printf("* *\n");
printf("* 1.输入学生成绩*\n");
printf("* 2.计算平均成绩*\n");
printf("* 3.查找最高成绩*\n");
printf("* 4.计算平均分方差*\n");
printf("* 5.退出系统*\n");
printf("* *\n");
printf("********************************************\n");
printf("请输入选项(1--5):\n");
int n;
while (scanf("%d",&n))
{
int a[10][5],i,j;
int num[5]={0};
float subject[5],student[10],s;
float sum=0,aver;
switch(n)
{
case 1: //输入学生成绩printf("请输入成绩\n");
for(i=0; i<10; i++)
{
printf("学生%d\n",i+1);
for(j=0;j<5;j++)
{
printf("科目%d: ",j+1);
while(scanf("%d",&a[i][j]) != 1) //误输入判断
{
printf("输入错误!!!\n");
getchar();
}
}
}
break;
case 2: //计算平均值for(i=0;i<10;i++)
{
s=0;
for(j=0;j<5;j++)
s=s+a[i][j];
student[i]=s/5;
}
for(i=0;i<5;i++)
{
s=0;
for(j=0;j<10;j++)
s=s+a[i][j];
subject[i]=s/10;
}
for(i=0;i<10;i++)
printf("学生%d平均成绩:%5.1f\n",i+1,student[i]);
printf("\n");
for(j=0;j<5;j++)
printf("科目%d平均成绩:%5.1f\n",j+1,subject[j]);
printf("\n");
break;
case 3: //查找最高成绩for(i=0;i<5;i++)
for(j=0;j<10;j++)
{
if(a[j][i]>a[num[i]][i])
num[i]=j;
}
for(i=0;i<5;i++)
{
printf("科目%d最高分为:%d\n",i+1,a[num[i]][i]);
printf("学生%d\n",num[i]+1);
}
break;
case 4: //计算方差
for(i=0;i<10;i++)
{
sum=sum+student[i];
}
aver=sum/10;
sum=0;
for(i=0;i<10;i++)
{
sum=sum+(student[i]-aver)*(student[i]-aver);
}
printf("方差为%5.1f\n",sum/10);
break;
case 5: //退出
exit(0);
default: //不为0至5显示错误printf("error");
}
}
return 0;
}
3.知识点
(1).用printf函数显示各种类型数据的格式:
printf("格式控制字符串",输出项表)
(2).scanf函数的格式:
scanf("格式控制字符串",输入项表)
(3).if(表达式1)
{ 语句组1 }
else if(表达式2)
{ 语句组2 }
…
else
{ 语句组n+1 }
(4).switch语句的一般形式:
switch(表达式)
{ case 表达式1: 语句组1 break;
case 表达式2: 语句组2 break;
… …
case 表达式n: 语句组n break;
default: 语句组n+1 break;
}
(5).while语句的一般形式:
while(表达式)
{ 语句1
语句2
… …
语句n
}
(6).对数组中数据进行查找时,通过循环逐一进行比较。程序代码一般为:
for(i=0; i<数组长度; i++)
if(数组名[i]==被查数据)
break;
四.实训总结及体会:
这次的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语言实践心得体会 在这个星期里,我们在专业老师的带领下进行了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语言实训作业1
《C语言通识教育》实训指导书 (第一次) (2学时) 何天成 2016年月日
前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含:(1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析
C语言教学网站及网上考试系统的设计与实现
目录 1. 引言 (1) 1.1 课题研究背景与意义 (1) 1.1.1 网上教学系统 (1) 1.1.2 网上考试系统 (1) 1.2 问题定义内容简介 (1) 1.2.1 问题定义 (1) 1.2.2 内容简介 (2) 1.3 课题调研与可行性分析 (2) 1.3.1课题调研 (2) 1.3.2 可行性分析 (2) 1.4 论文各章内容介绍 (3) 2. 系统的需求分析 (4) 2.1系统功能需求 (4) 2.2 业务流和数据流图 (4) 2.2.1业务流 (4) 2.2.2数据流图 (5) 2.3 数据字典 (6) 2.3.1 数据流分量 (6) 2.3.2 数据流 (8) 2.3.3 数据存储 (8) 2.3.4 数据处理 (8) 3. 系统设计 (10) 3.1系统总体系结构设计 (10) 3.2 系统数据模型设计 (11) 3.2.1 数据概念结构设计——E-R图 (11) 3.2.2 数据库逻辑结构设计(关系模型) (13) 3.2.3 数据表 (14) 3.3 系统开发与运行环境确定 (16) 3.3.1 开发工具的确定 (16) 3.3.2 运行环境 (17) 3.3.3系统实现的若干关键技术 (17) 4. 用户管理模块设计 (19) 4.1用户管理模块的体系结构设计 (19) 4.1.1 用户管理模块功能简介 (19) 4.1.2 用户管理模块功能图 (19) 4.2 用户管理模块的详细设计 (19) 4.2.1 用户登录和注册界面设计 (19) 4.2.2 用户登录 (20) 4.2.3 用户注册 (21) 4.2.4 用户及其权限管理 (23) 5. 试题管理模块设计 (26) 5.1 试题管理模块体系结构设计 (26)
C语言实习报告
设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.360docs.net/doc/056746955.html,
二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>