C语言实训心得体会(精选4篇)

时间:2019-05-12 13:36:50下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言实训心得体会(精选4篇)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言实训心得体会(精选4篇)》。

第一篇:C语言实训心得体会(精选4篇)

c语言实训心得体会一:c语言实训心得体会

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

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

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

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

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

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

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去“掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

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

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

3.学习上机调试程序

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

通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。

c语言实训心得体会二:c语言实训心得(891字)

在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的同学共同的感受是:c语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了c语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。

在这次实训中,我对对c语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。

还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。

通过这次实训,也使我们发现了许多问题。

在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。

还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。

首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。

总之,这一切都成为我记忆里面的一个篇章,更是在c语言编程上的一个里程碑。

c语言实训心得体会三:c语言实训心得体会(906字)

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

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

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

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

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

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

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

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

c语言实训心得体会四:c语言实训心得(1682字)

在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试自己编写一个比较复杂的程序系统。在为期两周的时间中,我们同组的同学共同的感受是:c语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了c语言实训的复杂程序。在这里,我作为其中的参与者,自然感触良多。

刚开始接触到c的时候,我已经学过一些有关vb的内容,这个在算法和思维上稍微有点帮助。回想本学期的学习,首先,最基本的,是c的数据格式,让我们知道整数,浮点数以及字符常量在c中的运用。然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。可是,仅仅学会这些是远远不够的,c语言中,还有很多更加经典、重要、实用的知识。

说说函数。虽说很多程序语言都有函数这一内容,但我觉得c语言的函数是最有魅力的了。学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习c语言的“高人”都说,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的。比如,大家可以作一个比较字符串的实验,用c语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷。在我们c语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码,就是用无数个函数的调用和嵌套积累出来的。

要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的,所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法,是不足取的。要知道,程序设计讲究的是个人的思维的,假如刚开始就被一些现成的思想束缚住,以后就会觉得很无趣。

我们知道,指针其实是c语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了。所以我们的任务就是,让数据结构在指针中运行。当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化。所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来c的数据机构,数据表示的理解。当我们完成了这三步的学习,我们已经可以自豪的说,我们的基础都扎实了,可以进一步的学习有关算法,设计概念等等深层次的东西了。

但是,指针,结构体,这些太抽象的东西,在学习c语言的时候我们就有点“似懂非懂”,可是在眼下的c语言实训中,像这么重要的c语言知识,一定要达到能熟练掌握,实际运用的程度。在实训的大程序中,结构体在指针中的表现方法,数组及在结构体中的运用等具体的技术环节,都得到了体现,不会指针,我们的工作是没法展开的。所以,在实训期间,大家在巩固基本知识的基础上,逐块攻克实训课题,克服了困难,自信心得到了提高。

最后,谈谈我们组的程序软件。商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序。设计代码比较复杂,结构比较严谨。在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对c语言这门学科的兴趣也提高了。

当然,我们编写的商店商品管理系统,还存在很多疏漏和不合理之处。比如,程序复杂冗长,如果时间充裕,我们将在不改变程序运行结果的基础上,简化程序,使每一句更加精辟,总体上更加简化。另外,在程序的外观上,我们由于时间问题,没有做更多的修饰,运行起来显得比较死板、枯燥乏味。如果增添一些色彩和其他效果,我们的程序也许会更加完美。

第二篇:C语言实训心得体会

c语言实训心得

10903090113 李新程

在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在为期两周的时间中,我们同组的同学共同的感受是:c语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了c语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。

在这次实训中,我对对c语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。

还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。通过这次实训,也使我们发现了许多问题。

在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。

还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。

总之,这一切都成为我记忆里面的一个篇章,更是在c语言编程上的一个里程碑。篇二:c语言实训总结

c语言实训总结

这个星期,我们迎来了c语言实训——一次至为重要的实训。在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。通过c语言实训,让我加深了对c语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对c语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对c语言有了浓厚的兴趣和更深层的认识。c语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,c语言还是很有意思的课程。自己亲自动手编写程序让我增加了对c语言程序开发环境的了解,在上课的时候老师就讲,学习c语言最重要的是学习c语言的逻辑思维,不管以后从事什么行业,学习c语言都对自己的职业很有帮助,如果是从事编程工程工作的话。当初在初步接触c语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态!感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的相互探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。

这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。

最后,非常感谢学校给我们这次实训的机会。极高的锻炼了我们的逻辑思维能力。人非生而知之,虽然我们现在的知识结构还很差,但是我们知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。在剩下的时间里,我们会更加努力的学习。篇三:c语言上机实验心得

c语言上机实验心得

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。

我主要存在以下的这些缺点:

1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够

深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

多。由此可看出上机实践的重要性。

通过本次c语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过??但随着练习的增多,我对c语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对c语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的要加以注意的地方与认真审查的部分,为我奠定坚固的基石。伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对c语言,我以后会更加努力学习的。篇四:c语言实训心得

c语言实习心得

两周的上机实习结束了,在这段时间内,我的c语言知识得到了温习,编程能力得到了很大的提高,我觉得这次实习很重要,而且是恰逢其时,当然通过自己编程的过程,也有了一些心得:

编程要的是正确的结果,体会的是艰辛的过程,收获的是好心情。

