巩固C++基础知知识的几个着眼点_第1页
巩固C++基础知知识的几个着眼点_第2页
巩固C++基础知知识的几个着眼点_第3页
巩固C++基础知知识的几个着眼点_第4页
巩固C++基础知知识的几个着眼点_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

—论文发表专家—ED国学JK友志厕www.qikanwang,net巩固C++基础知知识的几个着目摘要:本文立足程序语言教学实践,提出巩固C++基础知识可以持有内存、类型、语言、参数化以及与编译器打交道等五个着眼点,为教师授课和学生学习提供新的视角和方法。在学习中应用这五个着眼点来分析理解知识要点,能有效巩固C++基础知识,为进一步学习计算机课程体系中的后续课程打下坚实基础。关键词:着眼点;C++;学习方法C++程序设计语言是一门既注重理论学习又着眼思维训练的基础课程,在计算机课程体系中起到承上启下的作用。本文基于教学中的不断总结,认为学习者在具有了一定C++入门知识后,可以从以下几个着眼点来学习和巩固C++基础知识,为进一步学习打牢基础。一、从内存着眼的观点迈入程序设计门槛重要的一步是理解冯•诺依曼的“存储程序控制”原理。相当多的基础概念都是围绕内存及对内存的操作展开的。教学中以内存条的实物展示结合内存的物理结构来介绍存储数据的空间,强调它们是一系列连续编号的“房间”。每个房间有门牌号和存储空间(即一个字节)。基于实物的认知,一方面可以有效地帮助我们理解并掌握对内存访问所涉及的基础概念。诸如,变量(对象)的名、值、地址、别名(引用)及指针;另一方面介绍系统内存是分区存在,以巩固用户区和代码区、静态存储区和动态存储区的概念,可以帮助理解函数原型、函数接口、函数指针等较为抽象的

—论文发表专家—ED国学JK友志厕www.qikanwang,net相关概念。授课时,板书内存并标注在静态存储区和动态存储区后,可以形象地演示在动态存储区内动态申请和撤销对内存的使用情况,便于灵活运用启发式教学方法引导学习者轻松掌握生存期、作用域、输入输出流等一系列相关概念。由于程序设计语言中大多数概念都是与内存相关的,初学者有了对内存形象全面的认识,对掌握概念和理解原理能起到事半功倍的效果。二、从类型着眼的观点类型是一个贯穿程序设计语言的基本概念,将类型作为深入学习的一种视角,有助于学习者在理解掌握新知识的过程中克服学习中的难点。首先,深入了解万事万物是分型的,类型表明一类变量(对象)的示数能力、运算功能、占用存储空间。除系统支持的基本类型外,另有指针类型、引用类型、函数类型以及关联这些类型指针类型。集中巩固这些类型的定义形式、应用场合,将快速提升阅读程序代码的能力。接着,很自然引入自定义的类型一一结构和类类型,指出与基本类型定义变量一样,自定义的类型定义对象也要开辟空间和赋初值(调用构造函数来完成),只不过开辟的空间是本类中数据成员空间的组合。这样从基本类型、变量的概念和应用,引申至类与对象,从而克服面向对象程序设计中概念难点。三、从语言着眼的观点c++程序设计首先要介绍的是一门与机器打交道的语言,和外语

—论文发表专家—ED国学JK友志厕www.qikanwang,net课程的学习一样,基本概念语法规则等必须记忆、迁移和联想,以达到牢记并熟练应用的目的。学习语言首先必须从基本的词汇和语法学习开始,在入门阶段需要死记硬背一些概念和规则,作为构建知识体系的基石。以运算符教学为例,做一叙述。教材中会以表格的形式列出的关于运算符和结合性规则。教师在讲授时,首先强调这一表格是c++程序设计指令系统语法中的基本规则,一些运算符不同场合可以有多种语义功能,除去表上列出的功能外,还可以按照一定规则重新自定义其功能,但其优先级和结合性不变。其次,还可以告诉学生一些前人总结的牢记方法。如,关于优先级、结合性记忆方法如下:①习惯上和数学规则一致;②括号优先级最高,“豆腐条”(即优先级最低的运算符是逗号、赋值、条件运算符)优先级最低;③在一个表达式中,可能包含算术运算、关系运算和逻辑运算,优先级从高到底为:“!一算术运算符关系运算符一&&一||”旷;④关于结合性,一般情况是从左到右,但是单目运算符和赋值(含复合赋值)运算符是从右到左。以上从记忆角度对书中表格的解读简洁实用,十分便于记忆。掌握了这四条后,通过较少的实例训练,学生即可将这一基础知识点牢固掌握。牢固掌握上面的基础知识后,在后续讲解复杂类型时,如,int(*[3]),就可以利用语言学习迁移原理帮助初学者轻松掌握:可以按照上述知识记忆点分析如下:括号()和后部的括号□优先级相同,

