收藏 分享(赏)

c语言课程实习报告.doc

上传人:天天快乐 文档编号:1144342 上传时间:2018-06-15 格式:DOC 页数:12 大小:75.50KB
下载 相关 举报
c语言课程实习报告.doc_第1页
第1页 / 共12页
c语言课程实习报告.doc_第2页
第2页 / 共12页
c语言课程实习报告.doc_第3页
第3页 / 共12页
c语言课程实习报告.doc_第4页
第4页 / 共12页
c语言课程实习报告.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、1新疆农业职业技术学院 C 语言程序设计 教学实习报告部门:信息技术学院 专业: 计算机应用班级: 09 高职应用班姓名: 聂宇指导教师: 徐玉莲2C 语言程序设计教学实习报告09 高职应用班 聂宇一、实习时间:2010 年 6 月 21 日2010 年 6 月 25 日二、实习地点:第一微机室三、实习目的:1、熟悉我们自己所用的计算机的 C 语言开发环境,并且能够熟练掌握,达到错误能找到原因并且加以改正。2、加深对课本理论知识的理解,进一步掌握书中重点、难点实例,锻炼自己的编写程序能力和实际应用能力。3、上机调试程序的过程中,发现错误,解决错误,保证程序的正确运行,运行结果与给定结果完全相同

2、。4、学会用书中基本知识解决实际中的一些问题,将书本所学的内容与实际操作相结合,掌握把实际问题转变为 C 语言描述的算法的方法,明确思路。将自身的不足与缺陷改掉,养成良好编辑风格5、培养我们的主观能动性、沟通、表达能力和团队合作意识,为我们以后的发展打下基础。四、实习内容及方法:在本次实习中,我们采用了由浅及深、由易到难的实习方法,而且也是按照书本的教学进程内容进行的,同时采取了实际应用与理论相结合的方法,在机房里面实习,一边理解,思考做题的思路与解法,另一边就可以马上进行上机实际操作。这对于我们加深对 C 语言的理解、操作以及动手能力都有了很大的帮助与提高。实训的内容主要分为了七个版块:第一

3、版块:1、Turbo C 运行环境。了解 TC 的基本环境,熟悉常用菜单项和快捷键:在这一小节中,需要熟练的掌握并应用 Turbo C 的运行环境,和基本配置。Turbo C 是在计算机上广泛使用的一个 C 语言开发环境,它具有方便、直观、易用的界面和丰富的函数库。它把程序的编辑、编译、连接和运行等操作去不都集中在一个界面上进行,使用非常方便。并且 Turbo C 不需要特别安装,只需要将其拷贝到硬盘上就可以使用了。3为了方便管理用户的程序文件和维 Turbo C2.0 的运行环境,客户应在机子上建立自己的工作目录,一边用来存放自己所需要开发的源程序文件。下面就是建立怎样自己文件夹,在空白区域

4、内输入自己所建立的文件夹路径即可。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 语言的函数类型非常丰富,除了这

5、几类以外,还有实型、数组、指针、结构体等,在这一小节中,主要了解关于数据类型的定义、用法以及他们的存储类型,一边与以后灵活运用。C 语言中还有常量与变量之分,常量是在程序执行过程中其值不变的量。二且在 C 语言中常量不需要类型说明就可以直接使用,常量的类型是由常量的本身隐含决定的。2、运算符及表达式。在 C 语言中,预算符非常丰富运算灵活,常用的有以下几个:4(1)算术运算符:+、-、*、/、%(取余)及+(自增) 、-(自减) 。(在这里需要注意的是:“/”运算符,在 C 语言中两边都是整数的话,运算结果只取整数部分;“%”他的两边都必须是整数才可以运行;“*、-”运用这个运算符时要注意“先

6、用后加(减) 、先加(减)后用”的问题)(2)赋值运算符:=及复合赋值运算符(+=、-=、*=、/=、%=等) 。(在这里需要注意的是“=、=”的区别,要明确用法及所用的地方, “=”它的作用是赋值, “=”它的作用是判断相等)(3)逗号运算符:,(对于逗号表达式索要注意的是要明确它所用的地方以及在使用时所要注意的细节) 。了解三种运算符的优先级,掌握三种运算符及相应表达式的应用(详见附录) 。第三版块:在这一节里,我们实习了 C 语言的三大结构:1、顺序结构:2、选择结构:ifelse,switch 语句。在这里许啊哟我们学习的很多,因为只要是程序,就脱离不了这个三大结构的范畴。在这个学习里

7、我编写了(1)、输入某年某月某日,判断这一天是这一年的第几天?。(2)、给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。(3)、某市不同车牌的出租车 3 公里的起步价和计费分别为:夏利 7 元,3公里以外,2.1 元/公里;富康 8 元,3 公里以外,2.4 元/公里;桑塔纳 9 元,3 公里以外,2.7 元/公里。编程:从键盘输入乘车的车型及行车公里数,输出应付工资。源程序减附录;经过这几个程序的练习,让我聊股的掌握了选择语句的用法以及精髓,同是这个用法和技巧已经深深的可在了我的脑海里,还有同过这些个程序的编写,让我对以前有的丝丝而非的地放完全通透理解,获益匪浅