首先编程的时候你不能觉得这是一个繁琐的过程,在遇到出错的时候要有信心解决,不要害怕出错,不能忽略细节,尤其是对标点以及输入输出函数,要正确使用。其次,编程要有一个扎实的知识储备,没把课本看好,没把例题看好,不会编出正确的程序,同时,如果不多看程序,不断吸收别人的编程思想,就不会编出精彩的程序;当然也不能忽略与别人讨论与请教,在这过程中,我们可以相互交流编程想法,找到解决问题的最佳路径,这种团结协作的精神也是必须要有的。

两周很短,编程的过程却很漫长,思考,编程,改错,运行,这就是编程的感觉。感谢帮助我,还有一起讨论问题的同学,感觉老师细心的指导,在遇到小问题的时候,他也是很耐心的解答,感谢这次上机机会,让我重新温习了c语言,也让我对明年的等级考试更有信心。在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在这次实训中,我对对c语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对c语言的学习产生浓厚的兴趣。

通过这次实训,也使我们发现了许多问题。

在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。

一年来,我们已经学习了vb语言和c语言,在应用这些语言的过程中,我们的逻辑思维得到了加强,更重要的是我们把在数学上学习到的算法应用到计算机程序中,通过分析问题,调查研究,最终解决问题。尽管每次解决问题的过程不会都很顺利,尤其是在出错的时候总是很难解决那些很细微的错误,比如一个符号打错,或者漏掉一个标点,检查起来都会很麻烦,但是,每次成功的运行,得到的不仅仅是一个正确的结果,更多的是体会到了过程,有了一种成就感,特别是c语言,最能给我这种感觉。

还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。首先我要继续学习好c语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。

总之,这一切都成为我记忆里面的一个篇章,更是在c语言编程上的一个里程碑。篇五:c语言实训心得

c语言实训心得

在本学期学习c语言将近一个学期后,我们进行了c语言实训,做了一个比较复杂、功能较全的学籍管理系统。虽然实训为期不长,但对我c语言水平的提高和对c的认识理解有很大帮助。

在这次实训中,我对c语言有了一个更深的了解认识,也使我这个学期学的知识得到了巩固。虽然在实训中遇到了许多的困难,比方说一开始在文件方面的知识比较薄弱,在对输入的数据保存、已输入条数的统计方面做得不足。但经过自己对文件内容的学习和向他人的请教,在这方面的知识得到补充,问题也得到了解决。在这次实训中,当自己每次解决一个问题时,当自己经过多次调试、修改使程序得以运行时,自己心中那份自信、满足、惬意感油然而生。经过这次实训,使我加强了对c语言的兴趣。

同时在这次实训中,也使我发现了许多的问题。

在实训中,我认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃,以后要克服,尽量保持一颗良好的心态,学好c语言,也学好用c语言编写一个按要求的系统。

同时这次实训也使我更加深化了c语言学习方法。算法是程序的灵魂,在我们每遇到一个比较复杂的编程问题时,我们应该先写出该问题解决的算法,然后再去实现编代码。做到了这样,问题才能更快地解决。软件开发少不了合作,只有合作才能共同提高,只有互补才能取长补短,共同进步。

通过这次实训,我也认识到自己有许多的方面需要改进和有待提高。

对于以后,我会从以下几方面继续努力:

1、加强对算法的学习,达到精通一些基本算法的水平。

2、编程多加强实践,多上机学习。

3、打好基础,扎实功底,注重基础理论学习,不好高骛远。

4、加强和同学的合作,遇到问题多讨论,多寻找解决问题的方法,总之,这一切将对我c语言的学习有很大帮助。

第三篇:C语言实训

湖北轻工职业技术学院 《C语言程序设计》实验报告

实验十一:函数

班 级: ___________10计管_________________ 姓 名: ___________胡高______________ 学 号: ___________1003011138________________ 日 期: ____________2011-5-29________________

一、实验目的和要求

1、理解数组引入的意义及作用;

2、掌握一维数组的基本思想和基本用法;

3、掌握使用一维数组的基本算法:排序与查找。

二、实验主要仪器和设备 计算机一台,Turbo C环境。

三、实验内容

请将该实验报告重新命名为“实验11-学号[姓名]”,如“实验11-66[张三]”

1、P145 填空题2(2)

2、P145 上机操作题 3(5)

四、实验原始纪录 实验1 程序的设计界面。(Alt+PrintScreeninclude SysRq拷贝当前窗口)

程序代码。(此处写代码,不是图片。

#include void main(){

void swap();

extern int a,b;

a=3;b=10;

swap();

printf(“a=%d,b=%dn”,a,b);

}

int a,b;

void swap()

{

int temp;

temp=a;a=b;b=temp;

}

实验2 程序的设计界面。

程序代码。

五、实验结果及分析

实验1运行结果图。

实验2运行结果图。

六、实验总结与思考(主要写一些在实验过程中,遇到的问题、所犯的错误,以及是如何发现纠正的。大约100至200字左右。)

本次试验的内容是考察数组的引用、基本算法等,但是总体感觉有点问题。有的地方不知道如何下手

第四篇:c语言实训

目 录

特别注意,打开视图菜单-文档结构图观察文档结构。目录由WORD菜单中插入-引用-目录自动生成并更新,不需要手工生成菜单。

本模板仅说明格式,内容由指导老师决定,不用按这份目录内容编写实训报告。

具体目录见文档要求。以下部分仅供参考。

目 录........................................................................................................................1

一、实训的目的与要求................................................................................................1

二、题目说明................................................................................................................2

三、总体设计................................................................................................................2

3.1.软件模块结构图...........................................................................................2 3.2.程序流程图...................................................................................................3

四、详细设计和实施....................................................................................................3