—论文发表专家—ED国学JK友志厕www.qikanwang,net从左到右先看()内的(*口。其中*与□比较,口优先,表明此处声明的是个数组,该数组元素是指针类型。()外部的int口是指针的关联类型。于是可以明确地知道,该语句声明了包含3个元素的一个指向整型数组(有4个元素)的指针数组。该指针数组中元素有3个,为指针类型,每个指针可以指向一个包含4个元素的整形数组。通过以上分析,向学生表明,从优先级和结合性的角度来看待复杂类型声明语句,复杂类型就不是什么新东西,而是新瓶装旧酒。这样可以帮助学生克服畏难情绪,引导学生通过前边已学知识迁移贯通,轻松迈过这一语言知识难点。持有“我们正在学习的是一门语言”这一观点,可以在c++学习的进程中不断鼓励自己发现和总结记忆规律,为深入进阶学习阶段打下基础。金盾出版社于2010年7月出版的赵卫滨教授《背口诀14天精通c语言》就是理论口诀化方面长期经验总结的结晶。该书中结合各个知识点用归纳总结了一系列口诀,帮助初学者记忆。这些记忆口诀不但能给学习c++带来帮助,还能启发学习者立足自己的情况,在学习语言的道路上不断总结记忆新知识。四、从参数化着眼的观点进入到全局变量、预处理、函数和对象等知识的学习阶段后,学生逐渐体会基础知识中的参数化概念。有如刚小升初后接触代数一样,小学接触的确定的数据到初中开始被抽象描述为变量,此时程

—论文发表专家—ED国学JK友志厕www.qikanwang,net序设计逐步运用参数化来实现代码的复用、提高代码的通用性和灵活性。c++中的方法、函数、类库头文件等体现软件工程的设计思想:让程序模块化,把特定的代码逻辑独立封装,只传人参数和返回参数,外部集中调用。以参数化的观点看,预定义全局变量值的修改可完成后续设计代码中同一量的同步更新;预处理中条件编译可以依据参数不同选择参与编译的代码语句段;函数参数及其相关概念如参数传递机制:值传递、指针传递、引用传递均体现了数据量本身的参数化;函数模板、类模板所代表的泛型编程体现了数据类型的参数化。模板把函数或类要处理的数据类型参数化,用于表达逻辑结构相同但具体数据元素类型不同的数据对象的通用行为。参数化建模编程,为解决通用程序和特定需要之间的矛盾提供了一种新方法和新途径。持有参数化的观点学习和巩固C++知识,可以在编程实践中不断体会代码复用优点和好处,还可以从更深的层面理解结构化编程和面向对象的编程提出来的封装、交互、接口、抽象、复用、容器、泛型等较为抽象的概念术语,对后续学习数据结构及算法分析等相关课程做出充分铺垫。五、与编译器打交道的观点C++是世界上应用最广泛的编程语言之一,很多硬件和软件中都有对应的C++编译工具。编写C++高级程序设计语言源程序,首先要考虑能通过编译程序的编译,形成低级语言目标代码供调试和运

—论文发表专家—ED国学JK友志厕www.qikanwang,net行;其次要考虑能够移植到方便移植到的当前大部分平台上运行。编译系统软件程序的基本原理和技术有着典型性和广泛性,在软件工程、逆向工程、语言转换及其它领域都有着广泛的应用。谭浩强教授在《C++程序设计题解于上机指导》一书的前言中指出,学习C++不应只局限于使用一种编译环境,希望读者能掌握一种以上的编译和运行C++程序的环境与工具。因此,巩固C++基础知识的学习要从编译器的角度着眼,分析编写源代码和上机调试纠错,打下语法分析、语义分析的基础。从开始就有意识地考虑代码的跨平台特性,尽可能避免设计代码二义性,并保证代码的可重复使用性。在学习和参考前人的代码时,尽可能使用遵循国际标准C++的规定来分析和消化吸收。此外,还可以利用已经学习的知识,分析程序运行时可能出现的各种意外情况,尝试运用异常处理,增加适当的纠错机制。持有与编译器打交道的观点进行学习,能够促使我们不断

温馨提示

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

评论

0/150

提交评论