c上机实验报告21(共9篇)
c上机实验报告21 篇1
C语言上机实验报告
2160500146 计算机66马俊松
在本学期,共进行了大约五次上机,完成了数十道编程题,现将在完成作业过程中所遇到的问题以及解决过程进行如下几点总结,并提出几点建议。
1.在刚开始那几次做编程作业时,经常因为只是输出时的格式不符合moodle上的要求而的零分,因而不断修改,浪费大量时间,希望今后moodle网站能在这一点上做出改进(如果过程正确而只是输出格式错误,可以不必给零分)。比如下面几个题:
2.在做6.1题(找出一句话中最长的子字符串)的过程中,因为字符数组的知识未掌握牢固,在以下几个方面卡了比较久:
①:字符串在输入时,若用scanf(”%s”,a),则只会得到第一个单词;若用for(i=1;i<=n;i++)scanf(“%c”,a[i]),则循环会一直持续知道输入n个字符;若希望将整句话输入,应用gets(a);
②:将”n”,””,” “几个概念搞混淆,因而在条件判断时出现混乱,导致错误。
3.在做7.1题(用函数实现学生的信息录入及排序)时,遇到了以下几个问题并卡了比较久的时间:
①:运用了错误的输入方式,导致未能的到完整的输入信息或输入过程中直接中断(如下图);
②:刚开始时为采用指针的思想,导致在设计程序时比较繁琐;但应注意在使用完指针p++后,应重新给指针p赋回初值;
总的来讲,编程就是不断在错误和调试中找到想自己的的想法完整表达出来,这一学期的上机实践使我的编程能力有了进一步提高。
c上机实验报告21 篇2
简单的C程序设计和基本数据处理
实验目的:
1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2.通过编程进一步理解和掌握运算符的确切含义和功能。3.理解和掌握运算符与运算对象的关系,优先级和结合方向。
1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。
2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。3.掌握简单的C程序的查错方法。实验内容:
一、输入程序,观察输出结果,并对语句做必要的注释。1./* e1.c */ #include
int x;
x=27
printf(“%4d,%o,%Xn”,x,x,x);}
输出结果:
解释:
2./* e2.c */ #include
char ch;
int k;
ch=’a’;k=10;
printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);
printf(“k=%%dn”,k);
} 输出结果:
解释:
3./* e4.c */ #include
float x=5/2,y=5.0/2;
printf(“x=%f,y=%fn”,x,y);} 输出结果:
解释:
二、编写程序。
1. 编程(c1.c)任意输入3个整型变量x,y,z和一个实型变量avg,计算并输出3个整数的平均值avg,从键盘输入数据并验证结果。观察运行结果。源程序:
输出结果: 解释:
2. 输入两个个整数给a,b,然后交换它们的值,源程序:
输出结果:
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验二
选择结构程序设计与循环结构程序设计
实验目的
1、了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
2、学会正确使用逻辑运算符和逻辑表达式;理解循环条件和循环体
3、熟练掌握if语句和switch语句;熟练使用while、do-while语句实现循环程序设计
4、熟练掌握switch语句中break语句的作用。实验内容 编程,输入一个整数,求它的各位数字之和及位数。例如123的各位数字之和是6,位数是3.输入输出示例:
输入一个整数:12345 12345有5位数,各位数字之和是15 提示:n表示一个整数,则n%10取个位数,n=n/10去掉个位数,组成一个新数。思考:如果要把每位数字转换为字符输出,如何编程。
3. 改错,输入2个正整数,分别将其逆向输出。输入输出示例: 123的逆向是321 321的逆向是123 void main(){
int n,m=0;
scanf(“%d”,n);
while(n>0)
{ m=m+n%10;
m=m*10;
n=n/10;}
printf(“%d的逆向是%dt”,n,m);}
4. 编程,找出200以内的所有完数,并输出其因子。一个数如恰好等于它的因子之和,这个数称为完数,如6=1+2+3,其中1、2、3为因子,6为因子和。输入输出示例: 1=1 6=1+2+3 28=1+2+4+7+14 main(){ int i,j n;printf();} 实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
实验三
数组
实验目的
1.熟练掌握数组的定义和初始化 2.熟练掌握使用数组元素的引用 3.继续掌握排序算法 实验内容
2.编程,输入1个正整数n(1 输入输出示例: 输入整数个数:5 输入5个整数:5 2 1 10 9 2 5 9 10 提示:注意下标的变化。 思考:如果输入的是实数,要求将绝对值最小的数与第1个数交换,绝对值最大的数与最后1个数交换,然后输出交换后的n个数,如何编程。 3.编程,输入1个正整数n(1 输入输出示例: 输入整数个数:10 输入10个整数:-11 2 8 5-3-16 9 7 6 10 排序后:2-3 5 6 7 8 9 10-11-16 5.编程,输入一个n行m列(n<=4,m<=4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。 输入输出示例: 输入数组行和列数n、m:2 3 输入2行3列的数组元素: 12-7 15-18 9 11 12.00-7.00 15.00-18.00 9.00 11.00 a[1][0]=-18.00 思考: 1)如果不从键盘输入数组元素,而是用初始化的方式给数组赋值,运行结果一样吗? 2)如何修改程序,求绝对值最大的元素? 3)将数组a的每一行均除以该行的主对角元素,然后最大值,试编制程序。 实验报告要求 (十)姓名: 上机须知: a)必须带《实验教程》,没有带的回去取;上机时间:2小时 b)提交内容:提交两张图片(命名“1.jpg”和“2.jpg”) c)A、B班要求不完全相同,不要做错 d)作业提交格式:提交多个文件时打包为rar压缩包,压缩包按班级-学号-姓名-实验号(阿拉伯数字)-A(B).rar命名,A、B代表A班或者B班,截厕所被人占了图按 1.jpg、2.jpg…依次命名学号:班级:日期: 1.使用绘图工具进行绘图 说明: a)参考实验8.2,打开“绘图”,熟悉绘图的基本操作; b)完成绘图作业 要求: ◆根据个人理解绘制一张黑白的 “熊猫头像” ◆使用绘图,在图像中空白处,插入自己个性的“学号_班级_姓名”; 厕所被人占了◆将图片命名为“1.jpg”; ◆必须自己画,抄袭的、被抄袭的 一律0分。 2.使用Photoshop进行图像处理 说明: a)参考实验8.3,熟悉Photoshop的基本操作; b)完成图像处理作业 要求: ◆随意找一张彩色图片(这个网上下载怎么的都行)◆使用photoshop,在图像中空白处,插入自己个性的“学号_班级_姓名”; ◆将图片弄成“卡尔波点装饰照片效果”;(A班做,B班可不要求) ◆将图片命名为“2.jpg”; (三)实验思考 * 1、如何通过新闻组进行信息发布? 选择一个新闻组中,单击“新邮件”按钮,得到新邮件窗口,这时收件人是就是新闻组的名称,单击可输入主题,然后,书写正文。当新闻写好之后,单击“投递邮件”按钮,就自动将这篇新闻发送到新闻服务器的新闻组中 2、如果进行新闻发布为什么需要注册? (1)发新闻邮件必须用已注册并设置成功的账号密码登录。 (2)注册信息中的电子邮件地址,Internet新闻服务器是发新闻邮件必需的。 3、一般电子邮件发布与新闻组发布结果有何异同? 通过电子邮件交换信息。 新闻组和邮件列表的几个重要区别是: 1.新闻组需要自己去查找:在电子邮件信箱中,因特网邮件列表会自动显现,但要阅读新闻组时,就需要先用新闻组阅读软件搜索它,然后再阅读。 2.新闻组被编辑过:新闻组阅读软件可以把信息组织为提纲要点的形式,因此阅读的只是编辑过的主题或要点,而邮件列表则是线性的,不论你是否需要,信息都是按发送时的顺序排列。 3.新闻组不需参加者正式登记:邮件列表需要参加者用确认电子邮件作为加入的标志,但要加入新闻组时,只需要一个新闻组阅读软件。 课程 数据结构 _ 院 系 专业班级 实验地点 姓 名 学 号 实验时间 指导老师 数据结构上机实验报告1 一﹑实验名称: 实验一——链表 二﹑实验目的: 1.了解线性表的逻辑结构特性; 2.熟悉链表的基本运算在顺序存储结构上的实现,熟练掌握链式存储结构的描述方法; 3.掌握链表的基本操作(建表、插入、删除等)4.掌握循环链表的概念,加深对链表的本质的理解。5.掌握运用上机调试链表的基本方法 三﹑实验内容: (1)(2)(3)(4)创建一个链表 在链表中插入元素 在链表中删除一个元素 销毁链表 四﹑实验步骤与程序 #include LinkList p,q;L=(LinkList)malloc(sizeof(Lnode));L->next=NULL;q=L; cout<<“请输入一个链表:”< for(int i=0;i { p=(LinkList)malloc(sizeof(Lnode)); cin>>p->data; p->next=q->next; q->next=p; q=p; } } int PrintLinkList(LinkList &L){//输出链表L的数据元素 LinkList p; } void LinkListLengh(LinkList &L){//计算链表L的数据元素个数。int i=0;p=L->next;if(L->next==NULL){ } cout<<“链表的数据元素为:”;while(p) { cout< data<<“ ”; p=p->next;} cout<<“链表没有元素!”< } LinkList p;p=L->next;while(p){ i++; p=p->next; } cout<<“链表的数据元素个数为:”< LinkList p,s;int j=0;p=L; while(p&&j } if(!p||j>i-1){ p=p->next;++j; } } cout<<“插入元素的位置不合理!”;return 0;s=(LinkList)malloc(sizeof(LNode));s->data=x;s->next=p->next;p->next=s;return 1;int DeleteLinkList(LinkList &L,int i){//删除链表L的第I个数据元素。 LinkList p,q;int j=0;p=L;while(p->next&&j } if(!(p->next)||j>i-1){ p=p->next;++j; } } cout<<“删除元素的位置不合理!”;return 0;q=p->next;p->next=q->next;i=q->data;free(q);return 1;void DestroyLinkList(LinkList &L){//销毁链表L。 LinkList p,q;p=L->next;while(L->next!=NULL){ q=p->next;L->next=q; free(p);} p=q; free(L); cout<<“链表已经被销毁!”< LinkList L; int i,j,x;cout<<“第一次数据结构上机实验—链表”< CreatLinkList(L,j); LinkListLengh(L); PrintLinkList(L); cout<<“在第几个元素前插入:”;cin>>i;cout<<“输入插入的元素:”;cin>>x; InsertLinkList(L,i,x); LinkListLengh(L); PrintLinkList(L); cout<<“输入删除元素的位置:”;cin>>i; DeleteLinkList(L,i); LinkListLengh(L); PrintLinkList(L); cout<<“销毁程序后为:”< DestroyLinkList(L);} 五﹑实验结果 六﹑实验心得体会: 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。 实验的程序设计规划(实现的功能、分几个模块、子函数)(1)编写链表创建子函数void CreatLinkList(L,j)(2)编写链表插入子函数 int InsertLinkList(LinkList &L, int i, int x)(3)链表的打印int PrintLinkList(LinkList &L)(4)编写链表删除子函数 int DeleteLinkList(LinkList &L,int i)(5)编写链表销毁子函数void DestroyLinkList(LinkList &L)(6)编写主函数Main(),通过功能菜单调用子函数(7)编译调试程序 经过多次的调试,修改,实验结果终于正确了,在这个过程中,经历了不知道怎么进行声明区的编写如包含文件,宏定义,函数声明,全局变量声明,结构体等的定义等的结合,到学会了使用先把程序主要规划为四个部分来写就简单多了,第一,定义;第二,写所要调用的子函数;第三,写主函数,调用子函数;第四就是程序的编译与调试,修改。数据结构实验需要我们对每个程序的算法有深刻的理解,才能应用到实际中去,因此我们需要在做实验之前要熟悉实验的内容,且先把所要实验的程序写出来,在实验中就可以查找错误并加以改正,这是一个成长的过程。 数据结构上机实验报告一﹑实验名称: 实验二—队列 二﹑实验目的: 1.掌握队列这种抽象数据类型的特点, 掌握栈与队列在实际问题中的应用和基本编程技巧,并能在相应的问题中选用它;2.熟练掌握循环队列和链队列的基本操作实现算法,特别是队满和队空的描述方法; 3.掌握栈与队列的数据类型描述及特点; 4.掌握栈的顺序和链式存储存表示与基本算法的实现; 5.掌握队列的链式存储表示与基本操作算法实现;6.按照实验题目要求,独立完成实际程序的编写编写、调试和运行,并通过用例数据的运行过程抓获相关屏面验证程序设计的正确性; 7.认真书写实验报告,并按时提交。 三﹑实验内容: 对顺序循环队列,常规的设计方法是使用対尾指针和对头指针,对尾指针用于指示当前的対尾位置下标,对头指针用于指示当前的対头位置下标。现要求: (1)掌握栈和队列的特点,即后进先出和先进先出的原则。(2)设计一个使用对头指针和计数器的顺序循环队列抽象数据类型,其中操作包括:初始化,入队列,出队列,取对头元素和判断队列是否为空; (3)编写主函数进行测试。 四﹑实验步骤与程序 #include #define OK 1 #define ERROR 0 #define OVERFLOW 0 typedef struct QNode { int data;struct QNode *next;}QNode,*QueuePtr;typedef struct { QueuePtr front;QueuePtr rear;}LinkQueue;int InitQueue(LinkQueue &Q){ } Q.rear=Q.front=(QueuePtr)malloc(sizeof(QNode));if(!Q.rear)exit(OVERFLOW);Q.front->next=NULL;return OK;void QueueEmpty(LinkQueue Q){ } void EnQueue(LinkQueue &Q,int e){ } int EnnQueue(LinkQueue &Q,int e){ QueuePtr p;p=(QueuePtr)malloc(sizeof(QNode));QueuePtr p;p=(QueuePtr)malloc(sizeof(QNode));if(!p)printf(“error”);if(Q.front==Q.rear)printf(“该链队为空:”);else printf(“该链队不为空:”);p->data=e;Q.rear->next=p;Q.rear=p;printf(“元素%d入队成功”,e); } if(!p)return ERROR;p->data=e;Q.rear->next=p;Q.rear=p; return OK;void DeQueue(LinkQueue &Q){ } void GetHead(LinkQueue &Q){ QueuePtr p;QueuePtr p;if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;Q.front->next=p->next;if(Q.rear==p)Q.rear=Q.front;free(p);printf(“队首元素删除成功”); } if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;printf(“队首元素为:%d”,p->data);void OutQueue(LinkQueue &Q){ } void LengthQueue(LinkQueue &Q){ int f=0;QueuePtr p;if(Q.front==Q.rear)QueuePtr p;if(Q.front==Q.rear)printf(“该链队为空”);p=Q.front->next;while(p!=Q.rear->next){ } printf(“%d%,”,p->data);p=p->next; } printf(“该队列的长度为:%d”,f);else { } p=Q.front->next;while(p!=Q.rear->next){ } printf(“该队列的长度为:%d”,f);p=p->next;f++;void main(){ system(“cls”);int flag=1,i;LinkQueue Q;InitQueue(Q);printf(“************************链队列功能菜单***********************n”);printf(“1:初始化链队列,2:判断链队列是否为空, 3:进入队列,4:取出队首元素n”);printf(“5:输出该队列的所有元素,6:输出该队列的长度,7:结束程序,8:清屏n”); while(flag){ printf(“n请输入操作符:”);scanf(“%d”,&i);switch(i){ case 1: int e,n,k;printf(“请输入队列的长度:”);scanf(“%d”,&n);printf(“请输入队列的元素:”);for(e=1;e<=n;e++){ } printf(“初始化链队成功”);break;scanf(“%d”,&k);EnnQueue(Q,k);case 2: QueueEmpty(Q); break;case 3: int j;printf(“请输入要进入队列的元素”);scanf(“%d”,&j);EnQueue(Q,j);break;case 4: GetHead(Q);break;case 5: printf(“该队列的元素为:”);OutQueue(Q);break; case 6: LengthQueue(Q);break;case 7: flag=0;break;case 8: system(“cls”);} break; } } 五﹑实验结果 六﹑实验心得体会: 程序主要构造了主函数main()和 InitQueue(),QueueEmpty()EnQueue(),OutQueue()等调用函数,实现了队列的创立,队列是否为空的判断,入队和出队等功能。 通过此次实验,加深了对队列的存储结构的了解,同时也对程序设计能力有了提高,加深了对队列先进先出性质的理解,它允许在表的一端进行插入,在另一端删除元素,这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。我们往往写不出程序,这其中的原因我觉得是对程序的结构不是很了解,对实验的内容也不熟练的结果,数据结构给我们许多程序的算法和模型,对我们写程序的思维有很大的锻炼,我们应珍惜每次上机实验的机会去实践课堂上所学的东西并从中发现问题,从而达到提升写程序的能力。 数据结构上机实验报告一﹑实验名称: 实验三—二叉树的遍历 二﹑实验目的: 1、熟悉二叉树的结构特性,了解相应的证明方法; 2、掌握二叉树的生成,掌握二叉树的定义和存储表示,学会建立一棵特定二叉树的方法; 3、理解二叉树的三种遍历方法:先序遍历、中序遍历和后序遍历; 4、学会编写实现树的各种操作的算法。 二、实验内容: 1、使用类定义实现二叉树,补充完整所缺的函数,并实现创建和遍历二叉树的基本操作; 2、编程实现在二叉链表这种存储方式下,实现二叉的遍历,可采用递归或者非递归实现,遍历算法为在先序、中序和后序遍历算法。 三、实验步骤与程序: #include void PreOrder(BiTree T)//先序 { if(T!=NULL){ printf(“%c”,T->data);PreOrder(T->lchild);PreOrder(T->rchild);} } void InOrder(BiTree T)//中序 { if(T!=NULL){ InOrder(T->lchild);printf(“%c”,T->data);InOrder(T->rchild);} } void PostOrder(BiTree T)//后序 { if(T!=NULL){ PostOrder(T->lchild);PostOrder(T->rchild);printf(“%c”,T->data);} } void main()//主函数 { printf(“------------二叉树的遍历-------------n”);printf(“请输入要遍历的数:”);BiTree Ta;Ta=CreateBiTree();printf(“先序遍历:”);printf(“n”);PreOrder(Ta);printf(“n”);printf(“中序遍历:”);printf(“n”);InOrder(Ta);printf(“n”);printf(“后序遍历:”);printf(“n”);PostOrder(Ta);} 五﹑实验结果 六﹑实验心得体会: 实验的程序设计规划(实现的功能、分几个模块、子函数)(1)先序遍历递归算法函数:void PreOrder(BiTree T)(2)中序遍历递归算法函数:void InOrder(BiTree T)(3)后续遍历递归算法函数:void PostOrder(BiTree T)(4)主函数的实现:void main() 在实验前我认真阅读关于二叉树的实现的内容,为编程实现第一步,本次实验通过按上述的实验步骤一步步实现的,实验过程中出现了一些错误,经过一步步的调试,修改错误,得到了二叉树的遍历用递归运算的方法的程序。通过这个实验,我体会到了理解数据结构的重要性,这有真正理解了定义数据类型的好处,才能用好这样一种数据结构。二叉树的先序,中序与后序的输出都用了递归的算法,而且用起来不是很复杂,这使我更进一步理解了函数递归调用并得到灵活运用;在实现算法上,从算法的效率看,递归方法书写形式较为简洁,更为直观,一般具有较好的空间效率。 总之,不管做什么实验,我们在做实验前都要先预习,对所做的实验有较深的理解,在做实验的时候需要很严谨,仔细的查找错误,从而能在实验中收获知识,提升自己。 数据结构上机实验报告4 一﹑实验名称: 实验四—查找 二﹑实验目的: 1、熟悉掌握顺序表的查找方法; 2、熟练掌握二叉排序树的构造方法和查找算法 3、掌握描述查找过程的判定树的构造方法,以及按照定义计算各种查找方法在等概率情况下查找成功时的平均查找长度; 4、学会定义线性表的储存类型,实现C++程序的基本结构对线性表的一些基本操作和具体的函数定义; 5、掌握顺序表的基本操作,实现顺序表的查找的等基本运算; 6、掌握对于多函数程序的输入,编辑,调试和运算过程。 二、实验内容: 1、实现顺序表的查找算法 2、关于衡量查找的主要操作—查找的查找平均效率的平均长度的讨论。 三、实验步骤与程序: #include element list[MAX_SIZE]; int seqsearch(element list[],int searchnum,int num);int main(){ int i,num,searchnum,k; printf(“---------------数据结构查找实验-------------n”);printf(“请输入数据元素的个数:”);scanf(“%d”,&num);printf(“请输入数据的元素:n”);for(i=0;i printf(“请输入要查询的数据元素:”);scanf(“%d”,&searchnum);k=seqsearch(list,searchnum,num);if(k!=-1){ printf(“所查询元素的下标为:”);printf(“%dn”,k);} else printf(“查询元素不存在。n”);} return 0;} int seqsearch(element list[],int searchnum,int num){ int j; list[num].key=searchnum; for(j=0;list[j].key!=searchnum;j++);return j 六﹑实验心得体会: 实验的程序设计规划为先写一个主函数int main(),再写一个查找的子函数int seqsearch(element list[],int searchnum,int num),主函数通过调用子函数的方法实现程序的设计。 所谓“查找”即为在一个众多的数据元素(或记录)的查找表中找出某个“特定的”数据元素(或记录),通过本次实验,我更进一步的了解数据结构程序实验设计实现算法的基本模型,和算法实现等基本内容,学会了顺序表的查找方法。 数据结构上机实验报告5 一﹑实验名称: 实验五—内部排序 二﹑实验目的: 1、通过实现下述实验内容,学习、实现、对比各种排序算法,掌握各种排序算法的优劣,以及各种算法使用的情况,并加以灵活应用。 2、掌握各种排序时间复杂度的分析方法。 二、实验内容: 1、插入排序:依次将待排序的序列中的每一个记录插入到先前排序好的序列中,直到全部记录排序完毕。 2、快速排序:首先选择一个基准,将记录分割为两部分,左支小于或等于基准,右支则大于基准,然后对两部分重复上述过程,直至整个序列排序完成。 3、讨论各种内部排序方法的基本思路,算法特点,排序过程及它们的时间复杂度的分析。 三、实验步骤与程序: #include } int x;void charu();void kuaisu();printf(“----------内部排序---------n”);printf(“ 1、插入排序:n”);printf(“ 2、选择排序:n”);printf(“请根据序号选择:”);scanf(“%d”,&x);if(x==1)charu();else kuaisu();void charu(){ int a[7],j,i,m; printf(“插入排序n”); printf(“请输入个您想排序的数据:n”); for(i=0;i<7;i++)scanf(“%d”,&a[i]); for(j=1;j<7;j++) { m=a[j]; for(i=j-1;i>=0;i--) { if(a[i] break; else a[i+1]=a[i]; } a[i+1]=m; } printf(“排序成功:”); for(i=0;i<7;i++) printf(“ %d”,a[i]); printf(“n”);} quick(int first,int end,int L[]){ int left=first,right=end,key; key=L[first]; while(left { while((left right--; if(left L[left++]=L[right]; while((left left++; if(left L[left]=key; return left; } quick_sort(int L[],int first,int end) { int split; if(end>first) { split=quick(first,end,L); quick_sort(L,first,split-1); quick_sort(L,split+1,end); } } void kuaisu(){ int a[7],i; printf(“快速排序n”); printf(“请输入个您想排序的数据:n”); for(i=0;i<7;i++) scanf(“%d”,&a[i]); quick_sort(a,0,9); printf(“排序成功:”); for(i=0;i<7;i++) printf(“ %d”,a[i]); printf(“n”);} 五﹑实验结果: 六﹑实验心得体会: 计算机装配调试 上 机 实习报 告 书 系部名称 : 学生姓名 : 专业班级 : 学 号 : 指导教师 : 计算机学院 网络 实习时间 : 2014年12月22日至2014年12月26 日 上机实习报告 一、实习任务目标 帮助我们了解计算机的组成以及性能,还有能对计算机进行基本的操作。 二、实习项目 实验项目有:计算机的拆装并且记录各个部件的信息,CMOS设置以及它的应用,系统查验以及测试,硬盘分区以及格式化,系统备份与恢复,安装操作系统与驱动。 三、实习内容 1.软硬件的测试(1)CPU测试: 测CPU性能:计算PI值的速度 12.8万位: 400万位 1600万位 01.031秒 54.047秒 4分39.297秒 (2)硬盘测试: 使用Everest ultimate查看整机信息 电脑: 操作系统 Microsoft Windows XP Professional Internet Explorer 8.0.6001.18702 DirectX 4.09.00.0904(DirectX 9.0c) 主板: CPU 类型 4x , 3200 MHz 内存 4 GB(镁光 DDR3 1600MHz)BIOS 类型 AMI 存储器: IDE 控制器 Intel(R)8 Series/C220 Series 2 port Serial ATA Storage Controller-8C08 主硬盘 西数 WDC WD5000AAKX-75U6AA0(500 GB / 7200 转/分) 光驱 飞利浦-建兴 DVD+-RW DH-16AES DVD刻录机 驱动器分区: C:(NTFS) 39997 MB(27060 MB 可用) D:(NTFS) 19994 MB(19612 MB 可用) 容量总计 58.6 GB(45.6 GB 可用) 输入设备: 键盘 HID Keyboard Device 鼠标 HID-compliant mouse 网络设备: 主 IP 地址 192.168.1.30 主 MAC 地址 C8-1F-66-4C-27-6C 网络适配器 Realtek PCIe GBE Family Controller(192.168.1.30) 硬盘测试:传输速率: 最小值为 1.8MB/秒 最大值为 121.6MB/秒 平均值为 95.4MB/秒 数据存取时间 17.8ms 突发数据传输率 169.1MB/秒 CPU使用率 2.8% (3)BIOS测试: CMOS的设置与应用: BIOS(Basic Input/Output System)即基本输入输出系统。是集成在主板的一个ROM芯片中的系统程序,包括微机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动自举程序等内容。 CMOS(Complementary Metal Oxide Semiconductor)即互补金属氧化物半导体存储器,是微机主板上一块可读写的RAM芯片,主要保存当前系统的硬件配置信息和用户对某些参数的设置。CMOS RAM芯片由主板上的电池独立供电,因此在电脑断电情况下,CMOS信息依然不会丢失。 CMOS参数的设置是通过BIOS中的系统设置程序完成的。CMOS RAM既是BIOS设定系统参数的存放场所,又是 BIOS设定系统参数的结果。确切的说应该是“通过BIOS设置程序对CMOS参数进行设置”。为了使硬件系统工作稳定,各设备发挥最大的功效,以便提升电脑的整体性能。 上图为模拟软件的界面,可对CMOS各项参数进行测试。可设置标准CMOS设置,BIOS特征设置,芯片组特征设置,电源管理设置等等项目。 (4)Ghost测试: (5)使用SISoftware Sandra进行整机检测 CPU-芯片组-内存与其他计算机的对比 根据图形可得出内存带宽整型流和浮点流的对比结果: 内存带宽(整型流):2402MB/S,带宽效率:56% 内存带宽(浮点流):2460MB/S,带宽效率:58% CPU-缓存-芯片组-内存与其他计算机的对比 将本机Intel Celeron与Intel Pentium系列对比可知综合指标为4446MB/S,速度系数为23.9。当测试块大小不超过512KB时,本机缓存和内存与CPU/芯片组3相当,但次于其他CPU/芯片组,当测试块大小超过512KB时,本机硬件/内存带宽明显低于其他CPU/芯片组。2.硬盘分区与格式化 硬盘分区是指对硬盘的物理存储空间进行逻辑划分,将一个较大容量的硬盘分成多个大小不等的逻辑区间。一般说来,硬盘分区遵循着“主分区→扩展分区→逻辑分区”的次序原则,而删除分区则与之相反。主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必需得有一个主分区。一个硬盘可以划分最多四个主分区,但没必要划分那么多,通常一个主分区就够了,盘符默认为C。主分区之外的硬盘空间就是扩展分区,但它不能直接使用,必需再将其划分为若干个逻辑分区才行。因此逻辑分区是对扩展分区再行划分得到的,也就是我们平常在操作系统中所看到的D、E、F„„等盘。盘符从D到Z,最多可达23个,通常使用中最多建立3到4个逻辑盘就可以了。这次实习中,老师布置任务让我们将硬盘分为三个区,盘符分别为C,D,E,大小分别为5M,6M,7M。因此,我打开模拟软件Fdisk,首先按照“逻辑分区→扩展分区→主分区”的顺序删除电脑中原有的分区,然后重新建立主分区C区为5M,接着建立扩展分区为13M,接着再建立逻辑分区D区为6M,E区为7M。这样就完成了对硬盘的分区。3.装配 拆机时要严格遵守计算机拆机规范,比如拆机前必须把手放到墙壁上把手上的静电放掉,拆机时不能暴力拆机,机器的部件要轻拿轻放,不能垒叠。拆除部件之后查看各项部件的各项基本信息。 四、实习心得体会 XX学院 实验报告 学期:20XX-20XX第二学期 课程名称: 《管理信息系统》 授课教师:XXX 年级专业:20XX级XX专业 学生学号:XXXX 学生姓名: XXX 第三次实验 一、实验目的 ①熟悉Excel的工作环境; ②了解Excel软件的自动筛选、条件格式和数据透视图、方案管理器等工具方法。 二、实验环境 ①计算机; ②Excel 2010; 三、实验步骤 1、自动筛选 自动筛选能通过筛选一个列表,只把特定的信息显示出来,这些信息满足你指定的标准,而将其他的信息隐藏起来。自动筛选适用于从较大规模的列表中创建较小的列表。①输入数据保存为Excel文件。 ②如果想查询华东地区货主的所有订单信息,那么单击列表中的任意单元格,单击菜单栏中的“数据”——“筛选”。Excel列表将在每一标签或列标题邻接处设置下拉组合框箭头。单击“货主地区”的下拉框并选择“华东”,则Excel就只显示出筛选过的在华东地区的定单列表。如下图所示。 ③如果想查询2号雇员处理的由3号运货商负债货物运送的华东地区货主的订单信息,那么在第②步的基础上点击“雇员ID”下拉框,选择“2”,然后点击“运货商”下拉框,选择“3”。如下图所示。 ④如果想获得华东地区青岛和南京的订单列表那么在第②步操作结果的基础上,点击“货主城市”下拉框,选择“青岛 南京”并点击“确定”按钮。如下图所示。 2.条件格式 自动筛选的实现方式是通过隐藏不需要的信息而显示出想查看的信息,① 如果你希望将整个订单列表显示出来,而且希望高亮显示订单日期在1996/7/15到1996/7/31之间的订单,可以选择整个“订单日期”,如下图所示 ②单击菜单中的“开始”—“条件格式”弹出“条件格式”对话框,选择“突出显示单元格规则”,然后再选择“介于”,输入条件1996/7/15和1996/7/31。最后能够得到在订单日期列中突出显示日期在1996/7/15到1996/7/31之间的单元格。如下图所示: 3.数据透视表 数据透视表是交互式报表,可快速合并和比较大量数据。你可旋转其行和列看到数据源的不同汇总,而且可显示感兴趣区域的明细数据。 ① 单击图中单元格A1,单击菜单栏中的“插入”—“数据透视表”。可得到如图所示界面 ② 如果想按照货主地区进行订单计数,那么从数字透视表字段列表中把“货主地区”标签拖到“行标签”处,将“订单ID”从数据透视表字段列表对话框中拖到“数值”处。右击订单ID单元格弹出“值汇总依据”按钮,在汇总方式中选择“计数”并确定。从而得到如图所示的数据透视表,反映了华南,华北,华东,华中的订单数量。 ③ 在②的基础上,从数字透视表字列段表中“货主城市”的标签拖至数据透视表行字段区域中,但位于“货主地区”字段的右侧,把“运货商”标签拖到数“列标签”处,得到如图所示的数据透视表,该透视表按照货主地区,货主城市,运货商三个维度统计了订单数量。 ④ 在③步透视表的基础上增加深度,把“雇员ID”拖到“报表筛选”处,从而得到三维数据透视表。注意:新生的数据透视表看起来和③步骤的没有多大区别,这是因为页报表筛选“雇员ID”是“全部”如图所示: 若将“雇员ID”设为2,就统计出了2号雇员处理的在不同货主地区、货主城市以及不同的运货商运送的订单数量,如下图所示。 四、实验总结 1、报告要求使用学校统一要求的实验报告纸,书写整齐,结构清晰。 2、程序设计及实验报告独立。 3、实验报告里不需要附全部代码,如果需要可在算法思路中写主要代码。 4、编写的程序可在上机课时让老师检查,源代码在上机结束以后上交。 实验报告依照下面的模板来书写。报告要简洁明了,一个实验报告只有3页,书写时字体大小不要太大,以免写不下。 实验报告内容参照如下模板: 【实验目的和要求】 见实验任务书 【实验题目】 见实验任务书 【实验内容】 1.抽象数据类型定义 (说明你设计或使用的数据结构所包含的基本操作及功能) 2.存储结构定义及算法思路 (包括数据结构的存储结构定义、数据元素的类型定义及主函数的算法实现思路) 3.实验结果与分析 (包括运行结果截图、结果分析等) 4.心得体会 (记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 一、实验目的: 二、实验任务: 三、实验内容和程序: 四、实习总结及体会: 一、实验内容 实验是以北京冠群科技有限公司为虚拟单位,运用用友ERP-U8管理软件,通过建立实验账套、设置人员权限、处理企业业务等,模拟现实财务工作中的账务处理。 实验内容共涉及企业建账、档案设置、总账系统设置、总账的日常和期末业务处理、薪资管理、固定资产管理、应收款管理、采购管理以及销售管理等十个试验。这十个试验中涵盖了工业企业财务方面的主要环节:企业财务管理环节、采购销售环节、供应链环节、生产管理环节等。实验涉及了企业活动中的活动记录,凭证登记、生成、作废、签字、审核与查询,资产的增加、减少、查询与审核,期初期末账表的生成、核对、审核与结账等。 二、实验问题 我们的实验是按照会计电算化实验指导的材料内容进行操作,但是要将电算化学习好不能只是会按照书中的指导来操作,更应该做到将操作牢记在自己的脑海里。因此,当我们在实验的过程中遇到问题时,积极思考,把不懂的弄懂记牢,并在以后遇到同一问题时能学以致用。一下就是我在做会计电算化中遇到的一些问题: (1)出纳签字 执行出纳签字是总账业务中的一个要点,也是企业日常业务中必经的一步。在实验四中,当我以出纳身份进入系统执行签字时,系统提示“没有符合条件的凭证”,这让我很讶异,因为我之前的操作都是照着书中一步步做下来的,且在查询凭证中都存在,这就让我很犯难了。后来,在老师的指点下我才发现,原来在最初设置会计科目时有一个步骤是将现金、银行存款和其他货币资金科目分别设置为现金科目、银行科目与现金流量科目,只有现金科目与银行科目的凭证才能进行出纳签字。 (2)期末结账 实验五主要是进行总账系统的期末处理,而结账可以说是最终的步骤。当我在对实验总账进行结账时,系统却提示我无法结账。这是我就不明白了,因为我在之前的对账中总账与明细账、银行存款与对账单等都是相等的,应收应付系统也结转对账过均没有错,这是为什么呢?原来在我的记账凭证中还有一张未记账的凭证,正是因为这张凭证的存在,系统才会提示我不能结账的。 (3)薪资管理系统 在实验七薪资管理系统中,要使用薪资管理系统就要先在企业应用平台中启用该系统,刚开始时没留意到,在财务会计里面怎么都找不到工资管理,后来在同学的提醒下才知道自己原来忘了启用系统。 (4)销售管理系统 在做销售业务时,常常会生成销售单据。在销售业务1中生成销售发票中,“发票制单”环节生成销售发票却出不来,这又是怎么了?很多同学都遇到了与我相同的问题,我们大家都不明白问题的所在,直到老师为我们解了惑,才明白原来是系统时间设置搞的鬼。由于我们之前采用最后一日作为登入的时间,而销售发票的生成日期却是在十几号,销售发票的生成日期不能早于我们登入的时间,所以就生成不出来了。 三、试验体会 为期几周的电算化实验结束了,在实验课程的这段时间里,我感觉自己学到很多东西,既了解了会计信息系统的基本原理,又初步认识并掌握了用友软件的操作应用,但我想现在只是初级阶段,以后要学习的还有很多,所以在以后的工作学习中我会更加努力和认真,学会更多更深层次的内容。 【c上机实验报告21】推荐阅读: 上机实验报告06-16 离散数学上机实验报告08-21 数据库上机实验8实验报告05-13 《电子商务》上机实验报告07-19 市场营销上机实验报告10-16 电子政务上机实验报告一08-29 8086微机上机实验总结09-03 上机实验作业-3-材料10-05 eviews上机实验指导书05-22第十次上机实验 实验报告 篇3
电子商务上机实验报告实验二 篇4
数据结构上机实验报告 篇5
计算机组装上机实验报告 篇6
c上机实验报告21 篇7
c上机实验报告21 篇8
c上机实验报告21 篇9