8、。循环结构:while、do-while、for在循环这一节里,我们主要做了以下程序:(1)、求 200300 之间所有素数,每 5 个换行。(2)、猜数字游戏。规则为:输入一个 0-10 之间的数字,有 5 次猜测机会。如果输入 0-4 之间的数字,提示“太小了” ;如果输入 5-7 之间的数字,提示“接近了” ;如果输入 9-15 之间的数字,提示“太大了” ;如果输入 8,提示“correct!”;如果次数超过 5 次,提示“没有机会了,退出!” 。5(3)、打印输出如下图形:(“”菱形) (4)、有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?提示:可填

9、在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去掉不满足条件的排列。(5)、打印输出九九乘法表。我以前就对循环这一节里的内容就理解的比较好,现在做这些题很顺利的就做下去了,但在做的同是也会出现以写小的问题,但这个让我也更深一步的理解了循环语句的用法、思路以及其中的精华。总的对这一节来说,使自己更神一步的理解了选择、循环的用法以及在使用过程中需要注意的一些细节问题。第四版块:1、一、二维数组的定义、引用及初始化。初始化:一维数组:初始化赋值的一般形式为: static 类型说明符 数组名常量表达式=值,值值; 其中 static 表示是静态存储类型, 语言规定只有静态存储数组和

10、外部存储数组才可作初始化赋值二维数组:a.可以只对部分元素赋初值,未赋初值的元素自动取 0 值。b.如对全部元素赋初值,则第一维的长度可以不给出。2、一、二维数组的应用。在一维数组的应用中,要与循环嵌套使用,二维数组要与也要与循环嵌套使用,但是在这里,嵌套还要是循环的嵌套,因为只有这样使用才可以使程序更加简洁、简便。就像第五题:有一个班 4 个学生,5 门课。编程实现如下功能: (1)求每一门课程的平均分;(2)求每一个学生的平均分;思路:定义一个二维数组,用二重循环输入这个数组,然后进行相加,在求平均直,最后在用二重循环进行输出。在这里,进行了求平均值的过6程。这里进行了二重循环输出。第五版

11、块:1、函数的定义和调用函数可分为库函数和用户定义函数两种。(1)库函数库函数只不需要用户自己定义的,只需要在用的时候将其调用出来用就可以了,非常方便,并且 C 语言有这丰富的函数库。(2)用户定义函数用户自己定义的函数,是属于一个自定义范畴,自己定义的函数不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。2、函数参数和函数值(1)无 参函数函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。(2)有参函数也称 为带参函数。在函数定义及函数说明时都有参数,

12、称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数 (简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。(1)有返回值函数此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。(2)无返回值函数此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型” , 空类 型符的类型说明为“void” 。2、函数的嵌套调用和递归调用语言中不允许作嵌套的函

13、数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。 但是语言允许在一个函数的定义中出现对另一个函数的调用。 这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。7这以小节内容经过几个练习题的联系,让我掌握到了其中的主要部分,对此也比较的明确。4、局部变量和全局变量及变量的存储类别局部变量:局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。全局变量:全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。

14、 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为 extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。在语言中,对变量的存储类型说明有以下四种:auto 自动变量register 寄存器变量extern 外部变量static 静态变量在局部变量中所定义的变量,只能在该函数中使用,在函数编辑时,预处理命令下定义的变量属于全局变量,在每个函数中都可以使用,并且在使用函数传递参数时,不用传递全局变量。在这里,我主要说的是第二个练习题,它的思想是一个加密算法。思路是:现编写一个主程序,实现函数调用,在子函数中实现加密算法并且输出。在输入是将接收的值设置为一个全局变

15、量。就像下面的这个例子:在这里,将所输入的值进行分解成个、十、百、千位,分别进行加密算法。在这里进行加密算法,每位上的数加上 6 除以 8 以后的余数,在将第一位与第四位对调,第三位与第二位对调。在最后输出结果。第六版块:1、指针、指针变量的概念指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占 2 个单元,字符量占 1 个单元等, 在第二章中已有详细的8介绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。

16、 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 “指针变量”是指取值为地址的变量2、数组的指针一个数组是由连续的一块内存单元组成的。 数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量) 组成的。每个数组元素按其类型不同占有几个连续的内存单元。 一个数组元素的首地址也是指它所占有的几个内存单元的首地址。 一个指针变量既可以指向一个数组,也可以指向一个数组元素, 可把数组名或第一个元素的地址赋予它。如要使指针变量指向第i 个元素可以把 i 元素的首地址赋予它或把数组名加 i 赋予它。3、指向字符串的指针 返回指针的函数(1)、 字符串

