王飞+贺喜玲+于红彬
【摘 要】在当今的计算机类职业教育中,编程语言中以C++语言最为难以被学生理解和掌握,尤其是C++语言中的指针对象是难点中的难点。但是通过笔者在软件公司的了解,又以C++程序编写类的工资薪酬最为丰厚。因此针对这种情况,结合作者长年在职业教育中的教学经验,提出一种新的教学方案,对C++语言中的指针内容进行了分解并通过程序实例对其内容进行了详细阐述,在实际中取到了十分不错的效果。
【关键词】职业教育;编程语言;C++
一、C++教学弱节
针对职业教育而言,C++的教学却又步履维艰。针对学生而言,职业院校的学生多是在高中时期并不十分热衷于学习的孩子,所以数学基础知识薄弱,逻辑思维的锻炼匮乏是大部分学生的薄弱环节。
并且近年来计算机专业转冷,往往出现计算机专业的学生均是别的专业没有录取,调剂而来的情况。这就让计算机的教学进入了一个尴尬的境地。
而针对学校而言,招聘的教师大多是学校毕业直接进入学校,并未参与到实际的项目中,所以对编程的理解也很有局限性。并且C++语言课程的开设多是大学一年级。面对没有准备充足以及兴趣缺失的学生,基础薄弱以及师资的不足的教学环境,C++的重点指针在很多教师那里都是一笔带过,根本没有深入的探究。
笔者根据自身在公司时期的实战经验和多年来职业教育的教学经验进行总结,挖掘C++的指针教学的难点,提出一种新的教学方案,期望以简单的三个例程引导的方式进行说明,并且能起到抛砖引玉的效果。
二、指针的操作
要使用指针,必须先进行定义,那么如何定义一个指针呢?从指针的含义而言,它是指向一个对象的地址的。指针的定义如下:
指针指向的数据类型 * 指针指向的数据名称:
如下例:
String s(“hello c++”);
String *sp=&s;
例程中的第一条语句就定义了一个字符串型的变量,并赋值“hello c++”;第二条语句定义了一个指向String 数据类型的指针sp并且赋值前一个对象的地址,其中&是去地址的操作。
可以使用C++语言的cout进行输出观看结果。输出变量sp对应的结果是地址而输出*sp对应的结果是地址所指向的s变量的值。对应的指针与指针变量的输出值如图所示。
三、指针与数组
指针是内存中地址的引用方式,而在C++中数组也是一块儿连续内存的地址。所以指针与数组有着异曲同工之处。指针变量既然可以指向一个变量,当然也能够指向数组的元素。
所以为了使在函数中改变了的变量值能被main函数所用,我们应该使用指针变量作为函数参数。这样做的好处就是,在被调用函数执行的过程中,使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样我们就实现了“通过调用子函数使变量的值发生变化,在主调函数(如main函数)中使用这些改变了的值”的目的。
如果想通过函数调用得到要改变的值,使用如下的四个步骤能够得到想要的效果。
(1)第一步在主调函数中设置n个变量,然后使用用n个相对应类型的指针变量指向他们;
(2)第二步然后将指针变量做实参,将这个n个变量的地址传给所调用的函数的形参;
(3)第三步通过形参指针变量,改变该n个变量的值;
(4)第四步主调函数中就可以使用这些改变了值的变量。
以上三个例子均为C++程序经典例程,通过对例程的讲解,让学生吃透C++中指针的基本用法,并能够活学活用。在学生根据例程进行算法分析、程序编写、上机实验后发现使用以上三阶段性案例的能够提升学生学习C++的兴趣以及理论深度的认识。
通过以上三个例程的教学法针对C++指针内容的讲解,减少了教材内冗余的内容,提升了学生的兴趣,也引起了学生的学习积极性和创造性。同时也锻炼了学生的动手能力,为日后的编程工作和程序学习打下了良好的基础。
作者简介:
王飞(1982~),男,河南省郑州市人,工作单位:河南省工业设计学校(郑州轻工职业学院),职务:教师,研究方向:计算机视觉及软件工程。endprint