4.1 XXXX模块.....................................................................................................4.2

4.3

五、遇到的问题和解决方法........................................................................................4

六、实训总结................................................................................................................4

七、参考文献................................................................................................................4 附录(源程序代码)....................................................................................................5

一、实训的目的与要求

(正文为宋体,五号字 行间距为21)中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国

二、题目说明

(正文为宋体,五号字 行间距为21)题目参照任务书中有关描述

三、总体设计

3.1.软件模块结构图(以下图仅供样式参考)

图1-1 软件模块结构图

3.2.程序流程图(以下图仅供样式参考):

四、详细设计和实施

(正文为宋体,五号字 行间距为21)4.1 模块1 ………(可以写一些关键程序代码,另外截一些界面图并说明实现了什么功能,以证明功能实现了)每一个界面,必须有(1)功能简介(2)界面截图一张(3)界面关键代码和描述 每一个界面说明作为独立的一小节。(在文档说明中有样例)

五、遇到的问题和解决方法

(正文为宋体,五号字 行间距为21)1. 2. 3. …………

六、实训总结

(正文为宋体,五号字 行间距为21)

七、参考文献

[1] 权明富,齐佳音,舒华英.客户价值评价指标体系设计[J].南开管理评论,2004,7(3):17-18.[2] 刘小洪,邹鹏.商业银行客户关系价值管理模型研究[J].管理科学,2005,18(3):57-60.附录(源程序代码)

第五篇:C语言实训

第一天的题目: 求两个整数之和。

#include main(){ int a,b,sum;a=3;b=5;sum=a+b;printf(“sum is %d/n”,sum);} 求两个整数中的较大者。#include “stdio.h” void main(){int max(int,int);int a,b,c;scanf(“%d,%d,”,&a,&b);c=max(a,b);printf(“max=%d”,c);} int max(int x,int y){ int z;if(x>y)z=x;else z=y;return(z);}

求1×3×5×7×9×11 #include int main(){ int i = 1,sum = 1;while(i <= 11){

sum = sum*i;

i = i+2;}

printf(“%d”,sum);return 0;} 有50个学生,要求将成绩在80分以上的学生的学号和成绩输出。

#include main(){

int i;

int a[50];

for(i=0;i<50;i++)

{

scanf(“%d”,&a[i]);

if(a[i]>80)

printf(“%d”,a[i]);

} }

判定2000—2500年中的每一年是否闰年,并将结果输出。

#include int main(){

int y;

y=2000;

while(y<=2500)

{

if(((y%4 == 0)&&(y%100!= 0))||(y%400 == 0))

printf(“%d 年是闰年n”,y);

else printf(“%d 年不是闰年n”,y);

y=y++;} } 求111111 23499100#include void main(){ int sign=1;float deno=2.0,sum=1.0,term;while(deno<=100){

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;} printf(“%fn”,sum);} 给出一个大于或等于3的正整数,判断它是不是一个素数。

#include void main(){

int i,n,mark=0;

scanf(“%d”,&n);

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

{

if(n%i==0)

{

printf(“%d不是素数”,n);

mark=1;

break;

}

}

if(mark==0)

printf(“%d是素数”,n);} 求5!#include main(){ int i,n;long fact=1;printf(“Input n:”);scanf(“%d”,&n);for(i=1;i<=n;i++)fact*=i;printf(“%d!=%1dn”,n,fact);} 给定一个大写字母,要求用小写字母输出。

#include void main(){ char c;c=getchar();if(c>='A'&&c<='Z')putchar(c+'a'-'A');} 输入两个实数,按代数值由小到大的顺序输出这两个数。

#include void main(){

float a,b,t;scanf(“%f %f”,&a,&b);if(a>b){ t=a;a=b;b=t;} printf(“%5.2f,%5.2fn”,a,b);

} 输入3个数a,b,c,要求按由小到大的顺序输出。

#include void main(){ int a,b,c,t;printf(“please input three numbersn”);scanf(“%d%d%d”,&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf(“%d<%d<%dn”,a,b,c);} 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include main(){

char zhong,guo;

scanf(“%c”,&zhong);

if(65<=zhong&&zhong<=90)

{

guo=zhong+32;

printf(“%c”,guo);

}

else

printf(“%c”,zhong);}

1(x0)1编一程序,输入一个x值,要求输出相应的y值。y0(x0)

1(x0)#include void main(){

int x,y;

printf(“请输入x:”);

scanf(“%d”,&x);

if(x<0)

y=-1;

else if(x=0)

y=0;

else

y=1;

printf(“y=%d”,y);} 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为 60分以下。成绩的等级由键盘输入。#include void main(){ char grade;printf(“等级:”);scanf(“%c”,&grade);switch(grade){ case 'A': printf(“90~100n”);break;case 'B': printf(“80~89n”);break;case 'C': printf(“70~79n”);break;case 'D': printf(“60~69n”);break;case 'E': printf(“不合格n”);break;default: printf(“error!n”);break;} }

5写一程序,判断某一年是否闰年。#include int main(){

int a;

scanf(“%d”,&a);

if(a%4==0&&a%100!=0||a%400==0)

printf(“是闰年”);

else printf(“不是闰年”);} 运输公司对用户计算运输费用。路程(s km)越远,每吨·千米运费越低。标准如下:

s < 250

没有折扣

250≤s < 500

2%折扣

500≤s < 1000

5%折扣

1000≤s < 2000

8%折扣

2000≤s < 3000

10%折扣

3000≤s

