- 2022-08-23 发布 |
- 37.5 KB |
- 9页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
C语言学习心得[1]
C语言学习心得C语言学习心得201*年11月1日星期二1.用昨天的bmp图像熟练创建win32工程。2.看4个经典C语言算法,收获:(1)熟练几个快捷键F5:启动调试;F7:生成解决方案;ALT+F8:即调整编辑格式;F9:中断;F10:跨过程序执行;(2)for()后无“;”(3)注意符号要是英文输入法状态如:中文的“;”英文的“;”。(4)getchar();程序暂停。(5)程序最好在重要的地方有注释。/*…….*/(6)看了语句if:判断语句If……elsewhile和for循环语句3.看了一个C语言视频做了一些bmp图像以留后观,内容包括:语言的数据类型和变量,常量。1个字节=8bits数据类型:(1)基本类型:整形int,4个字节=32bits短整型short,2个字节=16bits字符型char,1个字节=8bitsC浮点型:单精度float,65535.5双精度double,4.for(初始语句;条件;重复语句)语句体扩展阅读:C语言心得体会计网09《C语言程序设计》实训《C语言实训报告》\n姓名:陶艳琼____________班级:计算机网络091班【500字以内的实训体会】C语言实训心得体会在初学C语言的一个学期后,我们进行了C语言阶段,尝试编写各种类型的程序。在为期一个周时间中,我的感受是:C语言实训和平时上课所接触的成有很多不同,所经受的考验和克服的困难和平时的相差不大,遇到不会做的题同学互相讨论,互相帮助,共同解决,攻克了C语言的复杂程序,我感触良多。在这次实训中,我对C语言有了一个更深的认识了解,也对这学期的知识得到巩固,还尝试了运行编程,每次运行程序成功,让我对下面的项目充满了信心通过自己的努力最终把最初的理论知识转化成基本技能,这次的实训,是我对C语言的学习产生了农活的兴趣。还是这次实训,最令人激动的就是同学遇到问题互相帮助虽然只是一个很小得实训,但同学们的满腔人情却是值得骄傲的,我们在实训中取长补短在实训中长知识,提高了我们学习,虽然对有些时候老师没给我们指出解决问题的方法有一些小抱怨,但到了结束是才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多的是老师的感动,每天在我们来之前家到了机房,给我们我分享他学C语言的感受,还提醒我们注意在编程时与遇到的事项,,这些是我们平时上课无发了解到的知识是我们更第1页计网09《C语言程序设计》实训深层次的极大收获。通过实训我们也发现了许多问题,在试训中我认识到自己还有很多知识没学好,最基本的知识点没有理清楚,而且许多东西要经过翻书,上网查阅,搜索,遇到一小点错误运行不出来,就会烦躁不安,觉得有些自暴自弃或这抱怨题目有些变态,以后要克服,尽量保持一颗蓝好的心态,学好C语言,用C语言来编写一个按要求的系统。\n对于未来,近程下个学期,我觉得我还有许多方面需要提高。首先我要继续学习好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*/\n实训过程中可以相互讨论,查阅相关资料,但一定要自己理解问题并自己动手实成题目,严禁抄袭,一经发现,成绩以零分记。注意解题过程中算法的设计,注意分析和理解题目的描述是如何转换为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,则停止循环,输入该数即可(思考,满足这一条件的数是否只有一个)。\n因为,每步跨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和终值是15332.4某日,王母娘娘送唐僧一批仙桃,唐僧命八戒去要桃.八戒从娘娘宫里挑上仙桃出发,边走边望着前箩筐中的仙桃咽口水,走到128里时,倍觉心烦腹几饥口干不能再忍,于是找了个僻静处开始吃前头箩筐中的仙桃来,越吃越有兴头,不觉竟将一筐仙桃吃尽,才猛然觉得大事不好.正在无奈之时,发现身后还有一筐,便转悲为喜,将身后的仙桃一分为二,重新上路.以后,每走前一段路的一半,边吃光前一箩筐中的仙桃,才上路.如此这般,最后一里走完,正好遇上师傅.师傅一看,两个箩筐中各有一个仙桃,于是大怒,要八戒交代一路吃了多少个仙桃?八戒掰着指头,好几个时辰也回答不出,请你帮八戒算算他吃了多少仙桃!2.5一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米(请注意下落几次,反弹几次)?第10次反弹多高?下落12次,反弹11次。三、穷举搜索算法\n此类问题的解题思路是按题目要求及条件,把所有可能的情况都罗列出来,在其中找出符合要求的解。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个盘子的移动过程。\n五、常见的数组问题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中将他们输出。七、图形绘制\n【基础知识】在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,也可以取2setfillstyle(intpattern,intcolor);函数设置填充封闭区域的填充样式pattern设置填充方式,取值0-12floodfill(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);/*设置画线色*/\nsetlinestyle(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语言学习心得:该篇文章建议您自主创作。查看更多