c语言实践报告总结2篇.docx_第1页
c语言实践报告总结2篇.docx_第2页
c语言实践报告总结2篇.docx_第3页
c语言实践报告总结2篇.docx_第4页
c语言实践报告总结2篇.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c 语言实践报告总结 2 篇 一、实习时间: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 的运行环境,客户 应在机子 上建立自己的工作目录,一边用来存放自己所需要开 发的源程序文件。下面就是建立怎样自己文件夹,在空白 区域内输入自己所建立的文件夹路径即可。 2、C 程序的编辑、编译、连接和运行过程。 掌握 C 程序的运行步骤,初步了解 C 程序的特点。在 Turbo C 的运行中,快捷键使用非常方便,只需 Ctrl+菜单 栏中菜单名的首字母即可。 上面是一个程序编译与链接的截屏。第一个 Compile to OBJ 将源程序编译为 OBJ 文件,Make EXE file 编译连 接一次进行,Link EXE file 将 OBJ 文件连接为 EXE 文件。 3、环境的熟悉,自己按照软件并在软件中能够调试简 单的 C 语言程序。 第二版块: 1、C 语言数据类型:整型、实型、字符型。 C 语言的函数类型非常丰富,除了这几类以外,还有实 型、数组、指针、结构体等,在这一小节中,主要了解关 于数据类型的定义、用法以及他们的存储类型,一边与以 后灵活运用。 C 语言中还有常量与变量之分,常量是在程序执行过程 中其值不变的量。二且在 C 语言中常量不需要类型说明就 可以直接使用,常量的类型是由常量的本身隐含决定的。 2、运算符及表达式。 在 C 语言中,预算符非常丰富运算灵活,常用的有以 下几个: (1)算术运算符:+、-、*、/、%(取余)及+(自增)、- -(自减)。 (在这里需要注意的是:“/”运算符,在 C 语言中两 边都是整数的话,运算结果只取整数部分;“%”他的两边 都必须是整数才可以运行;“*、-”运用这个运算符时要 注意“先用后加(减)、先加(减)后用”的问题) (2)赋值运算符:=及复合赋值运算符(+=、- =、*=、/=、%=等)。 (在这里需要注意的是“=、=”的区别,要明确用法 及所用的地方, “=”它的作用是赋值, “=”它的作用是判 断相等) (3)逗号运算符:,(对于逗号表达式索要注意的是要明 确它所用的地方以及在使用时所要注意的细节)。 了解三种运算符的优先级,掌握三种运算符及相应表 达式的应用(详见附录)。 第三版块:在这一节里,我们实习了 C 语言的三大结 构: 1、顺序结构: 2、选择结构:ifelse,switch 语句。 在这里许啊哟我们学习的很多,因为只要是程序,就 脱离不了这个三大结构的范畴。在这个学习里我编写了 (1)、输入某年某月某日,判断这一天是这一年的第几 天?。 (2)、给一个不多于 5 位的正整数,要求:一、求它是 几位数,二、逆序打印出各位数字。 (3)、某市不同车牌的出租车 3 公里的起步价和计费分 别为:夏利 7 元,3 公里以外,元/公里;富康 8 元,3 公里 以外,元/公里;桑塔纳 9 元,3 公里以外,元/公里。编程: 从键盘输入乘车的车型及行车公里数,输出应付工资。 源程序减附录; 经过这几个程序的练习,让我聊股的掌握了选择语句 的用法以及精髓,同是这个用法和技巧已经深深的可在了 我的脑海里,还有同过这些个程序的编写,让我对以前有 的丝丝而非的地放完全通透理解,获益匪浅。 循环结构: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 Language“char st; st=“C Language“;而只能对字符数 组的各元素逐个赋值。3、指针数组及指向指针的指针 指针数组的说明与使用一个数组的元素值为指针则是 指针数组。是一组有序的指针的集合。 指针数组的所有元 素都必须是具有相同存储类型和指向相同数据类型的指针 变量。 指针数组说明的一般形式为: 类型说明符在指针这一 小节,主要是用指针实现:输入数对换,把最大的数与最 后一个数对换。写 3 个函数:输入个数。 在这里进行函数的调用,一个输入函数,一个操作函 数,一个输出函数。 i 赋予它。 而字符作为串的 而对字符可以写为: char *ps; 不能写为: 指针数组*数组名 10 个整数,将其中最小的数与第一个 10 个数;进行处理;输出 10 用于存放字符串的首地址。在这里用数组实现了输入。 在这里用指针实现了将最小的数与第一个数对换, 把最大的数与最后一个数对换。 在最后进行输出。 第七版块: 实训七属于一个综合类型的题目,他要求的比较高, 必须在自己王权理解通透了课本知识以后才有可能理解这 道题,并且进行修改完善。主要这道题本身是在 VC 环境下 运行的,将其移植到 Turbo C 环境下运行,这其中牵扯到 一些语法不同,在 Turbo C 中不可以运行,要进行慢慢调 试。经过不懈的努力、修改,终于将其成功的在 Turbo C 环境下可以正常运行了。(详见附录) 五、结论 收获 我的收获:在本次实习中,我学到了很多实际有用的 东西,而且基本上都是在课本上学不到的,并且也在实习 中梳理了自己对 C 语言这门课程所学的所有内容,让自己 对 C 这门课程有了更进一步的认识,有了一个良好的基础, 为自己的以后打下了坚实基础。从开头到现在,所有的内 容实习完了,上机实验是学习程序设计语言必不可少的实 践环节,在 C 语言灵活、简洁中,更需要通过编程的实践 来真正掌握它。 历时 4 天的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 的程序,发现里面有这些关键字,不甚明了,没 办法只好找了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论