15%折扣 #include int main(){

int c, s;

float p, w, d, f;

scanf(“%f %f %d”, &p, &w, &s);

if(s >= 3000)c =12;

else c = s / 250;

switch(c)

{

case 0 : d = 0;break;

case 1 : d = 2;break;

case 2 :

case 3 : d = 5;break;

case 4 :

case 5 :

case 6 :

case 7 : d = 8;break;

case 8 :

case 9 :

case 10:

case 11: d = 10;break;

case 12: d = 15;break;

}

f = p * w * s *(1-d / 100);

printf(“freight =%15.4fn”,f);} 全班有50个学生,用循环语句统计各学生三门课的平均成绩。#include void main(){ int score[9];int total[3];int average[3];int i;for(i=0;i<9;i++)scanf(“%d”,score+i);for(i=0;i<3;i++){ total[i]=score[i*3]+score[i*3+1]+score[i*3+2];average[i]=total[i]/3;printf(“学生%d的平均分:%dn”,i,average[i]);} } 求1+2+3+…+100 #include main(){ int i=1,sum=0;while(i<=100){ sum=sum+i;i++;} printf(“sum=%dn”,sum);} 在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。#include int main(){ int s;unsigned double a=0;unsigned double m;for(s=1;s<=1000;s++){ scanf(“%uf”,&m);if((a+m)<100000.00)a=a+m;else { a=a+m;printf(“捐钱人数为%d,平均钱数为%.2fn”,s,(double)a/s);break;} }

return 0;} 要求输出100~200之间的不能被3整除的数。#include void

main(){

int

n;

for(n=100;n <=200;n++)

{

if(n%3!=0)

printf(“%d

”,n);}

printf(“n ”);}

第二天的题目:

1 输出以下4*5的矩阵。

10 15 20 #include void main(){ char *p[5]={“ 1 2 3 4 5”,“ 2 4 6 8 10”,“ 3 6 9 12 15”,“ 4 8 12 16 20”};for(int i=0;i<5;i++){

printf(“%sn”,p[i]);} } 用

41131517

公式求 

的近似值,直到发现某一项的绝对值小于10-6 为止(该项不累计加)。

#include #include int main(){ int s;double t,n,pi;s=-1,t=1,n=1.0,pi=0;for(t=1;fabs(t)>=1e-6;n=n+2){

s=-s;

t=s/n;

pi=pi+t;} pi=pi*4;printf(“%.6fn”,pi);return 0;}

 求费波那西(Fibonacci)数列的前40个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。即: F11F21FFFn1n2n(n1)(n2)

(n3)#include int main(){ int f1=1,f2=1,f3;int i;printf(“%12dn%12dn”,f1,f2);for(i=1;i<=38;i++){

f3=f1+f2;

printf(“%12dn”,f3);

f1=f2;

f2=f3;} return 0;}

输入一个大于3的整数n,判定它是否素数(prime,又称质数)。#include int main(){ int a,b;scanf(“%d”,&a);b=a;while(--b>1)

if(a%b==0)

{

printf(“此数不是素数n”);

return 0;

}

printf(“此数是素数n”);

return 0;} 求100~200间的全部素数。#include #include void main(){

int i,k,sk,flag,m=0;

for(k=100;k<=200;k++)

{

sk=(int)sqrt(k);

flag = 1;

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

{

if(k%i==0)

{

flag=0;

break;

}

}

if(flag==1)

{

m++;

printf(“%5d”,k);

}

}

if(m%12==0)

printf(“n”);

printf(“total:%5dn”,m);} 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。#include int main(){ int arr[10] = {0,1, 2,3,4,5,6,7,8,9}, i,j,t;for(i=0;i<10;i++)for(j=i+1;j<10;j++)if(arr[i] < arr[j]){ t = arr[i];arr[i] = arr[j];arr[j] = t;} for(i=0;i<10;i++)printf(“%d,”, arr[i]);return 0;} 用数组处理求Fibonacci数列问题

#include #include int main(){

int i;

int f[40]={1,1};

for(i=0;i<40;i++)

{

f[i]=f[i-2]+f[i-1];

}

for(i=0;i<40;i++)

{

if(i%5==0)

printf(“/n”);

printf(“%12d”,f[i]);

}

return 0;} 有10个地区的面积,要求对它们按由小到大的顺序排列(采用起泡法)。#include void main(){ int a[10];int i,j,temp;printf(“请输入10个数:”);for(i=0;i<10;i++)

scanf(“%d”,&a[i]);for(i=0;i<10;i++)

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

if(a[i]>a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

} for(i=0;i<10;i++)

printf(“%dt”,a[i]);} 将一个二维数组行和列的元素互换,存到另一个二维数组中。

14123b25a456 36#include main(){ static int a[2][3]={{1,2,3},{4,5,6}};static int b[3][2],i,j;printf(“array a:n”);for(i=0;i<2;i++){

for(j=0;j<3;j++)

{

printf(“%5d,a[i][j]”);

b[j][i]=a[i][j];

}

printf(“n”);} printf(“array b:n”);for(i=0;i<3;i++){

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

printf(“%5d”,b[i][j]);

printf(“n”);} } 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

#include int main(){

int a[3][4],max,i,j;

int x=0,y=0;

printf(“请输入矩阵的数值!n”);

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf(“%d”,&a[i][j]);