17、指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以0作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。(2)、 对字符数组作初始化赋值,必须采用外部类型或静态类型,而对字符串指针变量则无此限制;(3)、对字符串指针方式 char *ps=“C Language“;可以写为: char *ps; ps=“C Language“;而对数组方式:static char st=“C Language“不能写为:char st20; st=“C Language“;而只能对字符数组的各元素逐个赋值。3、指针数组及指向指针的

18、指针 指针数组的说明与使用一个数组的元素值为指针则是指针数组。 指针数组是一组有序的指针的集合。 指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。指针数组说明的一般形式为: 类型说明符*数组名数组长度在指针这一小节,主要是用指针实现:输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写 3 个函数:输入 10 个数;进行处理;输出 10个数。在这里进行函数的调用,一个输入函数,一个操作函数,一个输出函数。在这里用数组实现了输入。9在这里用指针实现了将最小的数与第一个数对换,把最大的数与最后一个数对换。在最后进行输出。第七版块:实训七属于一个综

19、合类型的题目,他要求的比较高,必须在自己王权理解通透了课本知识以后才有可能理解这道题,并且进行修改完善。主要这道题本身是在 VC 环境下运行的,将其移植到 Turbo C 环境下运行,这其中牵扯到一些语法不同,在 Turbo C 中不可以运行,要进行慢慢调试。经过不懈的努力、修改,终于将其成功的在 Turbo C 环境下可以正常运行了。 (详见附录)五、结论收获我的收获:在本次实习中,我学到了很多实际有用的东西,而且基本上都是在课本上学不到的,并且也在实习中梳理了自己对 C 语言这门课程所学的所有内容,让自己对 C 这门课程有了更进一步的认识,有了一个良好的基础,为自己的以后打下了坚实基础。从

20、开头到现在,所有的内容实习完了,上机实验是学习程序设计语言必不可少的实践环节,在 C 语言灵活、简洁中,更需要通过编程的实践来真正掌握它。历时 4 天的C 语言程序设计已经结束了,在这几天编程的过程中感触颇多,实训编程的同时暴露出了许多我自身存在的问题,同时也对自身有了很大的提高。首先,对我以前做题做事非常马虎的毛病有了很大的改进,通过在这几天编程的过程中的锻炼,我现在做题比以前仔细多了,会小心翼翼地去看每一个地方,会仔细地检查程序的每一个字母、标点,以及每个可能出错的地方,更会特别仔细,生怕自己一不小心搞错了,而导致整个程序都无法运行。其次,在编程的过程当中弥补了我许多知识上的缺陷,弄清楚了

21、我不懂的地方和似是而非的地方,使我及时补上了欠缺,为自己以后的人生道路打下了10良好基础,同时也让我对每一件事都有了一个好的心态去对待它,更让自己在编写程序的过程中每时每刻都处于充足的状态。再次,通过几天综合实训编程使我的知识形成了一个完整的框架结构,而不再是零散的知识个体,使我在使用时更加的方便,更加灵活,以前有好多题目要写十行八行的,还有些地方弄得不是太懂,现在只需要五六行就可以搞定,而且还对于思路特别清晰、明确。第四,在实习结束后,我对做完的习题检查比再是一切的走马观花,而是仔细核对、认真检查,和以前相比明显改善了好多,以前自己对于检查程序总是没有耐心,不好好检查,有问题总是找老师,相对

22、于实习之后来说,有了很大的改善,自己不但可以坐下来耐心检查,还能够自己将程序调试成功,这对于现在的我来说是一个明显的进步。第五,通过实习改变了我做题时心烦气燥的习惯,现在做题可以平和静气的完成。第六,通过实习我的自制能力更强了,基本完全可以控制自己,避免外界的干扰,安心地完成自己的工作。第七,在学习过程中,由于天气炎热,心里烦躁,同时也是每天都盯着频幕看,脑袋都看大了,但是我却一直坚持了下来,这对于我来说,也是一个非常好的习惯。这同时也是我的一个收获。第八,实训过程中,充分发挥团队协作精神,共同进步,帮助同学顺利完成实训课程,有困难一起解决,同时也使我在他们身上学到了很多东西。总之,通过实习使我自身的知识体系得到巩固、提高以及使团队工作的能力得到锻炼。不足我的不足:首先,我的第一个,同时也是一个最大的缺点,自己对于理论知识掌握的还不是很通透,理解的不够彻底,对于一些问题似似而非,给自己编写程序的过程中带来了很大的麻烦。其次,我不能够精心的去完成每一个程序,对于每个程序而言,都是马马虎虎,只要运行结果是对的,那就可以了。虽然我自己也知道这样是不好的,但是自己就是不愿意去改,在经过实习之后虽然有所改善,但在我看来,改进的不是很大。第三,自己做题时还有些马虎,一些小的细节在编写程序过程中不注意,只有在编译连接是才可以发现、对其进行修改,对于一些小程序还不能实现一次就可以完成编译连接。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 调研文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报