学期小结--C语言学习心得
学期小结C语言学习心得
在刚开始学习C语言的一段时间里,我总觉得C语言难懂和不容易使用。现在总结起来主要是以下三个方面的原因!
(1)只注重写程序,而忽视了读程序
学习计算机语言最好的方法是什么?很多人都认为是掌握程序思路会写程序,其实这个想法不正确,因为你连这门语言的思路都没有懂,怎么会写出真确的程序呢,所以我总结的方法是先读后写,也就是先学会读程序,再练习写程序。
读程序是学习C语言入门最快,也是最好的方法。对于没有学过任何语言的计算机初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,不放过这一章所提到的所有例题,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例题相似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,也不要着急,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你熟练掌握为止。这是传智的尹凡老师一再强调的。在学习C语言时应该把精力先放在最基本、最常用的内容上,千万不要钻牛角尖,在一些细节上死抠,有一些细节可以随着学习的深入和实践的丰富,会自然而然的掌握的。
(2)没能将理论学习和上机实践有效结合
我们学习C语言,主要是掌握程序设计的一些基本方法和技巧。因此,在重视理论学习的同时,必须加强上机实验。只有在上机实践中我们才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识;同样只有通过上机实践,我们才能真正体会C程序的运行过程!
然而在平时,我们恰恰就忽视了上机实验没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。
(3)缺少一定逻辑思维能力
C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。
通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,那么如何来有效的锻炼自己的抽象逻辑思维能力呢?我的学习体会是:通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。
还需注意的就是自己实在无法理解的地方不妨指出来多多请教老师和懂的同学让他们用自然语言来描述一道,并且记录下来这样可以达到事半功倍的效果。对一个计算机程序设计的初学者来说,C语言程序设计是一门基础课,学好它是为以后在学习其他高级言(如JAVA等)打下良好基础。上个学期我对《C程序设计》这本书从陌生、好奇到有兴趣。第一次触C语言的感觉直到现在还记忆犹新,当初的我看到的就是一个个的程序,其中的代码密密麻麻都是那么的繁琐,也很难看懂学懂。如今我对C语言有了一定的了解,对其中的小程序能独立编程,对一些较为复杂的程序能够看懂,并且可以仿造经典程序,构思、编写出能够解决小问题的程序了,我对C语言充满了信心。我想这与传智的尹凡老师的精心指导和同班同学相互学习和鼓励是分不开的。
我觉得入门还是多看些书,多实践,养成良好的编程习惯,在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者说模仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。
扩展阅读:C语言心得体会
计网09《C语言程序设计》实训
《C语言实训报告》
姓名:陶艳琼____________班级:计算机网络091班
【500字以内的实训体会】
C语言实训心得体会
在初学C语言的一个学期后,我们进行了C语言阶段,尝试编写各种类型的程序。在为期一个周时间中,我的感受是:C语言实训和平时上课所接触的成有很多不同,所经受的考验和克服的困难和平时的相差不大,遇到不会做的题同学互相讨论,互相帮助,共同解决,攻克了C语言的复杂程序,我感触良多。
在这次实训中,我对C语言有了一个更深的认识了解,也对这学期的知识得到巩固,还尝试了运行编程,每次运行程序成功,让我对下面的项目充满了信心通过自己的努力最终把最初的理论知识转化成基本技能,这次的实训,是我对C语言的学习产生了农活的兴趣。
还是这次实训,最令人激动的就是同学遇到问题互相帮助虽然只是一个很小得实训,但同学们的满腔人情却是值得骄傲的,我们在实训中取长补短在实训中长知识,提高了我们学习,虽然对有些时候老师没给我们指出解决问题的方法有一些小抱怨,但到了结束是才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多的是老师的感动,每天在我们来之前家到了机房,给我们我分享他学C语言的感受,还提醒我们注意在编程时与遇到的事项,,这些是我们平时上课无发了解到的知识是我们更
第1页计网09《C语言程序设计》实训
深层次的极大收获。
通过实训我们也发现了许多问题,在试训中我认识到自己还有很多知识没学好,最基本的知识点没有理清楚,而且许多东西要经过翻书,上网查阅,搜索,遇到一小点错误运行不出来,就会烦躁不安,觉得有些自暴自弃或这抱怨题目有些变态,以后要克服,尽量保持一颗蓝好的心态,学好C语言,用C语言来编写一个按要求的系统。
对于未来,近程下个学期,我觉得我还有许多方面需要提高。首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。能写出一些程序,上网的时候多看一些优秀的教程和优秀的代码,遇到问题是多和同学讨论,并且多弄出几套方案,多练习自己结局问题的能力和与同学合作的能力。
总之,这一切都成为我记忆里面的一个篇章,更是C语言编程上的一个里程碑。
第2页计网09《C语言程序设计》实训
《C语言程序设计》实训计划
指导教师:毛跃平
一.实训目的
《程序设计语言》是计算机相关专业一门专业基础课,通过对《C语言程序设计》的学习,掌握计算机程序设计的基本知识、掌握编写运行程序的步骤,掌握常用的计算机算法,本课程也是实践性较强的课程,为此安排一周实训,能进一步加强巩固理论知识,锻炼解决问题的能力。为继续学习其他课程打下坚实的基础。二.实训班级
计算机网络技术091班三.实训日期及时间
201*年6月28日201*年7月2日,共5天四.实训要求
要求每一位参加实训的同学认真分析每个题目,认真回答题目给出的问题,在该题..
后面写出解题思路及算法,再编写程序,在计算机调试并运行,最后上交该实训文...................档和源代码。.....
以自己的姓名建立一文件夹,以1-1.c1-2.c2-1.c…为源码名保存程序每一程序顶部的注释中写如下的内容/*
姓名:XXXX题目:1.1日期:201*-6-x*/
实训过程中可以相互讨论,查阅相关资料,但一定要自己理解问题并自己动手实成
题目,严禁抄袭,一经发现,成绩以零分记。
注意解题过程中算法的设计,注意分析和理解题目的描述是如何转换为C程序的语
句,体会使用不同解题算法之间的低劣。
第3页计网09《C语言程序设计》实训
五.实训题目一、基本知识
1.1完成课本P68页第7题
注意:c9/5(F32)输入,9/5是求整运算。
1.2输入一个分数(0-100),根据分值,90-100输出’A’,80-89输出’B’,70-79输出’c’,60-69输出’D’,其他输出’E’,要求使用switch语句完成。利用switch的循环结构,注意符号输入
1.3写一程序,实现判断一个整数n是否是素数。
要求判断素数的功能写成一个函数,在main函数中输入要判断的数n,根据该函数的返...............回值输出相关信息二、常见推理问题
2.1有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.编程求出楼梯的长度。
【思路】根据题义,假定该楼梯长为7(请问为何要假定为7,若从其他数开始行不行?),看7能否满足要求,若满足要求,则该楼梯长为,否则,看8,9,10….直到找到一个满足要求的整数n,即该数同时满足n%2==1,n%3==3,n%5==4,n%7==0,则停止循环,输入该数即可(思考,满足这一条件的数是否只有一个)。
因为,每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.刚好剩一个,不可从其他书开始运行。2.2Jacky和Mary养了很多猪。他们想要给猪安家。但是Jacky没有足够的猪圈,很多猪只能够在一个猪圈安家。Jacky建了3个猪圈,为了保证公平,剩下1头猪就没有地方安家了。Mary生气了,骂Jacky没有脑子,并让他重新建立猪圈。这回Jacky建造了5个猪圈,但是仍然有1头猪没有地方去,然后Jacky又建造了7个猪圈,但是还有头没有地方去。Jacky都快疯了。你对这个事情感兴趣起来,你想通过Jacky建造猪圈的过程,知道Jacky家至少养了多少头猪?
2.3一个猴子吃桃子,每天吃现有桃子数量的一半再多一个,到第九天吃完的时候只剩下1个桃子,求原来有多少桃子?
【思路】倒推法,今天吃之前的桃子数=昨天吃的一半少一个,即today=(yesterday/2)-1
第4页计网09《C语言程序设计》实训
===>yeterday=(today+1)*2i=10today=1推出第9天吃之前的桃子数,再把第9天当作今天(today=yesterday),推出第8天吃之前的桃子数….直到推出第一天吃之前的桃子数为止。(注意循环变量初值和终值是多少)循环变量初值1和终值是1533
2.4某日,王母娘娘送唐僧一批仙桃,唐僧命八戒去要桃.八戒从娘娘宫里挑上仙桃出发,边走边望着前箩筐中的仙桃咽口水,走到128里时,倍觉心烦腹几饥口干不能再忍,于是找了个僻静处开始吃前头箩筐中的仙桃来,越吃越有兴头,不觉竟将一筐仙桃吃尽,才猛然觉得大事不好.正在无奈之时,发现身后还有一筐,便转悲为喜,将身后的仙桃一分为二,重新上路.以后,每走前一段路的一半,边吃光前一箩筐中的仙桃,才上路.如此这般,最后一里走完,正好遇上师傅.师傅一看,两个箩筐中各有一个仙桃,于是大怒,要八戒交代一路吃了多少个仙桃?八戒掰着指头,好几个时辰也回答不出,请你帮八戒算算他吃了多少仙桃!
2.5一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米(请注意下落几次,反弹几次)?第10次反弹多高?下落12次,反弹11次。三、穷举搜索算法
此类问题的解题思路是按题目要求及条件,把所有可能的情况都罗列出来,在其中找出符合要求的解。
3.13025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身,即abcd=(ab+cd)2。请求出具有这样性质的全部四位数。
【思考】如何求出一个数的前两位和后两位?循环变量初值要从多少开始,到多少结束,把每个数前两位和后两位拆出来相加再求平方,并判断结果是否等于该数本身,如等则输出,注意输出格式控制。
前两位a=m%100;后两位b=m/100;m为一个四位数,循环变量从第一个符合要求的数开始,高9801.
3.2百钱买百鸡:公元5世纪,我国古代数学家张丘建在《算经》中提出了如下问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。凡百钱买百鸡,问鸡翁、母、雏各几何?
第5页计网09《C语言程序设计》实训
3.3有30人在一饭馆吃饭,包括男,女和小孩。共花了50元,男的每人3元,女的每人2元,小孩每人一元,求男,女,小孩各多少人?
3.4一个口袋里有12个球,3个白球,3个红球,6个黑球,取出8个球,求一共有有多少种取法,输出每一种取法中各种球的数目。四、递归问题
4.1编写一递归函数,该函数的功能是求出n的阶层(注n!=n*(n-1)!(n>=2)1!=10!=1)4.2汉诺塔问题
上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。有传言说,这件事完成时宇宙会在一瞬间闪电式毁灭。也有人相信婆罗门至今还在一刻不停地搬动着圆盘。请你编写一程序模拟10个盘子的移动过程。
五、常见的数组问题
5.1一群猴子有50只,坐在一起选猴王,每只猴子都有一个编号1~50。从1号猴子开始报号,报到7号则退出;下只猴子继续从1开始报,依次循环,则最后的一只猴子为猴王。试求出这只猴子的编号
5.2选择排序(SelectionSort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕,编写一函数对n个数进行排序。
5.3回文数是指一个像16461这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。这里,“回文”是指像“妈妈爱我,我爱妈妈”这样的,正读反读都相同的单词或句子。设计两个函数一个函数用来判断一个2位及以上的数是否回文数,另一函数用来判断一字符串是否回文串。
六、文件操作
6.1编写一程序,实现将10个同学的信息(学号,姓名,性别及3门课程成绩保存到文件中,并能读出指定记录和改该记录的程序)
第6页计网09《C语言程序设计》实训
【思考】文件根据其访问方式分为哪两种?根据文件内容又分为哪两种?对文件进行操作的步骤有哪些?如何读或写文件?
在main函数中赋予只,在另一函数ptintf中将他们输出。
七、图形绘制
【基础知识】在C语言中显示信息的方式有两种,即字符模式和图形模式,我们之前的信息输入输出都在字符模式下,要让C程序能画出图形,要把显示模式设置在图形模式下,在图形模式下,是按像素来定义坐标的。对VGA适配器,它的最高分辨率为640x480,其中640为整个屏幕从左到右所有像素的个数,480为整个屏幕从上到下所有像素的个数。屏幕的左上角坐标为(0,0),右下角坐标为(639,479),水平方向从左到右为x轴正向,垂直方向从上到下为y轴正向(如图)。TURBOC的图形函数都是相对于图形屏幕坐标,即像素来说的,所有图形函数都包含在graphics.h头文件中
要在屏幕上画图,要先设置背景色和画线颜色,线形,还能对某封闭区域填充,要设置填充样式和填充颜色
setlinestyle(stly,pattern,width)函数,设置画线样式
stly=0-40实线1点线2中心线3虚线4自定义线,pattern只有当stly=4时有效,pattern一般设为0,width为线宽范围1或3,也可以取2
setfillstyle(intpattern,intcolor);函数设置填充封闭区域的填充样式pattern设置填充方式,取值0-12
floodfill(x,y,color)函数设置填充的封闭区域
x,y为封闭区域内任意一点坐标,color为封闭区域边界颜色
要注意使用顺序,先画一封闭区域,再设置填充方式,然后使用floodfill()函数填充,
第7页640(0,0)(639,0)(320,240)480(0,479)(639,479)计网09《C语言程序设计》实训
例,要画出如图所示的蓝背景,红色圆,绿色填充的程序代码如下:#includeintmain(){
intgdriver,gmode;gdriver=DETECT;
initgraph(&gdriver,&gmode,"");/*设置图形显示模式*/setbkcolor(1);/*设置背景色*/setcolor(RED);/*设置画线色*/
setlinestyle(1,0,3);/*设置以宽度为3个像素的实线方式画图*/circle(320,240,80);/*以320,240为圆心,80像素为半径画圆*/setfillstyle(1,GREEN);/*设置以实心方式绿色填充*/floodfill(320,240,RED);/*取320,240这点,向四周填充到红色边界*/getch();/*程序停在此处,将画出的图形显示在屏幕上,按任意键返回*/closegraph();/*关闭图形模式*/}
题目:要求根据以上了解到的知识,设计画一面五星红旗的程序
第8页计网09《C语言程序设计》实训
1、有关函数
moveto(intx,inty);移动游标到(x,y)点,不是画点,在移动过程中亦画点。line(intx0,inty0,intx1,inty1);画一条从点(x0,y0)到(x1,y1)的直线。lineto(intx,inty);画一作从现行游标到点(x,y)的直线。
circle(intx,inty,intradius);以(x,y)为圆心,radius为半径,画一个圆。
arc(intx,inty,intstangle,intendangle,intradius);以(x,y)为圆心,radius为半径,从stangle开始到endangle结束(用度表示)画一段圆弧线。
ellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);以(x,y)为中心,xradius,yradius为x轴和y轴半径,从角stangle开始到endangle结束画一段椭圆线,当stangle=0,endangle=360时,画出一个完整的椭圆。
rectangle(intx1,inty1,intx2,inty2);以(x1,y1)为左上角,(x2,y2)为右下角画一个矩形框。.
第9页
友情提示:本文中关于《学期小结--C语言学习心得》给出的范例仅供您参考拓展思维使用,学期小结--C语言学习心得:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《学期小结--C语言学习心得》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/747929.html
- 上一篇:C语言课程设计心得体会-心得体会
- 下一篇:C语言程序学习心得体会