max=a[0][0];

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(max

{

max=a[i][j];

x=i;

y=j;

}

printf(“矩阵中最大的元素为:%dn”,max);

printf(“行号为:%d,列号为:%d”,x,y);} 输出一个已知的字符串。#include main(){ char a[4];scanf(“%c,%c,%c”,&a[0],&a[1],&a[2]);a[3]='';printf(“%s”,a);} 输出一个菱形图。#include void main(){

int h;

printf(“输入高度-》 ”);

scanf(“%d”,&h);

for(int i=1;i<=h;i++)

{

for(int a=1;a<=(h-i);a++)

{

printf(“ ”);

}

for(int b=1;b<=(i*2-1);b++)

{

printf(“*”);

}

printf(“n”);

}

for(int j=h-1;j>=1;j--)

{

for(int a=1;a<=(h-j);a++)

{

printf(“ ”);

}

for(int b=1;b<=(j*2-1);b++)

{

printf(“*”);

}

printf(“n”);

} } 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#include int main(){

char string[81],c;int i,num=0,word=0;gets(string);

for(i=0;

(c=string[i])!= ' ';i++)if(c==' ')word=0;

else

if(word==0){

word=1;num++;}

printf(“There

are

%d

word

in

the

line.n ”,num);getchar();return

0;} 有3个字符串,要求找出其中最大者。#include #include void

main(){

char

string[20];char

str[3][20];int

i;for(i=0;i <3;i++)gets(str[i]);

if(strcmp(str[0],str[1])> 0)strcpy(string,str[10]);

else

strcpy(string,str[1]);if(strcmp(str[2],string)> 0)strcpy(string,str[2]);

printf(“nthe

largest

string

isn%sn ”,string);

} 15 输出以下的结果,用函数调用实现。

******************

How do you do!

****************** #include void fun1(void){printf(“**************n”);} void fun2(void){printf(“* How do you do!n”);}

main(){fun1();fun2();fun1();} 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。#include int main(){ int max(int,int);

int a,b,c;

printf(“please enter a and b:”);

scanf(“%d,%d”,&a,&b);

c=max(a,b);

printf(“%d,%d,max=%dn”,a,b,c);

return 0;}

int max(int x,int y){ int z;

if(x>y)z=x;

else

z=y;

return(z);} 输入两个实数,用一个函数求出它们之和。#include int main(){ float add(float x,float y);float a,b,c;printf(“please enter a and b:”);scanf(“%f,%f”,&a,&b);c=add(a,b);printf(“sum is %f.n”,c);return 0;} float add(float x,float y){ float z;z=x+y;return(z);}

输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。#include void main(){

int max_4(int a,int b,int c,int d);

int a,b,c,d,max;

printf(“Please enter 4 interger numbers:”);

scanf(“%d %d %d %d ”,&a,&b,&c,&d);

max=max_4(a,b,c,d);

printf(“max=%d n”,max);}

int max_4(int a,int b,int c,int d)

{int max_2(int,int);

int m;m=max_2(a,b);

m=max_2(m,c);

m=max_2(m,d);

return(m);

} int max_2(int a,int b)

{if(a>b)

return a;

else return b;

} 有5个学生坐在一起

 问第5个学生多少岁?他说比第4个学生大2岁  问第4个学生岁数,他说比第3个学生大2岁  问第3个学生,又说比第2个学生大2岁  问第2个学生,说比第1个学生大2岁  最后问第1个学生,他说是10岁  请问第5个学生多大(递归调用)

#include int main(){ int age(int n);printf(“NO.5,age:%dn”,age(5));return 0;} int age(int n){ int c;if(n==1)

c=10;else

c=age(n-1)+2;return(c);} 用递归方法求n!。#include float fac(int n)

{

float f;

if(n<0)

{

printf(“n<0, dataerror!”);

}

else if(n==0||n==1)

f=1;

else

f=fac(n-1)*n;

return f;} int main(){ int n;scanf(“%d”,&n);printf(“%.0fn”,fac(n));return 0;}

第3天的题目: 输入10个数,要求输出其中值最大的元素和该数是第几个数。#include #include int main(int argc, char *argv[]){

int i=1,max,temp,n=1;

while(i<=10)

{

if(i==1){

scanf(“%d”,&max);

}

else

{

scanf(“%d”,&temp);

if(temp>max)

{

max = temp;

n=i;

}

}

i++;

}

printf(“最大数%d 位置%dn”,max,n);

system(“pause”);

return 0;} 有一个一维数组score,内放10个学生成绩,求平均成绩。#include int main(){ float average(float array[10]);float score[10],aver;int i;printf(“input 10 scores:n”);for(i=0;i<10;i++)

scanf(“%f”,&score[i]);printf(“n”);aver=average(score);printf(“%5.2fn”,aver);return 0;} float average(float array[10]){ int i;float aver,sum=array[0];for(i=1;i<10;i++)

sum=sum+array[i];aver=sum/10;return(aver);} 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。#include int main(){ float average(float array[],int n);float score1[5]={98,97,91,78,66};float score2[10]={67,78,89,99,68,78,77,85,59,88};printf(“%6.2fn”,average(score1,5));printf(“%6.2fn”,average(score2,10));return 0;} float average(float array[],int n){ int i;float aver,sum=array[0];for(i=1;i

#include #define N void sort(int array[],int n){

int i,j,k,t;

