c语言报告总结工作范文Word格式文档下载.docx
《c语言报告总结工作范文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言报告总结工作范文Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
万年历1.系统需求分析
在日常生活中经常需要用计算器,比如科学计算、数值计算、会计业务等,实现一个简单的四则运算计算器,拥有加、减、乘、除功能,使用户方便、快捷。
2.系统环境要求
使用C语言在VC环境下设计一个带图形界面的简易四则运算计算器,需要Windows20XXy以上的系统,VisualC++/20XX(x86&
x64)/20XX(x86&
x64),Win32ConsoleApplication和EasyX库。
3系统功能及模块图
1.输入年份,打印出十二月历和对应的星期2.输入年月,打印出该月的日历和对应的星期
3.输入年月日,判断是星期几,是不是公历的某个节日
4.根据系统日期推算出某一个日期距离今天还有多少天模块图:
4.主要函数
Intisleap(intyear)/*判断是否为闰年*/
IntmaxDay(intyear、intmonth)/*判断某一个月的天数*/
inteachyeartotal(intyear,intmonth,intday)/*判断某天是一年中的第几天*/
intweek(intyear,intmonth,intday)/*对天数进行判断确定是星期几*/voiddisplay(intyear,intmonth)/*输出年月*/voiddisplay1(intyear)/*输出年历*/
voiddisplay2(intyear,intmonth)/*输出月历*/
voiddisplay3(intyear,intmonth,intday)/*输出日历*/
intcounterdays(intyear,intmonth,intday)/*判断今天距特定日期的天数*/
voidwhatweek(intyear,intmonth,intday)/*判断是星期几*/voidjieri(intmonth,intday)/*判断是否公历节日*/voidgetmenu/*显示菜单选择*/
voidsetDay3(intyear,intmonth,intday)/*通过键"
PageUp"
"
PageDown"
控制日期的变换*/
voidsetDay2(intyear,intmonth,intday)/*通过键盘"
←"
→"
控制月历的变换*/
voidsetDay1(intyear,intmonth,intday)/*通过键盘"
↑"
↓"
控制年历的变换*/
4.具体实现:
#include/*包含的头文件*/#include#include#include#include
#defineKEYNUMUp0x48/*宏定义*/#defineKEYNUMDown0x50
#defineKEYNUMLeft0x4b#defineKEYNUMRight0x4d#defineKEYNUMPageUp0x49#defineKEYNUMPageDown0x51
inteachyeartotal(intyear,intmonth,intday);
/*函数声明*/intcounterdays(intyear,intmonth,intday);
intnowtime(intyear,intmonth,intday);
intweek(intyear,intmonth,intday);
intmaxDay(intyear,intmonth);
intisleap(intyear);
voidgetmenu;
voidwhatweek(intyear,intmonth,intday);
voiddisplay(intyear,intmonth);
voiddisplay2(intyear,intmonth);
voiddisplay3(intyear,intmonth,intday);
voidsetDay1(intyear,intmonth,intday);
voidsetDay2(intyear,intmonth,intday);
voidsetDay3(intyear,intmonth,intday);
voidjieri(intmonth,intday);
voiddisplay1(intyear);
intisleap(intyear)/*判断是否为闰年*/{
if(year%4==0&
&
year%100!
=0||year%400==0)return1;
elsereturn0;
}
intmaxDay(intyear,intmonth)/*每月的天数*/{
inta[]={31,28,31,30,31,30,31,31,30,31,30,31};
/*每个月中的天数*/if(isleap(year))
a[1]=29;
/*闰年2月份有29天*/returna[month-1];
inteachyeartotal(intyear,intmonth,intday)/*判断某天是一年中的第几天*/{
inti,sum=0;
for(i=1;
i篇二:
C语言实训心得总结
C语言实训心得
10903090113李新程
在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。
在为期两周的时间中,我们同组的同学共同的感受是:
C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。
好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。
在这里,我作为其中的参与者,感触良多。
在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。
通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。
这次的实训,使我对C语言的学习产生浓厚的兴趣。
还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。
每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。
实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。
更多是老师给的感动,每天在我们来之前就到了教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。
通过这次实训,也使我们发现了许多问题。
在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上搜索。
而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学好用C语言编写一个按要求的系统。
还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。
首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。
然后每天都能写一些程序,上时候多看一些优秀的教程和优秀的代码。
遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。
总之,这一切都成为我记忆里面的一个篇章,更是在C语言编程上的一个里程碑。
篇三:
C语言学习心得报告
C语言学习心得报告
看了一段时间的《C和指针》,这样看的效果不是很好,看着书本当时是懂了,有点恍然大悟的感觉,但是发现并不能真正的把理解的内容加入到自己程序当中,不能很好的去运用它,所以对于C语言我认为理论加实践,是学习C语言的最好方法,看书并不能完全理解书中的内容,也较容易遗忘,学习效率比较低,所以现在学习《数据结构》,在看书的同时,会在MicrosoftVisualC++软件上实践,严蔚敏写的《数据结构》这本书,比较经典但是这本书是伪算法,并不能直接在计算机上运行,对于初学者上机实践比较困难,另外说一下,我认为学习应该是在模仿中理解,在模仿中创新,所以我选择结合高一凡写的书《数据结构算法实现及解析》,这本书严蔚敏写的伪算法全部用程序实现了,给我上机实践提供了很大的帮助,貌似说到数据结构了,呵呵,回到正题,下面继续说说C语言。
指针是C语言的精华,也是C语言的难点,它就像一把双刃剑,锋利无比但运用的不好也会给自己带来危害,后果比较严重,所以重点来说说指针。
很多初学者弄不清指针和数组到底有什么样的关系,为避免混淆不清,下面总结一下指针和数组的特性。
指针是保存数据的地址,任何存入指针变量的数据都会被当作地址来处理,指针变量本身的地址由编译器另外存储,存储在哪里,我们并不知道,间接访问数据,首先取得指针变量的内容,把它作为地址,然后从这个地址读或写入数据。
指针可以用间接访问操作符(*)访问,也可以用以下标的形式访问,指针一般用于动态数据结构。
数组是用来保存数据的,数组名代表的是数组首元素的地址而不是数组的首地址,所以数组p与&
p是有区别的,虽然内容相同,但意义却不同,&
p才是整个数组的首地址,数组名是整个数组的名字,数组内每个元素并没有名字,不能把数组当一个整体来进行读写操作。
当然数组在初始化时也有例外,如intp[]=“12345”是合法的。
数组可以以指针的形式访问如*(p+i);
也可以以下标的形式访问p[i],但其本质都是p所代表的数组首元素的地址加上i*sizeof(类型)个字节作为数据的真正地址来进行访问的。
数组通常用于存储固定数目且数据类型相同的元素。
刚开始的时候我
有点分不清指针数组和数组指针,现在也总结一下,指针数组,首先它是一个数组,数组的每个元素都是指针,可以理解为“存储指针的数组”的简称,数组指针,首先它是一个指针,它指向一个数组,在32位系统下永远只占4个字节,至于它指向的数组有多少个字节,并不知道,可以理解为“指向数组的指针”。
举个例子,int*p1[10]与int(*p2)[10],要理解这个问题,首先要清楚操作符的优先级,“[]”的优先级比“*”的优先级高,所以首先p1与“[10]”结合构成一个数组p1[10],int*为修饰数组的内容,所以数组元素是指向int类型的指针,所以这个是指针数组,“”的优先级比“[]”的优先级高,“*”与p2结合构成一个指针变量,int修饰数组的内容,即数组的每个元素,数组这里并没有名字,是个匿名数组,现在清楚了p2是一个指针,它指向一个包含10个int类型数据的数组,即为数组指针。
下面再说说内存管理,内存分为三个部分:
静态区、堆、栈。
其实堆栈就是栈,而不是堆。
静态区是保存自动全局变量和static变量。
静态区的内容在整个程序的生命周期内都存在,由编译器在编译的时候分配。
堆是由malloc系统函数分配内存的。
其生命周期由free和delete决定。
栈保存局部变量。
栈上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。
再说说有关内存需要注意的地方,定义了指针变量,在使用之前一定要初始化使它指向一块合法的内存,不管什么时候,我们在使用指针之前一定要确保指针是有效的。
使用malloc系列函数分配内存,使用完之后应及时释放内存,以防止内存泄露。
最后总结的说一下学习C语言的方法就是编程编程再编程,理论学习与上机操作同时进行,另外在编程序的过程中要养成良好的编程习惯。
篇四:
C语言程序设计心得体会
C语言程序设计心得体会
在设计打字游戏的过程中,通过我们小组各成员之间的相互讨论和合作,我们完成了打字练习的程序设计。
在这个学期中,我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。
这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。
C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。
要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。
只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。
在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。
而且尽可能的将模块细分,最后在进行函数的调用。
我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用。
由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。
因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!
一学期的学习成果,都体现在了这次打字游戏的设计过程中。
这个学期,我学得不算认真,一开始做感觉力不从心,但在几个同学的帮助和努力下,我翻阅课本,询问ACM大神,绞尽脑汁的情况下做完这个程序设计,我的自信一下子提高了。
尽管对于有些人这种程序会很简单,可对我这个C语言初学者来说,已经很不容易了。
这次体验为以后的学习计算机的我们增强了信心。
享受劳动成果的滋味实在很美妙啊!
篇五:
C语言实践报告
中南大学
本科生课程设计(实践)报告
(C语言)
题目指导教师学院专业班级学生学号学生姓名
全国各省会城市天气情况统计
计算机基础教学实验中心
20XX年9月10日
目录
课程设计内容概述:
………………………………………………………………………………….1
实践背景知识:
……………………………………………………………………………….1实践内容:
………………………………………………………………………………………1
实践目的及意义:
………………………………………………………………………….…2
设计方案及实现过程:
……………………………………………………………………………..2
总体设计思路:
……………………………………………………………………………….2程序设计流程图(主函数):
……………………………………………………………3操作步骤及设计成果:
……………………………………………………………………3方法技巧及所遇到的问题:
……………………………………………………………………...5
实践方法的归纳总结:
……………………………………………………………………5问题及解决办法:
……………………………………………………………………………6实践的心得与体会:
…………………………………………………………………………………6
课程设计内容概述:
实践背景知识:
计算机技术的发展和广泛应用,正深刻地改变着现有的社会生产方式和生活方式,成为信息社会的重要支柱。
信息化社会对人才的培养提出了更高的要求和标准。
掌握和了解计算机技术并具有应用计算机的能力是适应信息化社会的基础。
C语言是近年来在国内外得到迅速推广应用的一种计算机语言。
其功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。
因此,C语言特别适合于编写系统软件。
现在,C语言已不仅为计算机专业工作者所使用,而且为广大计算机爱好者所青睐,许多人已经用它编写应用软件。
如今,学习C语言已成为众多计算机应用人员和青年学生的迫切要求。
实践内容:
上查询各省会城市某日最高、最低气温和湿度,将数据(城市名称、最高气温、最低气温、湿度)以统一格式保存在一个纯文本文件中。
编程实现:
a.从文件中读取数据,计算全国省会当日的最高气温、湿度的平均值,统计最高气温高于平均值的城市数;
b.按湿度升序排序,将排序后的数据存入文件中;
c.计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名;
d.统计最高气温在10℃以下、10℃∽20℃、20℃∽30℃、30℃以上的城市数,并绘制分布饼图和折线图。
1.要求:
A.利用子程序,分模块实现;
B.所有数据采用文件形式保存;
C.数据的组织可采用数组,也可用结构体数组。
通过对书本知识的自学和理解,掌握用C语言编写实用程序和设计自定义用户界面的基本方法,培养利用程序设计技术进行计算机与专业知识的交叉应用,增强综合解决实际问题的能力,掌握多模块结构的程序设计与调试方法以及程序模块间的数据传递方法,建立提出问题、分析问题、解决问题的思维方式,提高自身计算机水平,促进灵活运用所学知识解决问题能力的提高。
1.将上查询的数据保存在纯文本文档里,所编写的程序包括一个主函数和四个子函数,主函数主要是定义由文件中各类数据组成的结构体和供运行者选择的分支结构。
2.第一个自定义函数功能为:
调用特定的库函数从文件中读取数据,此处应注意已保存文本的格式和函数中定义的数据类型,再采用循环结构将最高温度和湿度值累加求平均值,最高气温高于平均值的城市数目也可通过循环结构计算出来。
3.第二个自定义函数功能为:
将文件中各个城市的湿度值读出来,采用选择排序或者冒泡排序法将所有数值从小到大排列,再调用fprintf函数,把排列好的数据存入指定名称的文本文档中。
4.第三个自定义函数功能为:
利用循环结构把各城市最高温与最低温相减,将所得差值定义为一个数组,并显示在屏幕上,然后从第一个城市开始,和长沙市的温差比较,将大于长沙市的城市数目累加,即得出本市的具体排名。
5.第四个自定义函数功能为:
先将各城市的最高气温除十以方便计算,再采用switch语句,通过循环结构读出各温度段的城市数目并累加,把所得结果用饼状图和折线图显示在屏幕上。
程序设计流程图(主函数):
操作步骤及设计成果:
1、定义文件名、文件指针、结构体数组和需要用到的自定义函数,为方便编程过程中的修改,将城市数目定义为宏。
#include
#include#include#defineN34
structc{charname[15];
inthigh;
intlow;
intwed;
}city[N];
FILE*fp;
voidf1;
voidf2;
voidf3;
voidf4;
2、编写主函数,利用输出函数输出一些中文提示语句以方便运行时选择。
为使运行时界面清晰,还可以用几行*******和--------符号隔开。
main
篇六:
在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。
虽然在上个学期中,我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。
在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。
为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。
我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。
这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。
开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。
我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。
在参考书上,我们不仅参考了曾经学过的高敬阳主编的《c语言程序设计》,还找到了由谭浩强主编的第三版《c语言》进行参考。
当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有