1《计算机软件技术基础2》教学要求说明:教学要求分为了解、掌握和熟练掌握三个层次,它们的含义大致为:了解即掌握概念,掌握就是能够理解和分析现有知识,熟练掌握就是会运用所学知识解决实际问题。凡教学要求上没列举的内容不做要求。第一章C++程序设计基础教学要求:1)掌握C++程序开发过程;了解C++程序的基本结构;2)掌握C++的基本数据类型,包括:整型(int)、字符型(char)、浮点型(float、double),布尔型(bool);3)能够正确地定义及使用常量、变量、引用;4)熟练掌握运算符的使用(不含位操作运算符),会根据运算符的优先级和结合性正确计算表达式的值;5)熟练地构造出各种满足要求的表达式(位运算不要求);6)熟练计算各种表达式的值;7)能够使用cin和cout流与计算机交互。第二章程序控制结构教学要求:1)了解三种基本的控制结构;2)熟练使用if、switch、while、do-while和for语句;3)熟练掌握单重循环和双重循环;4)熟练掌握break语句和continue语句在循环中的应用。第三章指针和数组教学要求:1)熟练掌握数组的定义、初始化和对数组元素的访问方法;2)理解一维和二维数组的存储顺序;3)理解指针和地址的概念;熟练掌握指针的使用;熟练掌握*&的使用4)熟练掌握指针与数组的关系,会用指针访问一维(熟练掌握)和二维数组(掌握)的元素;5)掌握指针的+、-、++、--运算的实质;6)熟练掌握字符数组与指针;7)熟练掌握new和delete两个运算符。第四章函数教学要求:1)熟练掌握C++函数的定义和函数的调用方法;2)熟练掌握函数原型说明;23)了解对函数的嵌套调用和递归调用;4)熟练掌握函数间参数的各种传递机制;5)了解变量的作用域、生存期和可见性;6)了解函数参数的缺省、函数的重载;7)了解函数返回指针和返回引用;8)掌握对C++的主要系统函数的使用及其相应头文件的包含,例如:exit(),strcat(),strcmp(),strcpy(),strlen(),sqrt()等;9)了解编译预处理的概念;掌握包含文件命令的两种写法。第五章类和对象教学要求:1)了解面向对象的程序设计方法的四个基本特征;2)熟练掌握类、对象的定义及对象成员的访问;3)熟练掌握构造函数(其中拷贝构造函数为了解)和析构函数;4)熟练掌握包含子对象的构造函数(子对象初始化表)和析构函数;5)了解this指针;6)掌握友元函数。第六章继承和派生类教学要求:1)了解继承性、基类和派生类的基本概念;2)掌握派生类的定义和三种继承方式;3)掌握派生类对象的数据组成;4)熟练掌握派生类的构造函数(基类初始化表+子对象初始化表)和析构函数;5)了解赋值兼容规则。第七章多态性和虚函数教学要求:1)了解多态性的概念;2)能够实现简单的运算符的重载(重载为友元函数或者成员函数);3)了解动态联编的概念;4)熟练掌握虚函数的定义和使用。(虚析构函数、纯虚函数与抽象类不做要求)第八章C++I/O流标准库教学要求:1)了解流的概念;2)了解控制台和文件输入输出流类,会定义相应的流对象;3)熟练掌握采用运算符(、)和函数(get、getline、put),对控制台的输入输出操作;34)熟练掌握采用运算符(、)和函数(get、getline、put),对文本文件的打开、读写、关闭操作;第九章线性结构教学要求:1)了解四种数据逻辑结构和四种数据存储结构的概念;2)掌握线性逻辑结构的概念;3)掌握顺序存储结构、链式存储结构的特点及优缺点;4)熟练掌握几种线性结构的概念和数据运算的特点:包括线性表、栈、队列;5)熟练掌握几种线性结构数据运算(包括插入、删除和查找)的实现过程(描述或示意,不含程序):包括线性表(顺序存储+链式存储)、栈(顺序存储+链式存储);第十章树形结构教学要求:1)了解树、二叉树、满二叉树、完全二叉树的定义和术语;2)了解二叉树的性质;3)熟练掌握二叉树的三种遍历方法;4)掌握二叉排序树(如何构建及其中序遍历的特点);5)掌握完全二叉树的顺序存储结构;6)掌握树与二叉树之间的转换。第十一章查找和排序教学要求:1)熟练掌握顺序查找、二分查找算法,了解平均查找长度;2)熟练掌握直接插入排序、直接选择排序、冒泡排序。4部分习题参考答案第一章1、简答题(略)2、’yy’和0569错误3、int、36A、a+b、c/dab、static、do、class是错误的变量名4、(1)5、(2)2、(3)1、(4)0、(5)1、(6)1、(7)9、(8)13、(9)1、(10)2、(11)5、(12)05、选择题:(1)D、(2)D、(3)B(C也对)、(4)C、(5)C、(6)C6.写出下列程序运行结果:(1)(2)(3)(4)7、编写程序(1)(2)(3)5(4)(5)第二章1、简答题(略)2、阅读下列程序并写出运行结果:(1)(2)(3)(4)(5)63、4、75、6、7、方法二:数组方式88、99、10、1011、12、1113、14、12第三章1、简答题(略)2、阅读下列程序并写出运行结果:(1)(2)(3)(4)3、编写下列程序:(1)13(2)(3)14(4)(5)15(6)(7)16第四章1、问答题(略)2、写出下列程序运行结果:(1)(2)(3)(4)(5)(6)第五章1、问答题(略)2、单项选择题:(1)A、(2)A、(3)D、(4)C、(5)A、(6)A3、写出下列程序运行结果:(1)(2)4、程序填空:(1)、①jp②0③line%10==0④200⑤obj.Run()(2)、①longintmyclass::sum=0②ob1第六章1、问答题(略)2、选择题:(1)B、(2)D、(3)C、(4)A、(5)D3、写出下列程序运行结果:(1)(2)4、程序填空:(1)、①person②(n,s)③person④(n,s)(2)、①circle②table③char[strlen(c)+1]④strcpy17第七章1、问答题(略)2、选择题:(1)D、(2)C、(3)A、(4)C、(5)C3、写出下列程序运行结果:(1)(2)4、程序填空:①constpoint&p②friend第八章1、问答题(略)2、选择题:(1)B、(2)B、(3)D、(4)A、(5)B3、写出下列程序运行结果:(1)(2)(3)4、程序填空:(1)、①ofstreamoutfile②!outfile③outfile④outfile.close()(2)、①data.dat②outfile第九章1、选择题:(1)A(2)B(3)D(4)C(5)D(6)B(7)D(8)C(9)B(10)B(11)A(12)C(13)B(14)B2、简答题(略)3、程序填空:(1)、①B.ClearList()②A.Length③i++(2)、①current-next②next③head-next(3)、①len-i-1②A.ClearList()第十章1、选择题:(1)C(2)B(3)C(4)B(5)D(6)C(7)B(8)C(9)A(10)D182、简答题:(1)、树(两种)二叉树(四种)(2)miinix2)1((3)叶结点包括:G、H、I;其余为分支结点;A在第0层,B、C第1层,D、E、F为第2层,G、H、I为第3层;二叉树的深度为3.(4)需增加4个虚结点。(5)先序:ABDGCEHIF中序:DGBAHEICF后序:GDBHIEFCA层次:ABCDEFGHI(6)50(7)对错错对(8)(9)①没有左子树的二叉树;②没有右子树的二叉树;③只有根结点的二叉树GAFHEBCDAFIHECBDGABCABCABCABCABCABC19(10)(11)(a)(b)(c)(d)(e)第十一章1、选择题:(1)C(2)C(3)B(4)B(5)C(6)C(7)C、A、B、DGFHEBCDJKLIABCABCABCAAGAFHEBCDJKLI