for(i=0;i

{

k=i;

for(j=i+1;j

if(array[j]

k=j;

t=array[k];

array[k]=array[i];

array[i]=t;

} }

int main(){

int i,array[N];

printf(“input a number:”);

for(i=0;i<=N-1;i++)

scanf(“%d”,&array[i]);

sort(&array[0], N);

for(i=0;i<=N-1;i++)

printf(“%d ”,array[i]);

return 0;} 有一个3×4的矩阵,求所有元素中的最大值。#include int main(){ int max_value(int array[][4]);int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};printf(“max value is %dn”,max_value(a));return 0;} int max_value(int array[][4]){ int i,j,max;max=array[0][0];for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(array[i][j]>max)

max=array[i][j];

return(max);} 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。#include float max=0,min=0;int main(){ float average(float array[],int n);float ave,score[10];int i;printf(“please enter 10 scores:n”);for(i=0;i<10;i++)

scanf(“%f”,&score[i]);ave=average(score,10);printf(“max=%6.2fn min=%6.2fn average=%6.2fn”,max,min,ave);

return 0;} float average(float array[],int n){int i;float aver,sum=array[0];max=min=array[0];for(i=1;imax)max=array[i];else if(array[i] int main(){

int fac(int n);int i;for(i=1;i<=5;i++)

printf(“%d!=%dn”,i,fac(i));return 0;} int fac(int n){

static int f=1;

}f=f*n;return(f);调用函数,求3个整数中的大者。#include int main(){ int max();extern int a,b,c;scanf(“%d %d %d”,&a,&b,&c);printf(“max is %d”, max());return 0;} int a,b,c;int max(){ int m;m=a>b?a:b;if(c>m)m=c;return(m);} 给定b的值,输入a和m,求a*b和am的值。#include int a;int main(){ int power(int);int b=3,c,d,m;scanf(“%d,%d”,&a,&m);c=a*b;printf(“%d*%d=%dn”,a,b,c);d=power(m);printf(“%d**%d=%dn”,a,m,d);return 0;} extern a;int power(int n){ int i,y=1;for(i=1;i<=n;i++)y*=a;

return(y);} 通过指针变量访问整型变量。#include “stdio.h” void main(){

int a,b;

int *pointer_1,*pointer_2;

a=100;b=10;

pointer_1=&a;

pointer_2=&b;

printf(“%d,%dn”,a,b);

printf(“%d,%dn”,*pointer_1,*pointer_2);} 输入a和b两个整数,按先大后小的顺序输出a和b。

 解题思路:用指针方法来处理这个问题。不交换整型变量的值,而是交换两个指针变量的值。#include main(){ int *p1,*p2,*p,a,b;

scanf(“%d,%d”,&a,&b);

p1=&a;p2=&b;

if(a

{p=p1;p1=p2;p2=p;}

printf(“na=%d,b=%dn”,a,b);

printf(“max=%d,min=%dn”,*p1, *p2);} 对输入的两个整数按大小顺序输出。现用函数处理,而且用指针类型的数据作函数参数。#include void max(int *a,int *b){ int n;if(*a<*b){

n=*a;

*a=*b;

*b=n;} } int main(void){ int a,b;int *n=&a,*m=&b;printf(“输入两个整数:n”);scanf(“%d%d”,&a,&b);max(n,m);printf(“%d

%dn”,a,b);return 0;} 对输入的两个整数按大小顺序输出。

 解题思路:尝试调用swap函数来实现题目要求。在函数中改变形参(指针变量)的值,希望能由此改变实参(指针变量)的值

#include swap(int *p1,int *p2){

int temp;

temp=*p1;

*p1=*p2;

*p2=temp;}

main(){

int a,b;

int *pointer_1,*pointer_2;

scanf(“%d,%d”,&a,&b);

pointer_1=&a;pointer_2=&b;

if(a

swap(pointer_1,pointer_2);

printf(“ %d,%d ”,a,b);}输入3个整数a,b,c,要求按由大到小的顺序将它们输出。用函数实现。#include void swap(int *x,int *y){int t=*x;*x=*y;*y=t;} int main(){int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a

 解题思路:引用数组中各元素的值有3种方法:(1)下标法;(2)通过数组名计算数组元素地址,找出元素的值;(3)用指针变量指向数组元素  分别写出程序,以资比较分析。#include void main(){ int a[10];int i;for(i=0;i<10;i++)

scanf(“%d”,&a[i]);for(i=0;i<10;i++)

printf(“%d ”,a[i]);} 通过指针变量输出整型数组a的10个元素。

 解题思路:

用指针变量p指向数组元素,通过改变指针变量的值,使p先后指向a[0]到a[9]各元素。#include main(){ int *p,i,a[10];p=a;for(i=0;i<10;i++)scanf(“%d”,p++);printf(“n”);p=a;for(i=0;i<10;i++,p++)printf(“%d”,*p);}将数组a中n个整数按相反顺序存放

 解题思路:将a[0]与a[n-1]对换,……将a[4]与a[5]对换。#include int main(){ void inv(int x[ ],int n);

int i, a[10]={3,7,9,11,0,6,7,5,4,2};

for(i=0;i<10;i++)printf(“%d ”,a[i]);

printf(“n”);

inv(a,10);

for(i=0;i<10;i++)printf(“%d ”,a[i]);

printf(“n”);

return 0;} void inv(int x[ ],int n){ int temp,i,j,m=(n-1)/2;

for(i=0;i<=m;i++)

{ j=n-1-i;

temp=x[i];x[i]=x[j];x[j]=temp;} } 用指针方法对10个整数按由大到小顺序排序。

 解题思路:

 在主函数中定义数组a存放10个整数,定义int *型指针变量p指向a[0]  定义函数sort使数组a中的元素按由大到小的顺序排列  在主函数中调用sort函数,用指针p作实参  用选择法进行排序

