“C程序设计”启发式实例教学探讨摘要:木文通过一个例子来说明结合实例教学法和启发式教学方法的教学过程,旨在为C语言程序设计课程提供一些有益的教学方法。vbr>关键词vbr>木文来自:计算机毕业网:程序设计;实例教学;启发式教学vbr><br>1传统的实例教学方法vbr><br>在一些教学改革的文章屮,都提出了通过实例来进行教学,并且取得了较好的效果。这些文章屮,所列的例了分为两类:趣味稈序[1・3]和实例稈序[4-6]0<br>趣味程序的例了可以激发学生的学习积极性,从而在实例屮掌握C语言的语法和程序设计方法,因而趣味程序的例了的选择至关重要。对于实例程序例了来说,分为章节实例和综合实例。其屮章节实例是为了章节教学服务,而综合实例是在学习整个课程后,提高学生能力,培养团队合作能力服务。这些章节和综合实例的选择屮,有些是前者与麻者有联系,这可以省去理解实例的时间,使学生掌握软件开发的能力;有些是前者与示者没有必然联系,这样就要做毎个实例前,必须理解实例花费时间。vbr>这种方法的优点是可以根据教学内容,选择合适的例了,以使学生芈握所学内容。但是在毎次举例了时,没有很好的、更深入的挖掘实例中的一些深层的知识点,这样浪费了实例资源。并且,每个实例要花许多时间来理解实例,这给有限的课堂教学时间带来了浪费。在此,我们通过较少的实例,并将此实例用不同章节的内容实现,这样既可以节约分析实例的时间,又加深了对C语言的语法的理解和程序设计方法的训练。vbr>为了解决上面的问题,我们可以在每个实例的基础上,对学生多提问,以进行扩展实例,以复习前面学过的知识,也可以巩固当前学习的内容。下面通过一个简单的例了说明具体的过程。在C语言程序设计时,许多教课书都用“HelloWorld”这个程序作为入门程序,此例只是让我们对C语言程序有一个初步认识,但是在此后的教学屮,我们已经忘记了这个入门的例了,其实还可以挖掘出更多新的知识点。<br><br>2启发式教学vbr><bi>在我们所见的教材屮,“HelloWorld”例了除了在讲C语言入门的知识外,别的地方没有出现。而我们以它为例进行启发式教学,让学生做更多的练习,以加深对语法和程序设计方法的理解,并掌握其课程的精髓。我们采用两种方法:第一种是针对同一问题使用多种方法处理;第二种是针对每一处理方法提出新的问题。<br>2」同一问题使用多种方法处理vbr>针对上的同一问题使用所讲述的不同内容的方法处理。具体过程如下:vbr>(1)数组方式vbr>在讲解字符数组时,我们知道字符串是如何保存在计算机屮,并可以用数纟R的方式实现上述实例。如下程序:<br>#include<stdio.hxbr>main()<br>{<br>charwhn="HelloWorld!M;<br>printf(”%s\n“,wh);vbr>)<br>上例说明了数组的定义及初始化方式,在上述程序的基础上,也可以将数组屮的元素单个输出,即printf(”%s\n“,wh);语旬换为inti;for(i=0;wh[i]!=W;i++)printf(”%c“,wh[i]);语句。也可以使用字符串输入输出方式来实现同样的功能。如卜程序:vbr>#include<stdio.hxbr>main()<br>{<br>charwh[20];<br>gets(wh);<br>puts(wh);<br>)<br>如果将上面的程序屮的gets(wh);语句换成scanf(”%s“,wh);语句会出现什么情况,然麻分析出现这种情况的原因。vbi>(2)指创•方式vbr>指针是C语言的核心,也是C语言的灵魂,所以它是教学法屮的重点,也是难点。在教学法屮,我们应通过简单的生活常识来说明它,也要用具体的实例来掌握它。在此,以上述实例说明,其实现过程是:<br>#include<stdio.hxbr>main()<br>{<br>char*hp="helloWorld!";<br>printf("%s\n",hp);<br>}<br>在上面的例了屮,可以将某一地址赋予指针变量,然后对其进行操作。前面讲过数组内容,其实数组就是一个连续的内存空间,数纟R名代表其开始地址,所以也可用指针实现。其实现过程是:<br>#include<stdio.hxbr>main()vbr>{<br>charwh[]=nhelloWorld!",*hp;<br>hp=wh;<br>printf(,,%s\n,,,hp);<br>)<br>由于指针变量指向某一开始地址,所以我们可以处理连续空间屮的单个元素。上述的两个程序屮的printf(“%s\n”,hp);语句可以改为for(;*hp!=,\0,;)printf(n%c,,,*hp++);printf(n\nM);语...