c语言实践报告总结(共16篇)由网友“搬砖丽人”投稿提供,下面是小编为大家带来的c语言实践报告总结,希望大家能够喜欢!
篇1:c语言实践报告总结
一、实习时间:20xx年x月x日―20xx年x月x日
二、实习地点:第一微机室
三、实习目的:
1、熟悉我们自己所用的计算机的C语言开发环境,并且能够熟练掌握,达到错误能找到原因并且加以改正。
2、加深对课本理论知识的理解,进一步掌握书中重点、难点实例,锻炼自己的编写程序能力和实际应用能力。
3、上机调试程序的过程中,发现错误,解决错误,保证程序的正确运行,运行结果与给定结果完全相同。
4、学会用书中基本知识解决实际中的一些问题,将书本所学的内容与实际操作相结合,掌握把实际问题转变为C语言描述的算法的方法,明确思路。将自身的不足与缺陷改掉,养成良好编辑风格
5、培养我们的主观能动性、沟通、表达能力和团队合作意识,为我们以后的发展打下基础。
四、实习内容及方法:
在本次实习中,我们采用了由浅及深、由易到难的实习方法,而且也是按照书本的教学进程内容进行的,同时采取了实际应用与理论相结合的方法,在机房里面实习,一边理解,思考做题的思路与解法,另一边就可以马上进行上机实际操作。这对于我们加深对C语言的理解、操作以及动手能力都有了很大的帮助与提高。
实训的内容主要分为了七个版块:
第一版块:
1、Turbo C运行环境。
了解TC的基本环境,熟悉常用菜单项和快捷键:在这一小节中,需要熟练的掌握并应用Turbo C的运行环境,和基本配置。Turbo C是在计算机上广泛使用的一个C语言开发环境,它具有方便、直观、易用的界面和丰富的函数库。它把程序的编辑、编译、连接和运行等操作去不都集中在一个界面上进行,使用非常方便。并且Turbo C不需要特别安装,只需要将其拷贝到硬盘上就可以使用了。 为了方便管理用户的程序文件和维Turbo C2.0的运行环境,客户应在机子
上建立自己的工作目录,一边用来存放自己所需要开发的源程序文件。下面就是建立怎样自己文件夹,在空白区域内输入自己所建立的文件夹路径即可。
2、C程序的编辑、编译、连接和运行过程。
掌握C程序的运行步骤,初步了解C程序的特点。在Turbo C的运行中,快捷键使用非常方便,只需Ctrl+菜单栏中菜单名的首字母即可。
上面是一个程序编译与链接的截屏。第一个Compile to OBJ将源程序编译为OBJ文件,Make EXE file 编译连接一次进行,Link EXE file将OBJ文件连接为EXE文件。
3、VC6.0环境的熟悉,自己按照软件并在软件中能够调试简单的C语言程序。
第二版块:
1、C语言数据类型:整型、实型、字符型。
C语言的函数类型非常丰富,除了这几类以外,还有实型、数组、指针、结构体等,在这一小节中,主要了解关于数据类型的定义、用法以及他们的存储类型,一边与以后灵活运用。
C语言中还有常量与变量之分,常量是在程序执行过程中其值不变的量。二且在C语言中常量不需要类型说明就可以直接使用,常量的类型是由常量的本身隐含决定的。
2、运算符及表达式。
在C语言中,预算符非常丰富运算灵活,常用的有以下几个:
(1)算术运算符:+、-、*、/、%(取余)及++(自增)、--(自减)。
(在这里需要注意的是:“/”运算符,在C语言中两边都是整数的话,运算结果只取整数部分;“%”他的两边都必须是整数才可以运行;“**、--”运用这个运算符时要注意“先用后加(减)、先加(减)后用”的问题)
(2)赋值运算符:=及复合赋值运算符(+=、-=、*=、/=、%=等)。
(在这里需要注意的是“=、==”的区别,要明确用法及所用的地方,“=”它的作用是赋值,“==”它的作用是判断相等)
(3)逗号运算符:,(对于逗号表达式索要注意的是要明确它所用的地方以及在使用时所要注意的细节)。
了解三种运算符的优先级,掌握三种运算符及相应表达式的应用(详见附录)。
第三版块:在这一节里,我们实习了C语言的三大结构:
1、顺序结构:
2、选择结构:ifelse,switch语句。
在这里许啊哟我们学习的很多,因为只要是程序,就脱离不了这个三大结构的范畴。在这个学习里我编写了
(1)、输入某年某月某日,判断这一天是这一年的第几天?。
(2)、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
(3)、某市不同车牌的出租车3公里的起步价和计费分别为:夏利7元,3公里以外,2.1元/公里;富康8元,3公里以外,2.4元/公里;桑塔纳9元,3公里以外,2.7元/公里。编程:从键盘输入乘车的车型及行车公里数,输出应付工资。
源程序减附录;
经过这几个程序的练习,让我聊股的掌握了选择语句的用法以及精髓,同是这个用法和技巧已经深深的可在了我的脑海里,还有同过这些个程序的编写,让我对以前有的丝丝而非的地放完全通透理解,获益匪浅。
循环结构:while、do-while、for
在循环这一节里,我们主要做了以下程序:
(1)、求200-300之间所有素数,每5个换行。
(2)、猜数字游戏。规则为:输入一个0-10之间的数字,有5次猜测机会。如果输入0-4之间的数字,提示“太小了”;如果输入5-7之间的数字,提示“接近了”;如果输入9-15之间的数字,提示“太大了”;如果输入8,提示“correct!”;如果次数超过5次,提示“没有机会了,退出!”。
(3)、打印输出如下图形:(“◇”菱形)
(4)、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
提示:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
(5)、打印输出九九乘法表。
我以前就对循环这一节里的内容就理解的比较好,现在做这些题很顺利的就做下去了,但在做的同是也会出现以写小的问题,但这个让我也更深一步的理解了循环语句的用法、思路以及其中的精华。
总的对这一节来说,使自己更神一步的理解了选择、过程中需要注意的一些细节问题。
第四版块:
1、一、二维数组的定义、引用及初始化。初始化:
一维数组:初始化赋值的一般形式为: static 式]={值,值值}; 其中static表示是静态存储类型,态存储数组和外部存储数组才可作初始化赋值二维数组:
a.可以只对部分元素赋初值,未赋初值的元素自动取b.如对全部元素赋初值,则第一维的长度可以不给出。2、一、二维数组的应用。
在一维数组的应用中,要与循环嵌套使用,用,但是在这里,嵌套还要是循环的嵌套,因为只有这样使用才可以使程序更加简洁、简便。就像第五题:有一个班4个学生,(1)求每一门课程的平均分; (2)求每一个学生的平均分;
思路:定义一个二维数组,用二重循环输入这个数组,然后进行相加,在求平均直,最后在用二重循环进行输出。
循环的用法以及在使用类型说明符 数组名[常量表达 C语言规定只有静0值。 门课。编程实现如下功能:
在这里,进行了求平均值的过二维数组要与也要与循环嵌套使5程。这里进行了二重循环输出。
第五版块:
1、函数的定义和调用
函数可分为库函数和用户定义函数两种。
(1)库函数
库函数只不需要用户自己定义的,只需要在用的时候将其调用出来用就可以了,非常方便,并且C语言有这丰富的函数库。
(2)用户定义函数
用户自己定义的函数,是属于一个自定义范畴,自己定义的函数不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
2、函数参数和函数值
(1)无 参函数
函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
(2)有参函数
也称 为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数(简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。
(1)有返回值函数
此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。
(2)无返回值函数
此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”, 空类 型符的类型说明为“void”。
2、函数的嵌套调用和递归调用
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。 但是C语言允许在一个函数的定义中出现对另一个函数的调用。 这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。
这以小节内容经过几个练习题的联系,让我掌握到了其中的主要部分,对此也比较的明确。
4、局部变量和全局变量及变量的存储类别
局部变量:局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。
全局变量:全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。
在C语言中,对变量的存储类型说明有以下四种:auto 自动变量 register 寄存器变量 extern 外部变量 static 静态变量
在局部变量中所定义的变量,只能在该函数中使用,在函数编辑时,预处理命令下定义的变量属于全局变量,在每个函数中都可以使用,传递参数时,不用传递全局变量。
在这里,我主要说的是第二个练习题,它的思想是一个加密算法。思路是:现编写一个主程序,实现函数调用,在子函数中实现加密算法并且输出。是将接收的值设置为一个全局变量。就像下面的这个例子:在这里,将所输入的值进行分解成个、十、百、千位,分别进行加密算法。
加上与第四位对调,第三位与第二位对调。在最后输出结果。 第六版块:
1、指针、指针变量的概念
指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 并且在使用函数在输入
除以8以后的余数,在将第一位 一般把 在第二章中已有详细的介 根据一个内
既然在这里进行加密算法,每位上的数6
根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。“指针变量”是指取值为地址的变量
2、数组的指针
一个数组是由连续的一块内存单元组成的。 数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量) 组成的。每个数组元素按其类型不同占有几个连续的内存单元。 一个数组元素的首地址也是指它所占有的几个内存单元的首地址。 一个指针变量既可以指向一个数组,也可以指向一个数组元素, 可把数组名或第一个元素的地址赋予它。如要使指针变量指向第i个元素可以把i元素的首地址赋予它或把数组名加3、指向字符串的指针 返回指针的函数(1)、字符串指针变量本身是一个变量,串本身是存放在以该首地址为首的一块连续的内存空间中并以‘结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。(2)、对字符数组作初始化赋值,必须采用外部类型或静态类型,串指针变量则无此限制;
(3)、对字符串指针方式 char *ps=“C Language”;ps=“C Language”;而对数组方式:static char st[]={“C Language”}char st[20]; st={“C Language”};而只能对字符数组的各元素逐个赋值。3、指针数组及指向指针的指针
指针数组的说明与使用一个数组的元素值为指针则是指针数组。是一组有序的指针的集合。 指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。
指针数组说明的一般形式为: 类型说明符在指针这一小节,主要是用指针实现:输入数对换,把最大的数与最后一个数对换。写3个函数:输入个数。
在这里进行函数的调用,一个输入函数,一个操作函数,一个输出函数。
i赋予它。
而字符’作为串的
而对字符可以写为: char *ps; 不能写为:
指针数组*数组名[数组长度]
10个整数,将其中最小的数与第一个
10个数;进行处理;输出10
用于存放字符串的首地址。在这里用数组实现了输入。
在这里用指针实现了将最小的数与第一个数对换,
把最大的数与最后一个数对换。
在最后进行输出。 第七版块:
实训七属于一个综合类型的题目,他要求的比较高,必须在自己王权理解通透了课本知识以后才有可能理解这道题,并且进行修改完善。主要这道题本身是在VC环境下运行的,将其移植到Turbo C环境下运行,这其中牵扯到一些语法不同,在Turbo C中不可以运行,要进行慢慢调试。经过不懈的努力、修改,终于将其成功的在Turbo C环境下可以正常运行了。(详见附录)
五、结论 收获
我的收获:在本次实习中,我学到了很多实际有用的东西,而且基本上都是在课本上学不到的,并且也在实习中梳理了自己对C语言这门课程所学的所有内容,让自己对C这门课程有了更进一步的认识,有了一个良好的基础,为自己的以后打下了坚实基础。从开头到现在,所有的内容实习完了,上机实验是学习程序设计语言必不可少的实践环节,在 C语言灵活、简洁中,更需要通过编程的实践来真正掌握它。
历时4天的《C语言程序设计》已经结束了,在这几天编程的过程中感触颇多,实训编程的同时暴露出了许多我自身存在的问题,同时也对自身有了很大的提高。
首先,对我以前做题做事非常马虎的毛病有了很大的改进,通过在这几天编程的过程中的锻炼,我现在做题比以前仔细多了,会小心翼翼地去看每一个地方,会仔细地检查程序的每一个字母、标点,以及每个可能出错的地方,更会特别仔细,生怕自己一不小心搞错了,而导致整个程序都无法运行。
其次,在编程的过程当中弥补了我许多知识上的缺陷,弄清楚了我不懂的地方和似是而非的地方,使我及时补上了欠缺,为自己以后的人生道路打下了良好基础,同时也让我对每一件事都有了一个好的心态去对待它,更让自己在编写程序的过程中每时每刻都处于充足的状态。
再次,通过几天综合实训编程使我的知识形成了一个完整的框架结构,而不再是零散的知识个体,使我在使用时更加的方便,更加灵活,以前有好多题目要写十行八行的,还有些地方弄得不是太懂,现在只需要五六行就可以搞定,而且还对于思路特别清晰、明确。
第四,在实习结束后,我对做完的习题检查比再是一切的走马观花,而是仔细核对、认真检查,和以前相比明显改善了好多,以前自己对于检查程序总是没有耐心,不好好检查,有问题总是找老师,相对于实习之后来说,有了很大的改善,自己不但可以坐下来耐心检查,还能够自己将程序调试成功,这对于现在的我来说是一个明显的进步。
第五,通过实习改变了我做题时心烦气燥的习惯,现在做题可以平和静气的完成。
第六,通过实习我的自制能力更强了,基本完全可以控制自己,避免外界的干扰,安心地完成自己的工作。
第七,在学习过程中,由于天气炎热,心里烦躁,同时也是每天都盯着频幕看,脑袋都看大了,但是我却一直坚持了下来,这对于我来说,也是一个非常好的习惯。这同时也是我的一个收获。
第八,实训过程中,充分发挥团队协作精神,共同进步,帮助同学顺利完成实训课程,有困难一起解决,同时也使我在他们身上学到了很多东西。
总之,通过实习使我自身的知识体系得到巩固、提高以及使团队工作的能力得到锻炼。
不足
我的不足:
首先,我的第一个,同时也是一个最大的缺点,自己对于理论知识掌握的还不是很通透,理解的不够彻底,对于一些问题似似而非,给自己编写程序的过程中带来了很大的麻烦。
其次,我不能够精心的去完成每一个程序,对于每个程序而言,都是马马虎虎,只要运行结果是对的,那就可以了。虽然我自己也知道这样是不好的,但是自己就是不愿意去改,在经过实习之后虽然有所改善,但在我看来,改进的不是很大。
第三,自己做题时还有些马虎,一些小的细节在编写程序过程中不注意,只有在编译连接是才可以发现、对其进行修改,对于一些小程序还不能实现一次就可以完成编译连接。
第四,做题时自己不能心平气和的去做。
第五,自己的子宅里不够强,不能持之以恒的坐在自己的座位上编写程序,
歇一会就要起来转转。
六、致谢
在此,我仅代表我自己,对老师您致以崇高的敬意和深深的感谢,没有您,就没有我那么多的收获,您不辞辛苦,在这炎热天气里,放弃您的休息时间来为我们辅导,在辅导过程中,您更是尽心尽力,从来没有少过一节课,更没有过迟到早退,对我们是全程陪同,在我们实习中随时出现问题,随时解决。只要发现问题,您从来没有说是不管过,从来没有烦躁过,对我们提出的问题,也是耐心解决,一边不懂,接着再讲一边,脸庞流下的汗水,您却从来没有在意过。对我们泥更是不计报酬的为我们服务,让我们有一个好的学习环境,不用为自己遇到问题而烦恼,在这里我想对您说一声:老师,您辛苦了!请接受您的学子的深深谢意与感激。
在这里,也对学校表示由衷的谢意,感谢学校为我们提供了良好的实习环境,让我们在这炎热的天气里,能够舒爽的坐在教室里实习,而不用操心任何问题,在这里,对我们学校表示谢意。
篇2:c语言实践报告总结
1、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值。
2、其他不频繁调用到和对运算速度要求不高的变量都放到xdata区。
3、常量放到code区,如字库、修正系数。
4、逻辑标志变量可以定义到bdata中。
在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量。这样可以大大降低内存占用空间。定义方法是: bdata bit LedState;但位类型不能用在数组和结构体中。
5、data区内最好放局部变量。
因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率。当然静态局部变量除外,其内存使用方式与全局变量相同;
6、确保程序中没有未调用的函数。
在Keil C里遇到未调用函数,编译器就将其认为可能是中断函数。函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。这一点Keil做得很愚蠢,但也没办法。
7、如果想节省data空间就必须用large模式。
将未定义内存位置的变量全放到xdata区。当然最好对所有变量都要指定内存类型。
8、使用指针时,要指定指针指向的内存类型。
在C51中未定义指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。如指针p是指向data区,则应定义为: char data *p;。还可指定指针本身的存放内存类型,如:char data * xdata p;。其含义是指针p指向data区变量,而其本身存放在xdata区。
以前没搞过C51,大学时代跟单片机老师的时候也是捣鼓下汇编,现在重新搞单片机,因为手头资料不多,找到一些C51的程序,发现里面有这些关键字,不甚明了,没办法只好找了下,发现如下描述:
从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。
9、在51系列中data,idata,xdata,pdata的区别
data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
篇3:c语言实践报告
在科技高速发展的今天,计算机互联网在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1、加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
2、熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓“;环境”;就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3、学习上机调试程序
完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
篇4:c语言实践报告
做完这个课程设计,我们的自信一下子提高了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。
篇5:C语言学习实践报告
C语言学习实践报告
在科技高速发展的今天,计算机互联网在人们之中的作用越来越突出,而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的'机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:
1、加深对课堂讲授内容的理解
课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
2、熟悉程序开发环境、学习计算机系统的操作方法
一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓“;环境”;就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作,
通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
3、学习上机调试程序
完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你肯努力,任何东西都不会太难。相信自己,有志者,事竟成。
阅读更多:
假期大润发卖糖社会实践报告
志愿者服务实践报告
企业经营管理实践报告报告
大学生外贸公司社会实践报告
篇6:c语言实践报告模型
C语言实践报告模式一:在科学技术飞速发展的今天,计算机互联网在人们当中的作用越来越突出。作为一种计算机语言,学习C语言有助于我们更好地理解计算机和与计算机交流。因此,学习C语言对我们来说尤为重要。
本周,我们的专业学生在专业教师的领导下进行了C语言程序的实践学习。在此之前,我们学习了一个学期的C语言课程,对它有了一定的了解,但是仅仅停留在了解的范围内,对里面的很多东西还是不熟悉,使用起来还是觉得很吃力。毕竟万事开头难。
除了课堂教学,学习C语言编程必须保证不少于课堂教学时数。由于课时有限,课程中无法安排太多的统一计算机实验。因此,希望学生能够有效利用课程中计算机实验的机会,尽快掌握用C语言开发程序的能力,为以后的进一步学习打下良好的基础。为此,我们根据课堂教学的内容和进度,在计算机上安排了12个实验。课程的计算机实验的目的不仅是为了验证教材和讲课的内容,也是为了检查自己编写的程序是否正确。课程安排的计算机实验的目的可以概括如下:
1、加深对课堂教学内容的理解
很多关于C语言的语法规则都要在课堂上教,听起来很枯燥,很难记。死记硬背是不可取的。但是,要把C语言作为解决实际问题的工具,就必须掌握它。通过多次计算机练习,对语法知识有了感性的认识,加深了对它的理解,在理解的基础上自然掌握了C语言的语法规则。我想我在课堂上已经理解了一些内容,但是在计算机实践中会发现与原来理解的偏差,这是因为大多数学生对编程是新的,缺乏编程实践。
2.熟悉程序开发环境,学习如何操作计算机系统
一个C语言程序只能在一定的外部操作环境下进行编辑、编译、连接和运行。所谓的”;环境”;它是所使用的计算机系统的硬件和软件条件。只有学会使用这些环境,才能进行程序开发工作。通过计算机实验,熟练掌握C语言开发环境,为以后写计算机程序解决实际问题打下基础。同时,未来遇到其他开发环境时,我们会很快学会新系统的使用。
3.在电脑上学习调试程序
完成计划并不意味着一切都会好的。如果你认为程序是万无一失的,那么在电脑上运行可能会有麻烦。如果编译器检测到很多错误。有时候程序可以流畅运行,没有语法错误,但是运行结果明显是错误的。开发环境提供的编译系统无法发现这类程序逻辑错误,只能根据自己的计算机经验来分析判断错误。调试程序是一项技术含量很高的工作,对于初学者来说,尽快掌握调试方法是非常重要的。有时候,一个消耗你几个小时时间的小错误,调试大师一眼就能看出来。
c语言实践报告模式二:完成这个课程设计后,我们的自信心突然提高了;虽然这个程序对某些人来说会很简单,但对我们C语言初学者来说就不容易了。这次经历增强了我们对计算机未来研究的信心。享受劳动果实真是太棒了!虽然在电脑上做程序的时候有点累,有点热,但是看到劳动成果的时候,心里真的有种特别的滋味!世上无难事,只怕有心人。这个节目最大的收获就是感受到了集体的力量,当然个人的智慧也很重要!
忙碌了一个多星期,在大家的共同努力下,我们终于设计出了这个节目。虽然不是自己完成的,但还是很开心,因为在设计的过程中,我了解到为了设计一个程序,搜索数据是很重要的。在别人的基础上,根据我所学的进行修改调试,最终设计出我想要的程序。这个过程很艰难,但只要你持之以恒,成功就在眼前。
另外,平时扎实的基础也很关键,因为平时学不好,面对这么难的程序可能会气馁,很难看别人的程序,更别说自己设计了。要解决这个问题。班级问题,最好多问问同学和老师,不要怕尴尬。
C语言课程设计与现代计算机技术的实际应用相结合,是对我们现阶段学完理论课后在这方面能力的一个很好的考验。从最初的算法思路到漂亮的图形界面和调试后令人兴奋的可用程序,是一个很好的学习和训练过程。它使我们能够通过灵活应用和结合所学的知识和技能,巩固原有的理论知识,培养分析和解决实际问题的能力。让我们意识到我们的知识和能力可以在实践中得到应用和发挥。它不仅可以激发创新意识,还可以培养创新能力和沟通能力。虽然实习只有一个星期,但是真的让我受益匪浅。通过实践,丰富了自己的计算机操作经验,加深了对C语言的理解,熟悉了它的环境,增强了自己使用Turbo C的技能。
21世纪是计算机的世纪,是全新的世纪。电脑正逐渐侵入我们的生活。刚接触电脑的时候,觉得很新奇。当时觉得电脑很神秘,就有了以后熟练掌握电脑的想法。大学的教育模式与中学有很大的不同,从普通的课程安排和教学中就可以知道,但自主完成课程设计和论文写作的任务,无疑是对我们的巨大挑战
总之,这个设计方案让我受益匪浅,我会珍惜这个难得的机会。
篇7:c语言实践报告模型
(1)掌握结构化编程的基本方法和面向对象编程的基本思想和方法。
(2)掌握c的基本概念和基础知识。
(3)通过训练,能读懂复杂的C语言源程序,具备基本的C语言编程能力。
(4)掌握常用类的定义、继承和文件应用,为更好的理解面向对象打下更好的基础。
(5)通过实践训练,培养自己编写、调试、分析大型应用的能力。
(6)掌握面向对象的基本原理,提高学生的综合编程能力。
(7)培养独立解决问题和发现数据的能力。互相帮助、沟通和合作的团队精神。
(8)培养自己良好的学习兴趣和独立编程风格。
(9)通过实训,检查自己的学习不足,掌握C语言的基础知识和技能。
(10)《C语言程序设计》是计算机专业的一门重要课程。c语言功能丰富,表达能力强,使用灵活方便,可以编写实际应用软件。
(11)灵活运用C语言编程,巩固语句、变量定义、输入、输出、结构、指针、文件操作等概念和方法。
(12)提高调试程序的技能和编写软件的能力。学会编写结构清晰、风格良好、数据结构合适的C语言程序,从而具备解决综合实际问题的能力。
二、课程设计题目:学生成绩管理系统
三.课程设计报告的内容
1.学生成绩数据包括:学生人数、姓名、语言、数学、英语、总分2。使用结构数组存储学生成绩。
Typedef结构stud /学生成绩数据结构/
{ char id[10];
字符名称[20];
虞雯国际机场;
Int shuxue
在于颖
Int totalscore
} stud
学习科学;/学生成绩数组/
#定义N 60
3.实现功能:
输入数据
删除的数据
查询数据
更新数据
可视数据
数据可以保存在文件中
可以从文件中读取数据
有命令菜单提示
4.编写的程序要求功能齐全,用户界面友好,程序运行可靠。
5.设计步骤
(1)需求分析:了解基本原理,确定软件的基本功能,查找相关信息;
(2)总体设计:确定软件的总体结构、模块关系和总体流程;
(3)详细设计:确定模块的内部流程和实现算法。
(4)计算机编码和调试;
(5)用实际数据运行测试。
6.命名每个功能模块和功能
7.各功能模块介绍:
(1).输入结果
指定班级名称和学期
输入几条记录
添加到指定等级文件的末尾
(2).删除一个同学的成绩信息
指定班级名称和学期
输入学生的学号
打开班级和学期的成绩文件,读取所有数据,找到指定学号的成绩记录,如果找到则删除记录,将所有数据写回原始数据成绩文件
(3).查询学生的成绩
指定班级名称和学期
输入学生的学号
打开班级和学期的成绩档案,读取所有数据,找到指定学号的成绩记录并显示记录
(4).修改学生的成绩
指定班级名称和学期
输入学生的学号
打开班级和学期的成绩档案,读入所有数据,找到指定学号的成绩记录,找到记录输入正确的学生成绩
将所有数据写回原始数据分数文件
(5).退出系统
8.工艺流程
四.摘要
学生成绩管理系统的编写看似杂乱无章,其实不然。它的每个功能都可以分为模块。俗话说,大事小,小事小。c语言编程也是官方的情况,把一个大的程序分成几个独立的模块,这样每个模块的工作就变得简单明了,既降低了难度,又使思路清晰,很容易写出要做的程序,从而为设计一些更大的软件打下了良好的基础。
分析问题:
学生成绩管理的总体功能包括数据输入、数据删除、数据查询、数据修改和数据显示
五大板块。
设计的`数据对象包括塑形:各科成绩的人物类型和总分:姓名和学号。程序的编译和运行:
(1)发现错误是件麻烦的事,但要注意技巧,注意平时的经验
的积累。为了在最快的时间内找出错误
(2)用心去寻找。也许你会发现,错误并不难发现。
(3)如果程序编译成功,不要满足现状,要积极测试程序的可用性,积极改进和完善功能和缺点不尽人意的地方。
动词(verb的缩写)经历和感受
一周的C语言训练,虽然时间有点仓促,但是教会了我很多实用的技巧!
首先,实训的第一步是写一个功能单一的小程序。虽然是小程序,但是用到的知识是我们这学期学到的关键知识。做题过程中,让我们复习知识,强化知识!
其次,这项工作中遇到的问题在实际训练中已经有所触及,所以我们都很清楚这些问题的要求和算法。正因为如此,在编写小程序时,速度更快,算法更简单,操作更准确。我理解很多编程问题要写很多遍,修改很多遍,调试很多遍才能得到最简单的算法。
第三,我们平时学习C语言是为了考试或者做一些比较常规的题,但是这个训练给了我们把所学应用到解决实际问题的机会,让人更有激情。这是写软件的雏形,也让我们感受到了写软件程序的乐趣。但不仅如此,更重要的是,在应用所学知识的过程中,记住这些知识,广泛应用!
虽然我这次在写一个菜单程序,但是如果注意的话,我们身边有很多内置程序的电子设备。我们也可以在这种专门的训练之后,自行确定其他题目来写程序,可以加深和丰富我们的知识!
这次训练对我来说似乎是一次很大的考验。节目正在不慌不忙地进行。根据我自己的进度,提前完成是没问题的,但是很多客观条件让我不得不在最后一次交作业。每次写完程序,写的文件都因为每台电脑识别格式不同而一次次损坏。即便如此,我还是没有放弃,终于在截止日期前交了作业!
这一次写大作业的程序,让我觉得学习程序可以锻炼缜密的思维。因为平时练习小程序,所以句子少,有些错误很容易查出来。不过这次培训是几百句,比较难查,而且我好像也没有怎么查的经验。那一刻,我感到很焦虑,但我不知道该怎么办,但我没有轻易问老师。因为看起来挺简单的,我相信我能查出来,所以我一般都是独立完成,只有少数是在老师同学的讨论下完成的。
在编写程序时,决定成败的是细节,因为无论程序有多少条语句,只要有一条语句或语法不正确,程序就无法得到所需的结果。没有让自己写的程序等待想要的结果,说明它是一个不尽人意的程序,但对于这种写来说,它就是一个失败。
在训练的过程中,我把自己训练的很好,首先是兴趣方面。通过编写通讯录管理系统,我更喜欢编程,把我从以前的困惑中解放出来,让我明白了编程的真谛。我想这对我以后的生活会有很大的帮助。其次,通过写通讯录管理系统,对写程序有了一定的想法,让我明白了算法的意义和模块化的好处。
通过一周的编码,我对书本上的知识有了更深的理解,甚至很多我不理解的问题,在这个过程中自然也就明白了。对期末考试更有信心。在黄爽的悉心指导下,我对C语言有了更深的理解,大大提高了程序算法、数据定义和程序纠错的能力,大大增加了我对编程的注意力、耐心和兴趣,受益匪浅。
篇8:C语言总结
C语言总结
1.C语言程序的基本结构1.1添加stdio.h的引用
1.2添加一个main函数
1.3main函数的形式应该是
void main
{
}
2.C语言程序的编译运行过程
2.1编写源代码(CPU是不能直接执行C语言的)
2.2编译:将C语言的源代码翻译为机器语言的源代码
编译完成的结果一般是个exe文件
2.3运行:在DOS命令行中直接写exe文件的名称,就可以直接运行C语言编写的程序(exe)。
3.数据类型
数据类型的定义:存放数据的容器。
基础的数据类型有:
int:整型,一般的会占4个字节,32位
float:浮点类型(单精度),一般的会占4个字节,32位 存储的数据应该是带小数的数据 1.2 13.5 7.0
char:字符类型,一般的会占1个字节,8位,会存储单个字符。A,B,a,b,.,+,-,(,), ’A’,’X’,’\n’ ’\t’
扩展的数据类型:
long:长整型,存储的数据量要多一点 一般的应该是4个字节
short:短整型,一般的应该是2个字节
double:双精度的浮点类型,8个字节。
1.测量数据类型在内存中占多大的空间
使用sizeof运算符来测量
可以接受一个变量,也可以接受一个类型。
2.给变量赋值的时候,某种数据类型的常量
int:1,2,45 %d
long:12l %ld
short:12,23 %d
float:12.3f %f
double:12.3 %lf
char:’A’ %c
4.变量
4.1变量的定义:
定义完一个变量,没有初始化,这个时候变量中的值可能是一堆垃圾。如果要使用这种变量的话,那么必须对变量进行初始化过程:其实就是为变量赋值的过程。
变量的数据类型 变量的名称;
定义完一个变量,立即对这个变量用初始值给其进行初始化。
变量的数据类型 变量的名称=初始值;
定义变量必须在函数一开始。
int x;
x=123;
int y;//放在这个地方时错误的,应该放到和x变量定义一个地方。
4.2变量的使用
对于有累计过程的变量,必须对其进行初始化。
对于累加的变量应该初始化为0
对于累积的变量应该初始化为1
在程序运行的过程中可以对变量进行多次赋值。
变量可以在函数中定义:叫局部变量,只在当前定义的函数中使用,超出这个范围,将不再可用。
变量可以在函数外部定义:叫全局变量,在所有的函数中都可以使用
4.3变量的名称
变量的名称应该有明确的含义。
变量的名称应该采用英文单词的组合。
变量的名称如果采用了多个英文单词,那么第一个单词的首字符要小写,后续的单词的首字母要大写。这种命名方式叫骆驼命名法。
Pascal命名法:每个单词的首字母都必须大写。
Camel命名法:应用在局部变量中。
Pascal命名法:应用在全局变量,函数的名称。
应该类似于:userInput,computerNumber,compareResult
5.标识符:
变量的名称,函数的名称这些都叫标识符。
标识符的规范:
可以使用的字符:字母,数字,下划线。
对于标识符来说,第一个字符不能是数字,可以是字母或下划线。
一个标识符在同一个范围中只能应用在一个变量或一个函数名中。
变量名称的小规范:
i,j,k,m,n可以作为循环变量的名称。
x,y,z可以作为普通的变量使用。
除此之外,尽量不要使用单个字母来做变量的名称。
一般来说,变量的名称应该是一组名词的组合,修饰的词应该在变量名称的最前面。
函数名称:一般应该是动宾结构;动词+名词的形式。
GetUserInput()
GetMonthDays()
EatFood();
DrinkWater();
6.控制结构
总的控制结构有三种。
6.1顺序结构
一句接一句的顺序执行。
写在上面的语言应该先执行。
写在下面的语句应该后执行。
是使用最多的结构,因为顺序结构中没有关键字。
6.2分支结构
if else if
主要做范围匹配
if(条件表达式或者逻辑表达式)
因为条件表达式和逻辑表达式的结构都是真或假
对于if else if结构来说,一次只能匹配一个范围,只要有一个范围匹配成功,那么其他的分支将不会被执行。
分支结构可以嵌套。
switch case
主要做单值匹配
switch :需要匹配的变量的名称
case:单个值
default:啥都不写
break:是结束这个switch
switch后面的变量的数据类型应该是整型或字符类型,浮点类型不可以。
case:表明匹配上这个值应该做的工作。
case后面应该有个块。
在case块的最后,应该是break语句,用来跳出switch。
default:所有的case都没匹配上的时候,应该执行的语句块。default块中也应该有break。
当一个case块中没有任何内容的时候,可以不写break,那么这时候,将会匹配下一个case块中的内容。
switch case结构可以转换为if else if结构。
if else if不一定可以转换为switch case 结构
6.3循环结构
for循环
for(循环变量的初始化;循环执行的条件;循环变量变化的过程)//不能有分号
{
//循环体
//可能会执行多次
//循环执行的次数和for中的三个语句都有关系。
}
循环:
循环的种类:
1.确定次数的循环。
2.次数不确定,但是由程序来决定循环次数。
3.次数不确定,但是由用户来决定循环次数。
4.死循环。
循环的形式:
1.for(循环变量的初始化;循环执行的条件;循环变量变化的过程)
2.循环变量的初始化;while(循环执行的条件){循环变量变化的过程;}
3.循环变量的初始化;do while(循环执行的条件){循环变量变化的过程;}
数组:一组在内存中连续存放的变量的集合。
定义:
1.数组中元素的类型 数组的名称[数组的大小];
int ary[5];
2.数组中元素的类型 数组的名称[数组的大小]={数值1,数值2,.....};
大括号中的数值的个数,不能比数组的大小还多。
int ary[4]={1,2,3,4};
int ary[4]={1,2,3};
//错误的
int ary[4]={1,2,3,4,5};
3.数组中元素的类型 数组的名称[]={数值1,数值2,.....};
数组的大小是大括号中元素的个数。
使用:
1.赋值
数组的名称[数组元素的下标]=值;
数组元素的下标从0开始,到数组的`大小-1结束。
2.取值
变量的名称=数组的名称[数组元素的下标];
算法
1.查找(在数组中查找最大数)
首先假设数组中的第一个元素是最大的;
将数组中的其他元素挨个与最大数进行比较。
2.查找(在数组中查找指定的元素)
返回的结果是指定的元素在数组中的位置(下标或索引)
3.排序(冒泡)
核心思想:大数下沉,小数上浮。
需要用到循环嵌套
外层循环的次数是数组的大小-1轮。
里层循环的次数是数组的大小-1-轮索引
在里层循环中要做比较,比较完成后,需要做两个数的交换。
进制的转换
10-10
应用的算法是碾除法。
核心思想是:每次都取一个数的个位,直到原始数变成零,就结束了。
项目:证明6174。
1.拆分
2.排序
3.组最大数,组最小数
4.用最大数-最小数,查看差值是否是6174
5.如果不是,那么将差值重新作为新的可拆分的数,回到1.
函数:
程序执行过程中的特定功能的块。
printf()//stdio.h
main():必须有,且仅有一个。
自定义的函数:
按返回类型分:
1.没返回值的函数
返回类型一律是void
在调用的时候,不需要一个变量来接受函数的返回值。
2.有返回值的函数
返回类型是除void之外的其他的类型。
int Sum(int x,i 以用一个变量来接受函数的返回值。
按函数的参数来分:
1.有参数的函数
void Sum(int x,int y);
int Sum(int x,int y);
在调用的时候,必须传递参数。
2.无参数的函数
void main();
篇9:C语言见习报告
第1章目的任务
1.1实训目的
(1)巩固C语言所学基本课程;
(2)提高C语言编程的综合应用能力;
(3)学会软件开发的基本方法以及C语言程序的编译、调试方法。
1.2实训任务
(1)掌握C语言中的基本数据输入、输出;
(2)熟练掌握C语言中的三种基本结构的使用;
(3)熟练使用C语言中的数组;
(4)熟练使用C语言中的函数;
(5)熟练使用C语言中的指针;
(6)熟练使用C语言中的结构体。
第2章主程序子程序
2.1主函数main
main()函数是C程序的主函数,也是入口函数,所有C程序的执行都从main开始至main结束。主函数使用了do…while语句和switch语句,在主函数中定义一个变量k,通过输入k的值,实现输入、输出、修改、排序、查询函数的调用以及程序的退出。
2.2output
定义一个整型变量i,用for循环(i=0;i<=10;i++;p++)i=1时,输入第一个学生的学号、姓名、年龄、班级及三门课的成绩,然后进行i++第二个学生同时指针下移,直到i<10时,结束循环,换行,结束循环,1~10个学生的所有信息就全部输出循环。
2.3input
定义一个整型变量i。利用for循环(i=1;i<=10;i++;p++),当i=1时,输入第一个学生的学号、姓名、年龄、班级、及三门课的成绩,然后执行i++第二个学生的信息,同时指针下移,当输入第10个学生的信息完成时,结束循环循环结束调用输出函数output。
2.4xiugai
定义一个整型变量n,通过输入n的值,利用scanf对数据进行输入、printf对修改后的数据进行输出,使用指针实现对具体项目的输出。
2.5chaxun
定义一个整型变量n,利用指针。输入学生序号,在屏幕上输出相对应学生的信息。
2.6zongfen(平均分和总分)
利用for循环使用指针计算10名学生的总分和平均分。
2.7paixu
利用冒泡法通过for循环以及if条件语句实现对10名学生的总分按照从大到小的顺序排列,对于字符类数据利用strcpy函数调换其顺序。
第3章错误
1、学号的输出为乱码,原因:数据类型写为“%d”与定义类型不一致,将其改为“%s”。
2、在输入函数中出现警告:变量“j”在函数中定义但并未在input函数中使用,将“j”删除。
3、在input函数中出现语法错误,将输入法切换为英文输入状态输入“:”。
4、在input函数中不出现学生序号,在后面添加“i+1“。
5、在paixu中出现语法错误,将if((((q+i)->sum)<((q+j)->sum)))改为if(((q+i)->sum)<((q+j)->s
篇10:C语言见习报告
一、实习目的
1。掌握在集成环境中编辑、编译、连接和运行C程序的方法。
(1)运行TC
(2)启动TC集成环境,输入一个源程序,编译并运行。
2。掌握单步执行、设置/去除断点,观察变量或表达式的值。
(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。
(4)设置/去除断点,继续调试。
1、熟练掌握if.switch分支语句的使用。
2、熟练掌握for.while.do.while循环语句的使用。
3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。
4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
熟练掌握结构体和指针的综合应用链表的操作
二、实习地点
北京交通干部管理学院计算机系机房十三号.
三、实习成果
熟练掌握TC集成环境的使用方法。认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。熟练掌握并应用TC程序设计的各个知识点。掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。并通过各种途径查找所需资料,拓宽视野,培养自学能力。
四、实习心得
在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。老师安排我们有具有的分工:
首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。
然后同学们把自到自己的小组里,大家具体分工,你编这道题,我编这道题……我们不会的地方就去问学习比较好一些的同学,或者去问老师,老师和同学们总是那么的热心,只要你还不明白,不论你问多少次,老师和同学们都会耐心地给你细心的讲解,直到讲会为止。
最后我们把每天收获到的知识和心得都以实习日志的形式写好,最后交给老师。我们把自己的成果交给老师,就这样,这次实习圆满结束。
这次实习是有益的,它不仅让我们学习到了C语言的知识,更让我们学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。
篇11:C语言见习报告
题目:从键盘输入一组学生的姓名、课程、成绩,编写程序按从高到低的顺序对成绩排序,并能根据输入的姓名,显示该生的课程名称、成绩和名次。
1.2 实训目的
[参考本文档的说明,用一小段话说明小学期实训的目的]
第2章 设计说明
2.1 题目选择
[所选择的题目具体内容。]
2.2 业务分析
[用流程图描述业务流程,用文字说明流程以及数据结构的设计思路。]
第3章 系统设计
[要求在本章中给出类、属性、方法的设计结果,或函数、数据结构的设计结果,可结合源程序进行说明。]
3.1模块结构设计
[列出类命名、各属性和方法命名、类型等,或函数声明、数据类型定义等,并结合流程图说明各部分的关联关系]
3.2 主要程序源码
[此部分裂成主要的程序源码,并以文字说明各部分的关系。]
第4章 程序调试与运行
[此部分说明所使用的开发工具情况,以及对程序进行调试的方法和过程,要求以具体案例说明调试过程及结果。列出程序运行的输入数据及输出结果]
第5章 实训总结
[用简短文字说明此次综合实训的收获与体会。]
篇12:C语言实习报告
课题名称: 通讯录管理系统
专 业:计算机信息管理
班 级:09信管(1)班
学 号:
姓 名:
指导教师:
年 7 月 1 日
目 录
1 课程设计目的??????????????????? 1
2 课程设计题目??????????????????? 1
3 课程设计报告内容????????????????? 1
4 结论??????????????????????? 10
5 结束语?????????????????????? 10
6 参考书目????????????????????? 10
7 程序运行????????????????????? 10
8 附录:(源程序清单)???????????????? 12
一、课程设计题目
《通讯录管理系统》
二、实训目的
(1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。
(2)掌握C的基本概念和基础知识。
(3)通过训练能够读懂较为复杂的C语言源程序并具备基本C语言程序设计的能力。
(4)熟练掌握各种常用类的定义,继承,文件的应用,为更好的理解面向对象打下更好的基础。
(5)通过实训,培养自己编写、调试、分析大型应用程序的.能力。
(6)掌握面向对象的基本原理,提高学生综合程序设计的能力。
(7)培养自己独立解决问题,查找资料的能力。同学之间相互帮助,相互交流,相互合作的团队精神。
(8) 培养自己良好的学习兴趣,独立的编程风格。
(9) 通过实训检查自己学习上的不足,达到熟练掌握C语言的基本知识和技能。
三、课程设计报告内容
3.1功能要求
该系统运行在DOS环境下,人机界面为命令行文本界面。完成的任务是对若干人的通信录信息进行管理,且数据保存到文件中。
实现的主要功能是:
? 添加:增加一个或几个人的通信录信息。
? 删除:删除已输入的通信录信息。
? 查询:根据输入的姓名查找通信录信息。
? 修改:根据输入的姓名修改通信录信息。
? 显示:输出所有通信录信息。
3.2 设计环境
所使用的语言采用标准C,开发工具选用在Windows环境下的C-free、Win-TC或者Visual C++ 6.0。
3.3 数据结构
本系统是对通信录的信息进行管理,通信录记录的信息采用C的结构体数据类型描述,定义如下:
struct ren /*定义个人资料结构体类型*/
{
char name[10];/*姓名*/
int age; /*年龄*/
char tel[12]; /*电话号码*/
char city[20];/*城市 */
char units[30] ; /*所在单位*/
char note[20]; /*备注*/
};
3.4实现方法及主要算法分析
(1)主界面的设计:主界面采用文本菜单的形式,各功能调用通过菜单进行选择。采用循环处理,以便执行完某项处理后,仍可选择其他项处理。在循环内先显示提示信息,然后读取用户输入,使用switch语句对用户的输入进行判断,分别调用相应的模块,当某模块结束后再次回到文本菜单,直到用户选择结束程序菜单,才退出循环,从而退出系统。
(2) 外部文件的类型:文件采用的二进制的文件,对文件的读写采用顺序文件的方式,并使用fread和fwrite等函数对文件进行操作。
(3)清屏函数:一般由上一级菜单屏幕进入下一级菜单屏幕或由下一级菜单屏幕返回上一级菜单屏幕都需要清除屏幕原来显示的内容。同时在调用程序的过程中,记录需要清屏的位置,然后修改代码,加入clrscr函数清屏。
(4)提示信息:一般的输入与输出需有相应的提示信息,以增加用户的交互性,增加输出的可读性,以帮助用户使用程序。
(5)设置颜色:textbackground、textcolor()函数设置背景和前景颜色
(6)光标定位:gotoxy(列,行); 光标定位
3.5模块设计
根据功能要求,本系统为五大主要模块,具体模块如表所示。
表 通讯录管理管理系统的模块
3.6处理流程
篇13:C语言实习报告
C课程设计
一、课程设计目的
《C语言课程设计》是信息类专业的重要实践性课程。目的在于学习完《C语言程序设计》课程后进行的一次全面的综合练习。通过课程设计,一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列子项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。为后续课程:面向对象程序设计、Visual C++,数据结构,软件工程,软件技术基础等奠定必要的实践基础。
设计目的如下:
1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3、掌握C语言的编程技巧和上机调试程序的方法。
4、掌握程序设计中的常用算法。
二、课程设计题目及要求
1、基础训练题目
1.1基础
1.1.1写出下面程序的输出结果。
1)#include
main( )
{
int x;
x=-3+4*5-6;printf(“%d ”,x);
x=3+4%5-6; printf(“%d ”,x);
x=-3*4%4-6/5; printf(“%d ”,x);
x=(7+6)%5/2; printf(“%d ”,x);
}
2)# include
main()
{
int x=5;
int y=6;
int z=7;
printf(“ %d %d %d %d %d %d %d ”,x>y,y>x,x!=y,x==z-2,x=x-2,x>=z,x<=z);
}
3 ) #include
main()
{
int x=0,y=-1,z=1;
printf(“%d,%d,%d,%d,%d,%d”,x&&y,x||y,y&&z,y||z,x&y,x|y);
}
1.2顺序结构
1)已知三角形的底和高,求三角形的面积
法一、#include
main()
{
float a,b;
scanf(“a=%f,b=%f”,&a,&b);
printf(“MJ=%.2f”,(a*b)/2.0);
}
法二、#include
main()
{
float a,b,s;
scanf(“a=%f,b=%f”,&a,&b);
s=a*b/2;
printf(“s=%.1f”,s);
}
2)若已知某银行一年定期的存款年利率,输入存款额,计算三年后本利之和并输出。 年利率rate,存款期n,存款本金capital,本利之和deposit。
#include
#include
main()
{
int n=3;
double rate=0.02;
double capital;
double deposit;
printf(“Please ente capital:”);
scanf(“%lf”,&capital);
deposit=capital*pow(1+rate,n);
printf(“deposit=%.2f ”,deposit);
}
#define N 3 改4
#define RATE 0.02 改0..01
#include
#include
main()
{
double capital;
double deposit;
printf(“Please ente capital:”);
scanf(“%lf”,&capital);
deposit=capital*pow(1+RATE,N);
printf(“deposit=%.2f ”,deposit);
}
改
1.3选择结构
1)输入四个整数,要求按大小顺序输出
# include
main()
{
int a,b,c,d,t;
printf(“please input 四个整数 ”);
scanf(“%d%d%d%d ”,&a,&b,&c,&d);
if(a
{t=a;a=b;b=t;}
if(a {t=a;a=c;c=t;} if(a {t=a;a=d;d=t;} if(b {t=b;b=c;c=t;} if(b {t=b;b=d;d=t;} if(c {t=c;c=d;d=t;} printf(“%d %d %d%d ”,a,b,c,d); } # include main() { int a,b,c,d,t; printf(“please input 四个整数 ”); scanf(“%d%d%d%d ”,&a,&b,&c,&d); if(a {t=a;a=b;b=t;} if(a {t=a;a=c;c=t;} if(a {t=a;a=d;d=t;} if(b {t=b;b=c;c=t;} if(b {t=b;b=d;d=t;} if(c {t=c;c=d;d=t;} printf(“%d %d %d%d ”,a,b,c,d); getch(); } 2)编写程序实现:输入一个百分制成绩。要求书出成绩的等级‘A? ?B? ?C? ?D? ?E?,90分以上为 ?A?,81~89分为 ?B?,70~79为 ?C?,60~69为 ?D?,60分一下为 ?E?。 #include main() { int x; printf(“Please chengji: ”); scanf(“%d”,&x); if(x>=90) { printf(“A ”); 设计报告 一, 实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上机实习可以帮助我们更好地理解这种结构式的中级语言以及其各式各样的数据类型和高效率的运算程序,为我们进一步学习C++打下坚实基础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其他人容易犯的错误,从而在今后的学习中更加谨慎,达到事半功倍的效果;通过询问老师,也让我们养成了不耻下问的好习惯,这将很有利于以后的学习。 闲乐-一个人闲。不如大家一块儿乐/retype/zoom/9861aabdfd0a79563c1e72ad?pn=2&x=0&y=0&raww=312&rawh=443&o=jpg_6_0_______&type=pic&aimh=443&md5sum=5742db4fcffa47783d15ae929b606fc2&sign=17301cfe1e&zoom=&png=276-8578&jpg=0-25354“ target=”_blank“>点此查看 <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改for语言中的条件即可调试成功> 2,程序: #includeint main { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf(”从键盘输入10个学生成绩: “); for(i=0;i<10;i++)scanf(”%d“,&a[i]);//输入10个学生成绩 for(i=0;i<9;i++)for(j=0;j<9-i;j++) if(a[j] printf(”10个学生成绩数组: “); for(i=0;i<10;i++)printf(”%5d“,a[i]); printf(” “); printf(”再输入一个学生的成绩 “); scanf(”%d“,&b); //再输入一个学生的成绩c=a[9]; if(b printf(”11个学生成绩数组: “); for(i=0;i<11;i++) printf(”%5d“,a[i]);printf(” “); for(i=0;i<5;i++) {temp3=a[i];a[i]=a[10-i];a[10-i]=temp3; } printf(”排好序的成绩单进行反序存放为: “); for(i=0;i<11;i++) printf(”%5d“,a[i]);printf(” ");return 0; } 3,运行结果: //输入11个学生成绩 //排好序的成绩单进行反序存放 //输出反序存放后的学生成绩数组 在刚开始学习C语言的一段时间里,我总觉得C语言难懂和不容易使用。现在总结起来主要是以下三个方面的原因! (1)只注重写程序,而忽视了读程序 学习计算机语言最好的方法是什么?很多人都认为是掌握程序思路会写程序,其实这个想法不正确,因为你连这门语言的思路都没有懂,怎么会写出真确的程序呢,所以我总结的方法是先读后写,也就是先学会读程序,再练习写程序。 读程序是学习C语言入门最快,也是最好的方法。对于没有学过任何语言的计算机初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,不放过这一章所提到的所有例题,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例题相似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,也不要着急,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你熟练掌握为止。这是传智的尹凡老师一再强调的。在学习C语言时应该把精力先放在最基本、最常用的内容上,千万不要钻牛角尖,在一些细节上死抠,有一些细节可以随着学习的深入和实践的丰富,会自然而然的掌握的。 (2)没能将理论学习和上机实践有效结合 我们学习C语言,主要是掌握程序设计的一些基本方法和技巧。因此,在重视理论学习的同时,必须加强上机实验。只有在上机实践中我们才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识;同样只有通过上机实践,我们才能真正体会C程序的运行过程! 然而在平时,我们恰恰就忽视了上机实验没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。 (3)缺少一定逻辑思维能力 C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。 通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,那么如何来有效的锻炼自己的抽象逻辑思维能力呢?我的学习体会是:通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。 还需注意的就是自己实在无法理解的地方不妨指出来多多请教老师和懂的同学让他们用自然语言来描述一道,并且记录下来这样可以达到事半功倍的效果。对一个计算机程序设计的初学者来说,C语言程序设计是一门基础课,学好它是为以后在学习其他高级言(如JAVA等)打下良好基础。上个学期我对《C程序设计》这本书从陌生、好奇到有兴趣。第一次触C语言的感觉直到现在还记忆犹新,当初的我看到的就是一个个的程序,其中的代码密密麻麻都是那么的繁琐,也很难看懂学懂。如今我对C语言有了一定的了解,对其中的小程序能独立编程,对一些较为复杂的程序能够看懂,并且可以仿造经典程序,构思、编写出能够解决小问题的程序了,我对C语言充满了信心。我想这与传智的尹凡老师的精心指导和同班同学相互学习和鼓励是分不开的。 我觉得入门还是多看些书,多实践,养成良好的编程习惯,在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者说模仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。 一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能! 首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识! 其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。 再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用! 虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富! 这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业! 这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。 在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。 1.汉语言文学专业实习总结 2.2017年汉语言文学专业实习生总结 3.实习护士实习总结 4.实习小组教育实习总结 5.教育实习个人实习总结 6.教育实习小组实习总结 7.实习记者实习总结 8.实习组教育实习总结 9.校实习生实习总结 10.护理实习生实习总结 【c语言实践报告总结(共16篇)】相关文章: 小课题个案研究报告2022-08-03 述职报告的基本写作方法的内容2023-03-06 事务性通知范文100字2022-09-13 学生小课题研究报告2023-12-14 什么是月度述职报告2022-06-23 关于培养小学生语文积累能力探索课题开题报告2022-05-06 小学语文开题报告2024-04-30 课题研究方案怎么写(范本)2022-11-19 应用文写作总结怎么写2023-11-02 科研课题结题报告2023-05-02篇14:C语言实习报告
篇15:c语言心得总结
篇16:c语言实习总结