#include int main(){ void sort(int x[],int n);int i,*p,a[10];p=a;printf(“please enter 10 integer numbers:”);for(i=0;i<10;i++)

scanf(“%d”,p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++){

printf(“%d ”,*p);

p++;} printf(“n”);return 0;}

void sort(int x[],int n){ int i,j,k,t;for(i=0;i

k=i;

for(j=i+1;j

if(x[j]>x[k])

k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

}

} } 有一个班,3个学生,各学4门课,计算总平均分数以及第n个学生的成绩。

.#include“stdio.h” void InputScore(double s[][4]){ int i,j;

printf(“please input the score of three student:n”);

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf(“%lf”,&s[i][j]);} double AllAverage(double *s,int m){double sum=0;int i;

for(i=0;i

sum=sum+*(s+i);return sum/(m*4);} void PrintNScore(double(*s)[4],int n){ int i;for(i=0;i<4;i++)printf(“%d”,*(*(s+n-1)+i));} void main(){

double score[3][4],ave;

int n;

InputScore(score);

ave=AllAverage(score[0],3);

printf(“average =%lfn”,ave);

printf(“please input the NO.of student who will be printed:n”);

scanf(“%d”,&n);

printf(“The score of the %dth student is:n”,n);

PrintNScore(score,n);

}.定义一个字符数组,在其中存放字符串“I love China!”,输出该字符串和第8个字符。

 解题思路:定义字符数组string,对它初始化,由于在初始化时字符的个数是确定的,因此可不必指定数组的长度。用数组名string和输出格式%s可以输出整个字符串。用数组名和下标可以引用任一数组元素。

#include int main(){ char string[]=“I love China!”;

printf(“%sn”,string);

printf(“%cn”,string[7]);

return 0;}。

第4天的题目:

1.输入一行字符,统计其中的英文字符、数字字符、空格及其它字符的个数。#include #include #define STOP '|' int main(void){ char c;char prev;long n_chars = 0L;int n_lines = 0;int n_words = 0;int p_lines = 0;int inword = 0;

printf(“Enter text to be analyzed(| to be quit):n ”);prev = 'n';while((c = getchar())!= STOP){

n_chars++;

if(c == 'n')

n_lines++;

if(!isspace(c)&&!inword)

{

inword = 1;

n_words++;

}

if(isspace(c)&& inword)

inword = 0;

prev = c;} if(prev!= 'n')

p_lines = 1;printf(“characters = %ld,word = %d,line = %d,”,n_chars,n_words,n_lines);printf(“partial lines = %dn”,p_lines);return 0;}

2.编程先输入某班30个学生某门课的成绩,对全班30个学生成绩进行由高到低排序,并打印输出排序结果,要求按照如下函数原型,用函数编程实现排序功能。#include

void sort(float score[],int n)

{

int i,j;

for(i=0;i

for(j=0;j

if(score[j]

{

float temp=score[j];

score[j]=score[j+1];

score[j+1]=temp;

}

}

void main()

{

float score[30];

int i;

printf(“Please enter the number and score:n”);

for(i=0;i<30;i++)

scanf(“%f”,&score[i]);

sort(score,30);

printf(“Sorted results:n”);

for(i=0;i<30;i++)

printf(“%f”,score[i]);

}

3.用户从键盘任意输入一个数字表示月份值n,程序显示该月份对应的英文表示,若n不在1~12之间,则输出“Illegal month”。#include int main(){

int n;

printf(“请输入n的值n”);

scanf(“%d”,&n);

switch(n)

{

case 1:printf(“Janunryn”);break;

case 2:printf(“Februaryn”);break;

case 3:printf(“Marchn”);break;

case 4:printf(“Apriln”);break;

case 5:printf(“Mayn”);break;

case 6:printf(“Junen”);break;

case 7:printf(“Julyn”);break;

case 8:printf(“Augustn”);break;

case 9:printf(“Septempern”);break;

case 10:printf(“Octobern”);break;

case 11:printf(“Novembern”);break;

case 12:printf(“Decembern”);break;

default:printf(“Illegal month”);

}

return 0;}

4.计算十个数据的平均值。#include void main(){ int a[10],sum=0,i=0;float b;printf(“输入10个数n”);for(;i<10;i++)scanf(“%d”,&a[i]);for(i=9;i>=0;i--)sum=sum+a[i];b=(float)sum/10;printf(“平均数=%fn”,b);}

5.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。(用字符数组实现)#include #include #define N 10 int main(void){ char a[N];int i,j;printf(“Input data:”);for(i=0;(a[i]=getchar())!='n';i++);a[i]='';

} printf(“输出的数据n”);for(j=i-1;j>=0;j--)printf(“%c”,a[j]);putchar('n');return 0;

6.从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和(忽略整数前的正负号)。例如,输入x为1234,则由1234分离出其千位

1、百位

2、十位

3、个位4,然后计算1+2+3+4=10,并输出10。#include main(){ int a,b,c,d;int sum,i;printf(“输入一个四位数n”);scanf(“%d”,&i);a=i/1000;b=(i/10)%10;c=(i/100)%10;d=i%10;sum=a+b+c+d;printf(“%dn”,sum);}

7.输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。#include

int count1(float score[],int n)

{

int i,count=0;

float sum=0,avg;

for(i=0;i

sum+=score[i];

avg=sum/n;

for(i=0;i

if(score[i]>avg)count++;

return count;

}

void sort(float score[],int n)

{

int i,j;

for(i=0;i

for(j=0;j

if(score[j]

{

float temp=score[j];

score[j]=score[j+1];

score[j+1]=temp;

}

}

void main()

{

int i;

float score[20];

for(i=0;i<20;i++)

scanf(“%f”,&score[i]);

int COUNT=count1(score,20);

printf(“大于平均成绩学生的人数:%d”,COUNT);

sort(score,20);

for(i=0;i<20;i++)

printf(“%f”,score[i]);

}

224466...228.利用公式=133557ׄ前100项之积计算并打印值。#include “stdio.h” void main(){ float a=2,b=1;double num=1;int i;for(i=1;i<=100;i++){

num*=a/b;

if(i%2==0)a+=2;

else b+=2;}

num*=2;printf(“π=%.16lfn”,num);}

9.由键盘输入一个班的某课程的学生成绩,计算其平均分然后输出。#include int main(){ float sum=0,n;int i=0;do {

printf(“输入第%d个学生的成绩,输入负数结束”,i+1);

scanf(“%f”,&n);

if(n<0)

break;

sum+=n;

i++;} while(1);printf(“平均成绩为%.4fn”,sum/i);return 0;}

10.从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置并输出。#include int main(){

}

} printf(“最大值:%d 最大值所在位置:%dn最小值:%d 最小值所在位return 0;} if(a[i]

}

