欢迎访问吾小秘【www.wxiaomi.cn】,您身边的文字小秘书!

c语言实验报告

时间:

c语言实验报告7篇

  【简介】以下是网友“oq1”分享的c语言实验报告7篇,以供参考。

c语言实验报告

c语言实验报告 篇1

  (一) 实验目的

  (1) 熟悉和掌握结构的说明和引用、结构的指针、结构数组,以及函数中使用结构的方

  法。

  (2) 掌握动态存储分配函数的用法,掌握自引用结构和单向链表的创建、遍历、结点的

  增删、查找等操作。

  (3) 了解字段结构和联合的用法。

  (二) 实验内容及要求

  1.表达式求值的程序验证 设有说明:

  char u = "UVWXYZ"; char v = "xyz"; struct T{ int x; char c; char *t;

  }a = {{11, 'A', u}, {100, 'B', v}}, *p = a;

  请先自己计算表中表达式的值,然后编写程序并运行来加以验证。(各表达式相互无关)

  2.源程序修改、替换

  下面所给源程序的功能是:给定一批整数,以0作为结束标志且不作为结点,将其建成一个先进先出的链表。先进先出链表的头指针始终指向最先创建的结点(链头),先建结点指向后建结点,后建结点始终是尾结点。请完成以下工作:

  (1) 源程序中存在什么样的错误(先观察执行结果)?对程序进行修改、调试。使之能

  够正确完成指定任务。

  (2) 修改替换creatlist函数,将其建成一个后进先出的链表。后进先出的链表的头指针

  始终指向最后创建的结点(链头),后建结点指向先建结点,先建结点始终是尾结点。

  源程序

  #include

  #includestruct slist{ int data;

  struct slist *next; };

  void creatlist(struct slist *headp, int *p); int main(void) {

  struct slist *head = NULL, *p; int s = {1, 2, 3, 4, 5, 6, 7, 8, 0}; creatlist(head, s); p = head; while(p) {

  printf("%d ", p -> data);p = p -> next; }

  printf(" "); return 0; }

  void creatlist(struct slist *headp, int *p) {

  struct slist *lochead = NULL, *tail; if(p[0] == 0); else {

  lochead = (struct slist *)malloc(sizeof(struct slist));lochead -> data = *p++;tail = lochead;while(*p){

  tail -> next = (struct slist *)malloc(sizeof(struct slist)); tail = tail -> next; tail -> data = *p++;}

  tail -> next = NULL; }

  headp = lochead; }

  3.程序设计

  编写并上机调试运行能实现以下功能的程序或函数:

  (1)编写一个程序,实现以下功能:定义一个字段结构struct bits,它将一个8位无符号字节从最低位向最高位声明为8个字段,各字段依次为bit0, bit1, …… bit7,且bit0的优先级

  最高。同时设计8个函数,第i个函数以biti(i = 0, 1,……7)为参数,并且在函数体内输出biti的值。将8个函数的名字存入一个函数指针数组pfun。如果bit0为1,调用pfun[0]指向的函数。如果struct bits中有多位为1,则根据优先级从高到低依次调用函数指针数组pfun中相应元素指向的函数。8个函数中的第0个函数可以设计为 Void f0(struct bits b) {

  Printf(“the function %d is called! ”, b); }

  (3) 设计用单词链表建立一张班级成绩单,包括每个学生的学号、姓名、英语、高等数

  学、普通物理、C语言程序设计四门课程的成绩,试用函数编程实现下列功能:

  ① 输入每个学生的各项信息。 ② 输出每个学生的各项信息。 ③ 修改指定学生的指定数据项的内容。 ④ 统计每个同学的平均成绩(保留两位小数)。 ⑤ 输出各位同学的学号、姓名、四门课程的总成绩和平均成绩。 4.选做题

  (1)对上述程序设计题中第(2)题的程序,增加按照平均成绩进行升序排序的函数,试写出用交换结点数据域的方法升序排序的函数,排序可用选择法或冒泡法。

  (2)对选做题第(1)题,进一步写出用交换结点指针域的方法升序排序的函数。 (3)采用双向链表重做编程设计题中的第(2)题。

  (三) 实验步骤及结果

  1.表达式求值的程序验证的实验步骤及结果

  表 表达式值的计算

  结果正确!

  2.源程序修改、替换的实验步骤及结果

  (1)改错:headp类型应为双重指针,即:void creatlist(struct slist headp, int *p); 同时第40行应该改为*headp = lochead; 第12行改为creatlist(&head, s); 修改后的程序如下: #include#includestruct slist{ int data;

  struct slist *next; };

  void creatlist(struct slist headp, int *p); int main(void)

  {

  struct slist *head = NULL, *p; int s = {1, 2, 3, 4, 5, 6, 7, 8, 0}; creatlist(&head, s); p = head; while(p) {

  printf("%d ", p -> data);p = p -> next; }

  printf(" "); return 0; }

  void creatlist(struct slist headp, int *p) {

  struct slist *lochead = NULL, *tail; if(p[0] == 0); else {

  lochead = (struct slist *)malloc(sizeof(struct slist));lochead -> data = *p++;tail = lochead;while(*p){

  tail -> next = (struct slist *)malloc(sizeof(struct slist)); tail = tail -> next; tail -> data = *p++;}

  tail -> next = NULL; }

  *headp = lochead; }

  程序运行结果如图所示:

  结果正确!

  (2)建立一个后进先出的链表如下:

  修改后程序如下: #include#includestruct slist{ int data;

  struct slist *next; };

  void creatlist(struct slist headp, int *p); int main(void) {

  struct slist *head = NULL, *p; int s = {1, 2, 3, 4, 5, 6, 7, 8, 0}; creatlist(&head, s); p = head; while(p) {

  printf("%d ", p -> data);p = p -> next; }

  printf(" "); return 0; }

  void creatlist(struct slist headp, int *p) {

  struct slist * lochead=NULL,*tail; struct slist * temp; if(p[0]==0) ;

c语言实验报告 篇2

  做完这个课程设计,我们的自信一下子提高了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!

  忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。

c语言实验报告 篇3

  实验目的

  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=总和值。

  测试数据

  分别输入1000、100、10测试。

  运行结果

  当素数个数小于10时的处理不够完善,考虑不够周全。把“+2”的`处理做的太勉强。

  程序过大,不够精简,无用文字太多。

  学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。

  编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。

  基本功不够,如清屏clrscr()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后c语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。

  知识不够广泛,如vc++等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。

  实验心得

  通过本次c语言上机实验,我对这个介于人类与非人类之间

  的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对c语言,我会更加努力。

c语言实验报告 篇4

  一、实习目的

  1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。

  (1)运行TC

  (2)启动TC集成环境,输入一个源程序,编译并运行。

  2.掌握单步执行、设置/去除断点,观察变量或表达式的值。

  (3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。

  (4)设置/去除断点,继续调试。

  1、熟练掌握分支语句的使用。

  2、熟练掌握循环语句的使用。

  3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。

  4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。

  熟练掌握结构体和指针的综合应用链表的操作

  二、实习地点

  北京交通干部管理学院计算机系机房十三号.

  三、实习成果

  熟练掌握TC集成环境的使用方法。认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。熟练掌握并应用TC程序设计的各个知识点。掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。并通过各种途径查找所需资料,拓宽视野,培养自学能力。

  四、实习心得

  在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。老师安排我们有具有的分工:

  首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。

  然后同学们把自到自己的小组里,大家具体分工,你编这道题,我编这道题……我们不会的地方就去问学习比较好一些的同学,或者去问老师,老师和同学们总是那么的热心,只要你还不明白,不论你问多少次,老师和同学们都会耐心地给你细心的讲解,直到讲会为止。

  最后我们把每天收获到的知识和心得都以实习日志的形式写好,最后交给老师。我们把自己的成果交给老师,就这样,这次实习圆满结束。

  这次实习是有益的,它不仅让我们学习到了C语言的知识,更让我们学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。

c语言实验报告 篇5

  一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!

  一、心得与感想

  首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识!

  其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。

  再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!

  虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!

  这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!

  这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。

  在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。

c语言实验报告 篇6

  在科技高速发展的今天,计算机互联网在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

  在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

  学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的`内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

  1、加深对课堂讲授内容的理解

  课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

  2、熟悉程序开发环境、学习计算机系统的操作方法

  一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓”;环境”;就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

  3、学习上机调试程序

  完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

c语言实验报告 篇7

  在科技高速发展的今天,计算机互联网在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

  在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

  学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的`继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

  1、加深对课堂讲授内容的理解

  课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

  2、熟悉程序开发环境、学习计算机系统的操作方法

  一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓";环境";就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

  3、学习上机调试程序

  完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

c语言实验报告7篇

将本文的Word文档下载到电脑,方便收藏
推荐度:
点击下载文档文档为doc格式