《C语言程序设计 王新萍 实训指导书.docx》由会员分享,可在线阅读,更多相关《C语言程序设计 王新萍 实训指导书.docx(49页珍藏版)》请在第一文库网上搜索。
1、C语言程序设计实训指导书编制:山西职业技术学院计算机工程系信息管理教研室2011-5-17第一部分实训目标与方式一、实训的目的(一)课程定位C语言是一种优秀的结构化程序设计语言,是程序设计的入门语言课。是计算机应用专业的专业基础课。具体教学目标定位为:使学生逐步建立起程序结构的概念,掌握程序设计的一般思路和方法,培养学生独立解决问题的能力。(二)实训目标实践教学,特别是实训,是高职课程教学方式的生命线。C语言程序设计的实训是学生重要的实习环节,主要培养下述能力:(1)培养学生程序设计开发的基本素质(2)培养编程的逻辑思维和熟练掌握程序设计的技能和方法(3)培养学生分析问题和独立解决问题的能力,
2、为学生综合素质的培养打下坚实的基础。(4)使学生掌握编程的风格和技巧,养成良好的编程习惯,具备扎实的专业素质。二、实训方式与方法(一)实训的基本方式教师制定出难易适中的设计题目,学生分组讨论或独立进行设计,然后上机调试,实训重点放在程序开发的全过程上。难点是如何使学生学会分析问题,如何调试程序。其中一周的项目实训由学生分组,每个设计小组中不同学生设计不同的模块,分工协作开发出完整的项目。(二)、实训的步骤、方法步骤:(1)上机前的准备工作学生要复习和掌握与本实训有关的教学内容。根据问题,进行分析,选择适当算法并编写程序,手编程序应书写整齐。上机前一定要仔细检查程序(称为静态检查)直到找不到错误
3、(包括语法和逻辑错误)才能上机,以提高上机效率。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了。切忌不编程序或抄别人程序上机,应从一开始就养成严谨的科学作风。(2)准备好调试和运行时所需的数据上机调试。首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为OBJ)。下一步是调用连接程序,产生可执行程序(扩展名为EXE)。
4、使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。若有问题,则仔细调试,排除各种错误,直到得到正确结果。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。不要一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。(3)对实训过程中出现的问题进行分析,写出实训报告。实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告。书写报告是整个实验过程的一个重要环节。通过写报告,可以对整个实训过程有个全面的分析,对所学知识会有更深刻地理解。方法:(1)对运行中可能出现的
5、问题应事先做出估计;对程序中自己有疑问的地方,应作上记号,以便在上机时给于注意。(2)在实训过程中应该有试错这一环节,很重要,引导学生故意制造一些错误,观察编译提示,使学生在试错的过程中逐步掌握程序调试方法,在试错过程中体会程序设计的乐趣,并获得成就感。通过试错的方式进一步领会程序设计的思想。提升解决问题的能力(3)在实训过程中,教师一定要有意识地培养和训练学生良好的程序设计风格。使学生遵照统一的编程风格(缩排技术)、注释标准、命名规则、及编码原则进行编程。(4)编程是一项既复杂又枯燥的工作,为了增强学生的学习兴趣,在每一实训项目的实训过程中,由老师演示讲解、或由学生自己编制一个趣味程序实例,
6、通过对趣味问题的讨论,使学生在轻松愉悦的氛围中探索程序的奥妙,达到事半功倍的效果。()成绩考核与记载(1)实训完成后,每位实训学生都要求撰写实训报告单(见附件)。(2)实训的后期阶段必须对学生实训进行考核。考核前要制定考核标准,通过现场考核,登记每位学生的考核成绩。(3)实训总评成绩由三部分构成:考勤(占20%)+实训报告(占40%)+实训考核(占40%)。(四)实训教材或指导书名称:王新萍、郑静主编的C语言程序设计教程三、实训内容、要求、学时分配序号实训名称目的要求实训学时开出要求1熟悉C环境掌握C语言程序的结构1 .熟悉TUrbOC集成环境的操作界面,能熟练地启动TUrbOC和退出TUrb
7、oC。2 .熟练掌握在TurboC下建立、修改和运行、保存和装入程序的方法。3 .掌握C程序的基本结构2必做2数据类型及其运算1 .进一步熟悉TUrboC集成环境下程序的建立、修改和运行2 .熟悉定义各种基本数据类型变量的方法3 .初步了解Printf函数的使用4 .熟悉有关变量的语法错误,并能够根据错误信息修改、调试程序。5 .熟悉各种运算符的使用规则,能编写简单程序,求数学运算式的值。6 .理解赋值运算符的意义,区别赋值运算符与数学中的等号。2必做3顺序结构程序设计1 .熟练掌握printf函数和scanf函数的调用格式,及其相关的格式转换控制符。2 .能灵活运用printf函数控制屏幕输
8、出格2必做式,熟悉SCanf函数对各种类型数据的输入格式。3.熟练掌握getchar函数和putchar函数的调用方法4选择结构程序设计1 .掌握控制流程中复合语句的使用。2 .熟练掌握if语句和ife1se语句,理解条件嵌套。3 .熟练掌握SWitCh语句。4必做5循环结构程序设计1 .熟练掌握whi1e语句、dowhi1e语句、for语句的功能、使用格式和执行过程。2 .理解循环结构,在实际编程中能灵活运用三种循环语句解决相关问题。6必做6数组的定义和引用I.掌握一维数组和二维数组的定义、赋值和输入的方法。2 .掌握字符数组和字符串函数的使用3 .掌握与数组有关的算法(特别是排序算法)4必
9、做7函数十1 .掌握函数的定义方法2 .掌握函数的实参与形参的对应关系和“值传递”方式。3 .掌握函数的调用方法。4必做8指针十1 .掌握指针的概念,会定义和使用指针变量2 .熟练掌握用指针处理一维数组,掌握用指针形式引用二维数组中各个元素。3 .熟练掌握用字符指针处理一维字符数组。6必做9结构体与联合体1 .掌握结构体变量和共用体变量的定义和使用。2 .掌握结构体类型数组的使用。2必做10预编译处理命令1 .掌握宏定义的方法。2 .掌握文件包含处理方法。3 .掌握条件编译的方法2选做11文件操作1 .掌握文件以及缓冲文件系统、文件指针的概念2 .学会使用文件打开、关闭、读、写等文件操作函数。
10、2必做12项目实训1 .初步了解软件开发的几个阶段2 .熟悉软件开发的过程3 .培养学生综合应用知识解决问题的能力1周必做合计36学时+1周第二部分具体实训内容实训项目1.熟悉C环境、掌握C语言程序的结构技能培养目标1 .熟悉TUrbOC集成环境的操作界面,能熟练地启动TUrbOC和退出TurboCo2 .熟练掌握在TUrboC下建立、修改和运行、保存和装入程序的方法。3 .掌握C程序的基本结构实验内容仔细阅读以下程序,领会各程序的运行结果并掌握TUrbOC的基本操作流程。1.main()(Printf(WE11COMETOTURBOC!);11)在编辑窗口录入该程序后,选择Fi1e菜单中的S
11、ave,输入存盘路径及文件名(例如输入A:sj1_1)进行保存。2)选择RUn菜单中的Run,完成程序的编译、连接和运行。3)选择Run菜单中的UserScreen,观察屏幕上的运行结果。说明:在TUrboC环境下编译、连接和运行C程序,会得到扩展名为Qbj的目标文件和扩展名为.exe的可执行文件,这两个文件的文件正名与源程序文件正名相同。如果系统在编译或连接的过程中发现了源程序的错误,则系统中止程序的编译或连接,并在Message窗口中显示出错信息。列磁盘文件目录:按A11+X退出TUrbOC,返回De)S提示符;键入dirsj1.*并回车,则屏幕显示:Sj1-IC42421-09-0310
12、:18Sj1-IOBJ2211-09-0310:22Sj1-IEXE44861-09-0310:25第一个文件sj1.C是源文件文本,在DoS提示符下键入TYPESj1.C命令,可在屏幕上显示该文件的内容。可看到该程序只有42个字节。第二个文件sj1-1.OBJ是TUrbOC编译程序产生的二进制机器指令(目标码),如果用DOS命令TYPE显示该文件,屏幕可能会出现混乱的信息。第三个文件sj1_1.EXE是TurboC连接程序产生的可执行文件。在DOS提示符下键入sj1并按回车,屏幕将显示“WE11COMETOTURBOC!”。2 .main()(Inta,b,c;/*定义三个整型变量a,b,c
13、*/a=10;b=30;c=a+b;c1rscr();/*清屏*/printf(ua+b=%d,c);)1)先分析程序的运行结果,再运行程序,对比预先分析的结果与屏幕上的结果是否一致。如果有差异,分析错误所在。2)删除程序中的注释,看看会有什么结果。3)删除程序中的变量定义语句“inta,b,c;,看看会有彳3 .main()(主函数inta,b;/*定义两个整型变量a,b*/a=30;b=cf(a);c1rscr();/*清屏*/Printf(a*a=%d,b);)cf(in1x)/*定义cf()函数,X为形式参数*/Cf函数(inty;y=x*x;return(y);/*将变量y的值作为c
14、f()函数的返回值*/)先分析程序的运行结果,再运行程序,对比预先分析的结果与屏幕上的结果是否一致。1)如果有差异,分析错误所在。2)将cf()函数整个搬到主函数之前,运行程序,看看会有什么运行结果。3)将程序中的“a=30;”改成“scanf(d”,&a);,看看会有什么运行结果。4 .趣味程序实例演示(歌星大奖赛)在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1700分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。*问题分析与算法设计这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。* 程序说明与注释#inc1ude,stdio.hmain()(intinteger,1,max,min,sum;max=-32768;*先假设当前的最大值max为C语言整型数的最小值*/min=32767;/*先假设当前的最小值min为C语言整型数的最大值*/SUm=0;/*将求累加和变量的初值置为0*/for(i=1;imax)max=integer;/*通过比较筛选出其中的最高分*/if(integermin)min=integer;/*通过比较筛选出其中的最低分*