min_=a[i];minInd=i;int a[10],max_,min_,maxInd,minInd;int i;scanf(”%d“,&a[0]);max_=a[0];min_=a[0];maxInd=minInd=0;for(i=1;i<10;i++){

scanf(”%d“,&a[i]);if(a[i]>max_){

max_=a[i];maxInd=i;置:%dn”,max_,maxInd,min_,minInd);

11.下面的函数MyStrcmp()用于实现函数strcmp()的功能,将两个字符串s和t进行比较,要求将两个字符串中第一个不相同字符的ASCII码值之差作为MyStrcmp()函数的返回值。#include #include“string.h” int strcmpp(char *s,char *t){int la=strlen(s),lb=strlen(t),i=0;while(1){ if(s[i]!=''&&t[i]!=''){ if(s[i]>t[i]){return 1;break;} else if(s[i]

return 0;}

12.从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。#include using namespace std;void func(){ int a[10];for(int i=0;i<10;i++)

cin>>a[i];int max=0;int min=0;for(i=0;i<10;i++){

if(a[max]

if(a[min]>a[i])min=i;} int t=a[max];a[max]=a[min];a[min]=t;for(i=0;i<10;i++){

cout<

int main(){ int score,level;char band;printf(“Input Score:”);scanf(“%d”,&score);level=score/10;switch(level){ case 10: case 9: band='A';break;case 8: band='B';break;case 7: band='C';break;case 6: band='D';break;default: band='E';break;} printf(“%d的等级为%cn”,score,band);system(“pause”);return 0;} 把1~50之间不能被7整除的数输出 #include main(){ int i;for(i=1;i<=50;i++)if(i%7!=0)

printf(“%d ”,i);} 交换函数两个参数的值 #include “Stdio.h” #include “Conio.h” void swap(int* x,int *y){ int t;t=*x;*x=*y;*y=t;}

main(){ int a,b;a=11,b=21;swap(&a,&b);

printf(“%d,%d”,a,b);getch();} 求数组元素中的最大元素和最小元素 #include

int *pmin,*pmax;int extreum(int a[],int n)

{

int i;

pmax=pmin=a;

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

{

if(a[i]>*pmax)

pmax=&a[i];

else if(a[i]<*pmin)

pmin=&a[i];

}

return 0;}

main(){

int i;

int b[10];

printf(“enter 10 numbers:n”);

for(i=0;i<10;i++)

scanf(“%d”,&b[i]);

extreum(b,10);

printf(“n max=%d,min=%dn”,*pmax,*pmin);} 求3×4矩阵的转置

下载C语言实训心得体会(精选4篇)word格式文档
下载C语言实训心得体会(精选4篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C语言实训

    #include #include #include #define N 100 struct student { char classname[40]; int num; char major[40]; char name[30]; char class1[40]; int score1; char......

    语言实训任务书(范文模版)

    汇编语言实训任务书一、实训题目:汇编语言综合设计 二、实训目的:通过汇编语言综合设计,进一步加深理解汇编语言的指令系统及程序设计流程,强化编程能力,增强上机调试程序的基本......

    C语言实训报告

    做完这个课程设计,我们的自信一下子提高了;尽管对于有些人这种程序会很简单,可对我们C语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动......

    C语言实训报告

    在这个星期里,我们在专业老师带领下进行了C语言程序实训练习。一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能! 首先,在实训中的第一步是编写一个图书管理......

    C语言实训教程

    课程编号:学 时 数:54学时 课程名称:C语言程序设计适用专业:计算机应用技术 执 笔 人:编写日期:2008年7月 单元能力训练指导 单元一:运算符、表达式、输入输出语句 1.能力要求: 1)......

    C语言实训报告

    C语言程序设计实训报告 --学分管理系统 指导老师:陈旭东 目录 1.项目题目: ............................................................................... 2 2.项目......

    c语言实训心得

    C语言实践心得体会 在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了......

    C语言实训报告

    目录 一.分步程序---------------1 二.三.四.心得体会 程序--------------------15 C语言结构-----------24 -------------30 主函数代码 #include #include #include stru......