C++学习中的一个整体性问题
- 格式:doc
- 大小:26.00 KB
- 文档页数:3
基础教育课程改革复习题一、单选1.课程改革的的基本理念是( C ) 。
A. ②③④B. ①②③C. ①③D. ②④①以学生发展为本②培养环境意识③以创新精神和实践能力培养为重点④减轻学生学习负担2.我国新一轮课程改革是在教育面临着严峻的形势下提出的,其背景说明最全面的是(C)。
A.信息社会提出的挑战 B 我国加入WTO提出的挑战C.知识经济时代提出的挑战D.未来社会发展提出的挑战3.多元智力理论是新课程改革的理论基础之一,其提出者为(A )。
(10瑞安真题)A.加德纳B.推孟C.韦克斯勒D.加涅4. 在“对话/互动”式的教学过程中,教师和学生的关系是(C )A.教师是主体,学生是客体B.学生是主体,教师是客体C.都是主体D.都是客体5.探究学习实施的过程是(B )A.计划阶段——问题阶段——研究阶段——解释阶段——反思阶段B.问题阶段——计划阶段——研究阶段——解释阶段——反思阶段C.问题阶段——计划阶段——研究阶段——反思阶段——解释阶段D.计划阶段——问题阶段——解释阶段——研究阶段——反思阶段6.展示学校的办学宗旨和特色的课程是(B )A.地方课程 B.校本课程 C.国家课程 D.学科课程7..建立评价学生全面发展的评价指标体系必须包括( C)A.学科学习目标B.一般性发展目标C.学科学习目标和一般性发展目标D.情感目标8新课程改革的启动时间是:(B)A.1949B.1999C.2000D. 20019新课改的课程结构小学阶段以为主。
(D)A.活动课程B.学科课程C.分科课程D. 综合课程10《基础教育课程改革纲要》规定从小学至高中设置并作为必修课程。
(B)A.校本课程B. 综合实践活动C.分科课程D. 综合课程11新课程提倡的评价是。
(C.)A.甄别性评价B. 选拔性评价C.发展性评价D. 终结性评价12贯彻新课程“以人为本”的理念首先应该做到。
(C.)A培养学生正确的学习态度 B.充分地传授知识C.尊重学生的人格,关注个体差异D. 让学生自主选择课程13素质教育的时代特征是(B)A.面向全体学生 B培养学生的创新精神C.促进学生全面发展D.提高学生多元智能14新课程改革提倡学生自主探索,改变师生系统学习书本知识的模式,由教师辅导,学生从活动中自己学习。
教师招聘考试题库《课程》考点预测最新版(二)1、填空题从课程功能的角度来划分,课程可分为工具性课程、____、____技能性课程参考答案: 知识性课程实践性课程2、单选题我国初中阶段的课程设置是_____A : 以综合课程为主B : 分科课程与综合课程相结合C : 以分科课程为主D : 实践与课程分科课程相结合参考答案: B本题解释:答案:B【解析】《基础教育课程改革纲要 (试行) 》第三条明确规定:“整体设置九年一贯的义务教育课程”。
小学阶段以综合课程为主,初中阶段设置分科与综合相结合的课程,高中以分科课程为主。
3、填空题学校情景中以间接的、内隐的方式呈现的课程____。
参考答案: 隐性课程4、填空题我国义务教育的课程计划具备____、普遍性、基础性的特征。
参考答案: 强制性5、单选题新课改整体设计九年一贯的义务教育课程,初中阶段设置_____的课程。
A : 以综合课程为主B : 以分科课程为主C : 分科课程和综合课程相结合D : 分科课程为主,综合课程补充参考答案: C本题解释:【出题思路】本题考查新课程在初中阶段的课程设置。
【参考答案】C【名师点睛】新课改整体设计九年一贯的义务教育课程,小学阶段以综合课程为主,初中阶段设置分科与综合相结合的课程,高中以分科课程为主。
从小学至高中设置综合实践活动并作为必修课程,农村中学课程要为当地社会经济发展服务。
6、填空题学科课程又称____,重视学科内容的内在逻辑联系。
参考答案: 分科课程7、单选题课程标准作为衡量教育质量的基本依据,其核心部分是_____,它也是整个课程编制过程中最为关键的准则。
A : 内容标准B : 课程目标C : 课程结构D : 实施建议参考答案: B本题解释:答案:B【解析】课程标准由前言、课程目标、内容标准、实施建议、附录五部分组成,其中课程目标是其核心部分。
课程目标是确定课程内容、教学目标和教学方法的基础,是整个课程编制过程中最为关键的准则。
第五章自然环境的整体性和差异性第一节自然环境的整体性班级:姓名:学号:分数:【学习目标】1.能识记自然环境整体性的含义和主要表现;2.能识记地理环境整体性的分析思路;3.能背出人类对资源综合利用的理论依据。
【学习重点】1.自然环境整体性的含义和主要表现;2.人类对资源综合利用的理论依据。
【学习难点】地理环境整体性的分析思路;【易错易混点】分析某种自然资源综合利用对自然地理环境整体性的影响【知识归纳】【知识点一】自然地理环境整体性的含义和主要表现1.自然环境的组成(1)圈层:A 大气圈、B 岩石圈、C 水圈、D 生物圈、E土壤圈、人类圈。
(2)主要环境能量:地球内能和太阳能。
(3)组成要素:地形、气候、水文、生物和土壤等。
2.自然环境整体性含义及主要表现(1)整体性含义:自然环境各组成要素及各组成部分之间内在联系的规律性。
每一要素都作为整体的一部分,与其他要素相互联系、相互制约和相互渗透,组成一个有机整体。
(2)表现①某一要素的变化,会导致其他要素甚至整体的改变,即“牵一发而动全身”。
②某一要素的变化,会对其他地区的自然地理环境产生一定的影响。
(3)自然地理系统结构和功能的整体性①表现:自然地理系统具有组成要素不具备的统一的结构和功能,产生整体性效应。
②强弱:取决于各组成成分的完备性和功能的协调性。
a.强:系统抗干扰能力强,稳定性好;b.弱:组分和结构简单,功能不协调。
(4)自然地理系统整体性的演替当演变强度超过稳定阈限时,系统结构就会遭到破坏,重新建立起新的系统结构,产生新的功能,形成新的平衡。
【典例1】【考点:自然环境的整体性】材料某区域地理要素逻辑关系图。
1.下列内容和图甲、图乙的字母之间的对应关系是怎样的?①生态环境改善②地表水丰富,水系发达,河流众多③地表侵蚀、切割强烈,呈现山、丘、盆、谷交错分布状态④退耕还林、还草⑤基岩裸露A.________;B.________;C.________;D.________;E.________。
小学数学新课标课程标准学习资料(一)1.义务教育数学课程具有( )性质。
A基础性、普遍性、整体性B基础性、一致性、发展性C基础性、普及性、发展性D发展性、整体性、普及性正确答案: C2主要针对学习内容和达成相关核心素养提出的教学建议是指()。
A内容要求B学业要求C教学提示D成果评价正确答案:C3.运用数与字母表达数量关系,通过运算或推理解决问题,形成与发展学生的()。
A模型意识、推理意识、初步的创新意识B模型意识、推理能力、初步的创新意识C符号意识、推理能力、初步的应用意识D符号意识、推理意识、初步的应用意识正确答案:D4.为了体现义务教育课程的整体性与发展性,根据学生数学学习的(),将九年的学习时间划分为四个学段。
A心理特征和发展规律B心理特征和生活经验C发展规律和生活经验D心理特征和认知规律正确答案:D5.发挥评价的()作用,坚持以评促学、以评促教。
A素养立意B育人导向C教学评一致性D多元化正确答案:B6.2022版《数学课程标准》指出()是在数学学习过程中逐渐形成和发展的,不同学段发展水平不同,是制定课程目标的基本依据。
A四基B四能C数学思维D核心素养正确答案:D7.培训应面向全体教师,坚持()。
A先实施后培训B先实施后总结C先培训后实施D先培训后总结正确答案:C8.新课标建议在集体备课、课堂观摩、交流研讨等教研活动基础上,积极开展()的校本教研。
A实践一问题一研究一改进B问题一研究一改进一实践C实践一研究一问题一改进D问题一实践一研究一改进正确答案:B9.图形的测量重点是确定图形的大小,教学时教师要引导学生经历()过程。
A感知立体图形B感知平面图形C统一度量单位D从实际物体抽象出几何图形正确答案:C10.义务教育阶段数学课程内容中的()以培养学生综合运用所学知识和方法解决实际问题的能力为目标。
A数与代数B图形与几何C统计与概率D综合与实践正确答案:D11.空间观念主要是指对空间物体或图形的()的认识。
数学新课标学习测评题·选择题(1—75)1.结合学生身边熟悉的场景,通过从不同方位观察同一物体,引导学生将观察到的图像与观察方位对应,发展(A)。
A.空间观念、想象能力B.几何直观、想象能力C.空间观念、抽象能力D.几何直观、抽象能力2.课程目标的确定,立足学生()发展,集中体现数学课程(B)。
A.育人价值、核心素养B.核心素养、育人价值C.终身、应用价值 D素质教育发展、应用价值3.义务教育阶段数学课程内容由(D)等学习领域组成。
①数与代数②图形与几何③统计与概率④综合与实践A.①③④B.①②③C.①②④D.①②③④4.小学数学核心素养具有( C ),在不同阶段具有不同表现。
A.独立性、一致性、阶段性B.独立性、统一性、阶段性C.整体性、一致性、阶段性D.整体性、统一性、发展性5.选择题。
关于第二学段综合与实践的主题活动,不包括(C)。
A.认识年、月、日B.认识常用的质量单位C.了解负数D.认识方向6.选择题。
教育评价主要分为( E )两种方式。
1.教学评价2.教师评价3.学生评价4.学业水平考试5.家长评价A.1、2B.2、3C.4、5D.3、5E.1、47.选择题。
资源开发与利用要坚持育人为本,将(C)作为首要任务,从促进学生核心素养形成和发展的内在规律出发,为教与学提供有效支撑。
.A.引导学生体会数学思想B.培养学生解决问题的能力C.促进学生身心健康发展D.促进学生全面发展8.学生通过数学课程的学习,掌握适应现代生活及进一步学习必备的(A)激发学习数学的兴趣,养成独立思考的.习惯和合作交流的意愿;发展实践能力和创新精神,形成和发展核心素养。
A.基础知识、基本技能、基本思想、基本活动经验B.基础知识、基本概念、基本思想、基本活动经验C.基础知识、基本技能、基本方法、基本生活技能D.基础知识、基础技能、基本方法、基本生活经验9.小学阶段的统计与概率包括的主题有哪些?下面选项中不正确的一项是(D)A.数据的收集、整理与表达B.数据的分类C.随机现象发生的可能性D.数据的分析10.数学核心素养中的(C)主要是指能够感悟符号的数学功能。
系统工程1一、单项选择题1、()是根据特定的目标,通过人的主观努力所建成的系统,如生产系统、管理系统等。
(正确答案:C,答题答案)A、概念系统B、实体系统C、人造系统D、自然系统2、以下哪项不是系统的一般属性.( )(正确答案:B,答题答)A、整体性B、真实性C、相关性D、环境适应性3、下面关于系统工程的叙述中哪一个是错误的.( )(正确答案:C,)A、系统工程是以研究大规模复杂系统为对象B、系统工程追求系统的综合最优化C、系统工程属于自然科学研究范畴D、系统工程应用定量分析和定性分析相结合的方法4、钱学森教授提出,系统工程是一门().(正确答案:B,)A、经济控制的技术B、组织管理的技术C、现代工程技术D、控制分析和设计的技术5、凡是由概念、原理、原则、方法、制度、程序等概念性的非物质要素所构成的系统称为( ).(正确答案:A,)A、概念系统B、实体系统C、人造系统D、自然系统6、系统的特征有整体性、相关性、()、有序性、动态性和环境适应性.(正确答案:B,答题答案)A、功能性B、目的性C、社会性D、实践性7、凡是以矿物、生物、机械和人群等实体为基本要素所组成的系统称之为().(正确答案:B,)A、概念系统B、实体系统C、人造系统D、自然系统8、我国古代运用系统工程建造的大型水利工程典范是().(正确答案:D,)A、京杭大运河B、黄河治理C、灵宝渠D、都江堰9、下列关于系统定义描述错误的是()。
(正确答案:B,)A、系统是一个整体B、一个系统的结构就是所有组分间关联方式的总和C、对于系统中的任意两个组分,它们之间的关系只有一种D、模型是对原系统特性的简化表达形式10、系统工程的目的是()(正确答案:D,)A、整体性和系统化观点B、多种方法综合运用的观点C、问题导向及反馈控制观点D、总体最优或平衡协调观点11、系统工程的前提是( )(正确答案:D,)A、多种方法综合运用的观点B、问题导向及反馈控制观点C、总体最优或平衡协调观点D、整体性和系统化观点12、系统工程理论基础的“老三论”是指()(正确答案:A,答题答案)A、系统论、控制论和信息论B、系统论、规划论和信息论C、控制论、信息论和管理理论D、控制论、信息论、优化论13、系统工程理论基础的“新三论”是指()(正确答案:B,答题答案:)A、耗散结构理论、协同学、博弈论B、耗散结构理论、协同学、突变论C、系统论、协同学、非线性理论D、系统论、博弈论、非线性理论14、系统工程的研究对象是().(正确答案:D,答题答案)A、中型复杂的人工系统B、中型复杂的复合系统C、大型复杂的人工系统D、大规模复杂系统15、系统思想从经验到哲学到科学,从思维到定性到定量的发过程,大致可分为()个阶段。
自然地理环境的整体性与差异性教案自然地理环境的整体性与差异性教案篇一:自然地理环境的整体性与差异性教案自然地理环境的整体性与差异性【教学目标】知识与技能学生在老师的引导下,理解自然地理环境整体性和差异性的含义。
学生能够运用不同的景观图和景观分布图,说明地理环境的地域分异规律,并运用地域分异规律的原理来解释说明某一区域的环境特征及其成因。
过程与方法运用不同景观图说明地理环境的整体性和地域分异;在学习过程中培养学生读图分析能力和区域综合的地理思维。
情感态度与价值感通过学习使学生用联系的观点和整体的观点看问题;通过认识地理环境的复杂多样性和规律性使学生树立科学环境观和因地制宜的思想。
【教学重点】自然地理环境的整体性和差异性,地理环境的地域分异规律。
【教学难点】地理环境整体性和差异性的表现,地域分异规律实例的分析。
【教学方法】读图分析法,案例比较分析法,学生自主学习、合作探究和相互讨论的方法。
【教学过程设计】自然地理环境的整体性与差异性教案篇二:人教版高中地理必修一自然地理环境的整体性与差异性教案一、单项选择题1.地理要素间的物质迁移和能量交换不会通过__________来实现。
( )A.宇宙演化C.生物循环答案 A解析地理要素间的物质迁移和能量交换不会通过宇宙演化而实现。
(2012·潍坊高一质检)读某外流湖自然消亡过程示意图(如下图),回答2~3题。
B.水循环D.地壳物质的循环2.该湖泊自然消亡的原因,据图可以确定的是( ) A.地壳上升C.气候变干B.水源减少D.物质沉积3.湖泊消亡引起了湖区自然景观的变化,这反映了自然环境的( )A.整体性C.稳定性答案2.D 3.A解析本组题以湖泊的消亡过程为材料,考查了自然地理环境的整体性。
第2题,由三幅图对比可以看出,该湖泊的消亡原因是物质不断沉积导致湖泊面积不断缩小直至消失。
第3题,湖泊消亡前后湖区自然景观发生了显著的变化,这是自然地理环境中各要素相互联B.差异性D.脆弱性系、相互制约的结果,反映了自然地理环境是一个统一的整体。
C语言程序设计课程设计专业:自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2015年07月21日一.引言1.1设计目的复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。
提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。
使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。
1.2设计要求在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。
然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。
最后认真完成课程设计说明书,并对设计方法,结果等进行总结。
充分地分析和理解问题本身,弄清要求做什么(What to do?)。
在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。
最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。
确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。
上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。
静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。
二.基础题2.1题目用选择法对10个数进行排序。
有一个已排好序的数组。
现输入一个数,要求按原来的规律插入到原数组中。
2.2解题思路程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。
先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。
教师招聘考试题库《教学技能与理论实践》必看考点最新版(二)1、多选题说课的内容应包括_____。
A : 说教材B : 说教学目标C : 说学情D : 说教法E : 说教学程序参考答案: ABCDE本题解释:【答案】。
解析:考查说课的内容。
2、单选题一份教案的核心是_____。
A : 提出教学目的B : 选择教学方法C : 设计教学过程D : 规划板书内容参考答案: C本题解释:【答案】C。
解析:教学过程是整个教学的中心,也就是教案的核心。
3、单选题教育局到学校来听老师进行说课,以判断学校教师的教学能力,这属于_____。
A : 研讨性说课B : 评价性说课C : 检查性说课D : 示范性说课参考答案: C本题解释:【答案】C。
解析:检查性说课是指为了解、检查说课者说课水平和教学能力等业务素质而安排的说课。
4、单选题为更好的实现教学目标,教师在开学之初便需要拟定_____。
A : 学期教学进度计划B : 课题计划C : 课时计划D : 教案参考答案: A本题解释:【答案】A。
解析:开学之初需要拟定这一学年的教学计划,课题计划是单元计划,课时计划就是教案。
5、多选题下列选项中影响课堂观察因素的有_____。
A : 学习成绩B : 光环效应C : 期望效应D : 刻板效应参考答案: ABCD本题解释:【答案】ABCD。
解析:四种因素都是课堂观察的影响因素。
6、单选题学生具有向师性体现了教师的教学技能具有_____。
A : 复杂性B : 发展性C : 整体性D : 示范性参考答案: D本题解释:【答案】D。
解析:教师对学生的示范作用无时无刻不在发生着。
由于青少年学生的向师性和模仿性,使得教师教学技能的构成、水平和发展情况,对学生的发展和成长具有直接和间接的自发影响力。
7、单选题教学评价主要包括_____。
A : 学生学习结果的评价B : 教师教学工作的评价C : 学生学习结果的评价和教师教学工作的评价D : 课堂上课效果的评价参考答案: C本题解释:【答案】C。
C++学习中的一个整体性问题
摘要:C++是应用最广的编程语言,C++的应用水平代表着一个国家的软件产业发展水平,但是C++是最难掌握的编程语言。
本文认为,只有自觉地把C、C++和数据结构作为一个整体,才能解决C++学习难的问题。
关键词:C语言;C++语言;数据结构;重用程度
C++是计算机软件领域中应用最广的编程语言,包括操作系统、设备驱动、编译器、系统工具、图像处理、数据库系统以及通用办公软件等在内的能够代表一个国家软件产业发展水平的基础软件都是适合C++应用的领域,因此,C++的应用水平代表着一个国家的软件产业发展水平。
不仅如此,C++具有的既可以针对底层硬件设计又可以面向应用软件设计的功能使它成为我们深入分析、理解和应用其它各种软件的方法,学好C++,再学用其它软件就容易多了,用侯捷的话说,“万千使用者前赴后继的动力是:一旦学成,妙用无穷”。
C++也是最难掌握的编程语言。
一是内容多:C++新标准出现之后,“一个覆盖面非常广阔的库现在成了标准C++的一部分,其中包括以前称为STL(标准模板库)的内容。
新的string类型、一组顺序和关联容器类型(比如vector、list、map 和set),以及在这些类型上进行操作的一组可扩展的泛型算法(generic algorithm),都是这个新标准的特性”[1]。
二是语法和语义不易理解:C++程序要由C++编译器在语言层面上展开,例如,程序员设计的很多函数并不在程序员程序中被调用,而是在展开之后的内部C++程序表现中被调用,这与传统的结构化程序设计完全不同,令很多人感到困惑,他们抱怨C++编译器说:“它在你的背后做事情”[2],而C++很多令人疑惑的概念都和C++编译器有关。
本文认为,只有从C、C++和数据结构作为一个整体出发,才能解决C++学习难的问题。
1数据结构是语言研究的对象
长期以来,C、C++和数据结构都是相互独立的课程:C与C++的联系仅仅限于C++与C兼容,而主要强调的还是它们在方法上的截然不同;数据结构强调不依赖任何编程语言的描述,并且更多的是用类语言即非编程语言描述,即便使用了编程语言,也仅是作为描述数据结构的工具。
C++标准的出现,迫使我们重新审视它们之间的关系。
当我们说,数据结构不依赖任何编程语言的描述,或者说,编程语言仅仅是描述数据结构的工具,那是为了不受编程语言的语法细节的影响,以突出典型算法的设计和算法的时间复杂度分析。
但是,如果重点研究的是数据结构代码的重用性,那么数据结构不仅必须用编程语言描述,而且还必须研究用什么编程语言描述才能提高数据结构代码的重用程度、使语言能够进一步发展的问题。
我们要学习的C++标准库以及建立其上的重用程度更高的泛型算法都是这种研究的成果。
在这里,数据结构不再是编程语言描述的对象,而是编程语言研究的对象,是编程语言的一部分。
用个比喻来说,研究资本主义生产活动中的人和研究解剖
学意义下的人,意义是不同的。
数据结构作为语言的研究对象,要求我们按照语言发展的规律去研究它。
语言发展是语言重用程度不断提高:从汇编语言,C语言,到C++,Java的流行,是基础设计方法重用程度的提高;从指令语句到函数,从对象到构件,支持重用的语言机制日渐成熟。
按照语言发展规律去研究,就是“从事物的发展、‘自己运动’、变化中来观察事物” [3],即从事物的关系和它的必然发展去观察事物本身。
Bruce Eckel教授在他的Thinking in C++(C++编程思想)一书中说:“由于很多人学习走了弯路,因此,我们已经开始探索C程序员转移到C++语言性能层上的方法” [4]。
他先用C语言实现一个袖珍C库(一个简化的顺序结构),然后再转换为C++实现,由此进入C++。
他认为,“C++的主要设计目标之一是使库容易使用。
这意味着,在C中使用库有困难。
懂得这一点就对C++设计有了初步的了解,从而对如何使用它有了更深入的认识”[4]。
其实,这不仅对C程序员,而且对任何想学好C++的人来说,都是重要的。
2数据结构领我们从C走进C++
Bruce Eckel教授从软件发展的角度,揭示了C、C++和结构的联系:C需要创建结构,但是C语言结构不能像语言内部类型一样使用,这不利于软件重用程度的进一步提高,于是,“用户从设计自定义数据类型开始扩展C语言” [5],“C++对C的结构体类型作了实质性的扩充” [5]。
可以说,“C++的许多性能都围绕着一个根本的思想:创建新的数据类型的能力”[4]。
这里需要阐明结构和数据结构的关系:结构是变量集合体,数据结构指向量、集合、树、图、代数方程、多项式等典型离散结构,也可以说,是典型算法依赖的结构,或者说,是服务于典型算法的结构,数据结构和算法是相互依存的。
从语言上讲,结构包含数据结构,从算法上讲,结构指数据结构。
Bruce Eckel教授实际上提示了学习C++的一个基本原则:不要从概念出发,要从程序设计的需要出发,而且他选择了具有典型意义的需要——顺序结构的重用性。
很多C++教材为了避免数据结构的内容,选择了从数值结构(而且常常是简单的数值结构)向类的转换的学习方法。
一个需要是否具有典型意义,要看它在多大程度上反映语言的必然发展。
C++的特征可以归结为四个方面:一个更好的C,支持数据抽象,支持面向对象编程,支持泛型编程。
顺序结构比数值结构具有更多的需要抽象的内容,以结构串为例:因为它含有指针成员,所以必须创建构造函数、拷贝构造函数、析构函数、拷贝赋值运算符重载;因为有C文本串成员,所以必须创建转换构造函数、转换赋值运算符重载、成员转换函数;因为具有数值计算的特点,所以必须重载逻辑运算符和关系运算符;而且它具有的丰富的、需要封装的函数,其函数代码几乎就是C结构串代码,这使从C到C++的转换更“平滑”、渐进,使我们可以集中研究转换的C++内容;还有,转换后的C++类串是更好的C串;特别是,C++类串是研究C++标准中非顺序结构、面向对象编程和泛型编程的基础。
而数值结构因为一般不含指针成员,所以在向C++转换过程中,拷贝构造函数、析构函数、拷贝赋值运算符重载可以创建也可以不创建,没有差别,而且转换后的结果在以后的C++标准的学习中应用很少。
既然C++产生于C程序设计的需要,那么就可以用C语言明确地表达这种需要和满足这个需要的可能的方法,这是人的主观能动性。
结果是一组C语句可能被抽象为一条C++语句,或者说,一条C++语句可能被解读为一组C语句,这使我们可以从C的角度反向审视令人困惑的C++语法和语义,困惑被C程序员自觉能动的活动即实践解除了。
“凡是把理论引向神秘主义的神秘东西,都能在人的实践中以及对这个实践的理解中得到合理的解决” [6]。
以结构串(简化的)为例,表1和表2显示了从C描述到C++描述的部分转换内容。
3学习中的辩证思维
概括起来说,C、C++和数据结构是相互包含的整体。
辩证法所说的相互包含或某物中包含他物,并不是指他物作为一个现成的细小的东西包含在某物中,而是作为某物的一个方面、一种趋势、一种因素包含在某物中。
C包含C++,是指C包含着C++作为其必然的发展。
C++包含C是因为它是更好的C,例如,C++的向量类模板std::vector就是更好的C数组,C++类串就包含着C文本串。
“每一种事物都有它的特殊的否定方式,经过这样的否定,它同时就获得发展,每一种观念和概念也是如此”[7]。
在这个意义上讲,C、C++和数据结构的学习是统一的。