全国计算机等级考试《二年级Java语言程序设计》专用教材考纲分析考点精讲真题演练强化习题
- 格式:doc
- 大小:14.74 MB
- 文档页数:413
全国计算机等级考试《二级C++语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】最新资料,WORD格式,可编辑修改!目录第一部分公共基础知识........................................................第1章数据结构与算法....................................................考纲分析..............................................................考点精讲..............................................................1.1 算法.......................................................1.2 数据结构的基本概念...........................................1.3 线性表及其顺序存储结构.......................................1.4 栈和队列.....................................................1.5 线性链表.....................................................1.6 树与二叉树...................................................1.7 查找技术.....................................................1.8 排序技术.....................................................强化习题..............................................................第2章程序设计基础......................................................考纲分析..............................................................考点精讲..............................................................2.1 程序设计方法与风格...........................................2.2 结构化程序设计...............................................2.3 面向对象的程序设计...........................................强化习题..............................................................第3章软件工程基础......................................................考纲分析..............................................................考点精讲..............................................................3.1 软件工程基本概念.............................................3.2 结构化分析方法...............................................3.3 结构化设计方法...............................................3.4 软件测试.....................................................3.5 程序的调试...................................................强化习题..............................................................第4章数据库设计基础....................................................考纲分析..............................................................考点精讲..............................................................4.1 数据库系统的基本概念.........................................4.2 数据模型.....................................................4.3 关系代数.....................................................4.4 数据库设计与管理.............................................强化习题.............................................................. 第二部分C++语言程序设计.....................................................第1章C++语言概述.......................................................考纲分析..............................................................考点精讲..............................................................1.1 C++语言的发展................................................1.2 C++语言的特点................................................1.3 面向对象程序设计.............................................1.4 C++语言的基本符号............................................1.5 C++语言的词汇................................................1.6 C++程序的基本框架............................................1.7 C++程序的开发过程............................................强化习题..............................................................第2章数据类型、运算符和表达式..........................................考纲分析..............................................................考点精讲..............................................................2.1 C++语言的数据类型............................................2.2 常量.......................................................2.3 变量.......................................................2.4 运算符和表达式...............................................强化习题..............................................................第3章基本控制结构......................................................考纲分析..............................................................考点精讲..............................................................3.1 C++语句......................................................3.2 顺序结构.....................................................3.3 选择结构.....................................................3.4 循环结构.....................................................3.5 跳转语句.....................................................强化习题..............................................................第4章数组、指针与引用..................................................考纲分析..............................................................考点精讲..............................................................4.1 数组.......................................................4.2 指针.......................................................4.3 引用.......................................................4.4 动态存储分配.................................................强化习题.............................................................. 第5章函数............................................................考纲分析..............................................................考点精讲..............................................................5.1 函数定义.....................................................5.2 函数调用.....................................................5.3 函数原型.....................................................5.4 函数返回类型.................................................5.5 函数参数.....................................................5.6 函数重载.....................................................5.7 内联函数.....................................................5.8 递归函数.....................................................5.9 变量的生存周期...............................................强化习题.............................................................. 第6章类和对象..........................................................考纲分析..............................................................考点精讲..............................................................6.1 类的定义.....................................................6.2 对象的定义...................................................6.3 构造函数和析构函数...........................................6.4 自由存储对象.................................................6.5 this指针.....................................................6.6 静态成员.....................................................6.7 常成员.......................................................6.8 友元.......................................................6.9 对象数组.....................................................6.10 成员对象....................................................强化习题.............................................................. 第7章继承和派生........................................................考纲分析..............................................................考点精讲..............................................................7.1 继承与派生...................................................7.2 派生类对基类成员的访问.......................................7.3 派生类的构造函数和析构函数...................................7.4 多继承与虚基类...............................................7.5 子类型关系...................................................7.6 虚函数与多态性...............................................强化习题.............................................................. 第8章运算符重载........................................................考纲分析..............................................................考点精讲..............................................................8.1 运算符函数与运算符重载.......................................8.2 典型运算符的重载.............................................8.3 运算符重载应注意的几个问题...................................强化习题.............................................................. 第9章模板............................................................考纲分析..............................................................考点精讲..............................................................9.1 函数模板.....................................................9.2 类模板.......................................................强化习题.............................................................. 第10章C++流............................................................考纲分析..............................................................考点精讲..............................................................10.1 C++流的概念.................................................10.2 输入输出的格式控制..........................................10.3 文件流......................................................强化习题..............................................................第一部分公共基础知识第1章数据结构与算法考纲分析1.算法的基本概念,算法复杂度的概念和意义(时间复杂度与空间复杂度)。
一、选择题(每小题1分,共40小题,共40分)1 .常米用的两种存储结构是()。
A. 顺序存储结构和链式存储结构B. 散列方法和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构Ao【解析】线性表的存储结构有顺序存储结构和链式存储结构。
2. 在深度为5的满二叉树中,叶子结点的个数为()。
A. 32B. 31C. 16D. 15Co【解析】根据满二叉树的定义,一棵深度为k且有21个结点的二叉树为满二叉树。
满二叉树的叶子结点为最后一层的结点数。
根据满二叉树的性质,在满二叉树的第i层上至多有21个结点。
因此深度为5的满二叉树的叶子结点数为25-1=16 个。
3. 下列叙述中错误的是()。
A. 线性表是由n个元素组成的一个有限序列B. 线性表是一种线性结构C. 线性表的所有结点有且仅有一个前件和后件D. 线性表可以是空表Co【解析】线性表是一种线性结构,由n(n > 0)个元素组成,所以线性表可以是空表。
但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。
4. 数据库技术的根本目标是要解决数据的()。
A. 存储问题B. 共享问题C. 安全问题D. 保护问题Bo【解析】在数据库系统中,需要对数据进行集合、统一的管理,以达到被多个应用程序共享的目标。
5 •在设计程序时,应采纳的原则之一是 ()。
A. 不限制语句的使用B. 减少或取消注解行C. 程序越短越好D. 程序结构应有助于读者理解Db 【解析】程序设计中,程序不要求长度,以结构清晰、易于理解为标准,程序员可以添加 注释来助于理解,同时要尽量少用语句,否则会破坏程序的结构。
6 •结构化程序设计的核心和基础是 ()。
A. 结构化分析方法B. 结构化设计方法C. 结构化设计理论D. 结构化编程方法Co 【解析】结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、 结构化设计方法和结构化编程方法。
2024年等级考试-计算机二级-Java语言程序设计考试历年真题常考点试题带答案(图片大小可任意调节)第1卷一.单选题(共20题)1.编译JavaApplet源程序文件产生的字节码文件的扩展名为()A.javaB.classC.htmlD.exe2.获取 InetAddress 对象的 IP 地址所用到的方法是A.etHostlPAddress()B.getHostlP()C.getHostAddress()D. getHost()3.下列叙述中正确的是哪一个( ) 。
A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述 3种说法都不对4.有整型数组: int[] x={12,35,8,7,2};, 则调用方法 Arrays.sort(x)后,数组 x 中的元素值依次是 ( ).A.2 7 8 12 35B.12 35 8 7 2C.35 12 8 7 2D.8 7 12 35 25.定义类头时能使用的修饰符是A. privateB.staticC.abstractD.protected6.开发软件时对提高开发人员工作效率至关重要的是 ( ) 。
A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序员的数量D.计算机的并行处理能力7.下列有关Java的叙述错误的是A.是—种强类型语言B.与平台无关C.可以使用汉字变量名D.不检查数组下标越界8.下述概念中不属于面向对象方法的是 () 。
A.对象、消息B.继承、多态C.类、封装D.过程调用9.设 int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的 switch 语句是A.switch (x + y) { ...... }B.switch ( ch + 1 ) { ...... }C. switch ch D) { ...... }D.switch ( a + b ) { ...... }10.关于包的描述错误的是A.包可以将相关的类和接口组织在一起,便于识别和管理B.包中的类可以访问同一包的其它类的私有成员C.不同包中的相同命名,不会产生冲突D.用修饰的顶级类和接口对包外代码可见11.在 Java 中, 表示换行符的转义字符是 () 。
全国计算机等级考试二级Java语言程序设计试题及答案(一)概述一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是()。
A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述3种说法都不对D。
【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。
2.开发软件时对提高开发人员工作效率至关重要的是()。
A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序员的数量D.计算机的并行处理能力B。
【解析】先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。
3.程序设计语言的基本成分是数据成分、运算成分、控制成分和()。
A.对象成分B.变量成分C.语句成分D.传输成分D。
【解析】程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。
4.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
A.125 B.n/2C.n D.n+l C。
【解析】对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。
在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。
5.有下列二叉树,对此二叉树前序遍历的结果为()。
A.XZCYAB B.XYZABC C.XYABCZ D.XYAZBC D。
【解析】对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
6.下列叙述中正确的是()。
A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述3种说法都不对C。
全国计算机等级考试二级Java语言程序设计练习题库2020年9月全国计算机等级考试《二级Java语言程序设计》题库【历年真题+章节题库+模拟试题】目录第一部分历年真题全国计算机等级考试《二级Java语言程序设计》真题及详解(一)全国计算机等级考试《二级Java语言程序设计》真题及详解(二)全国计算机等级考试《二级Java语言程序设计》真题及详解(三)全国计算机等级考试《二级Java语言程序设计》真题及详解(四)全国计算机等级考试《二级Java语言程序设计》真题及详解(五)第二部分章节题库公共基础知识第1章数据结构与算法第2章程序设计基础第3章软件工程基础第4章数据库设计基础Java语言程序设计一、选择题专项练习二、填空题专项练习第三部分模拟试题全国计算机等级考试《二级Java语言程序设计》模拟试题及详解(一)全国计算机等级考试《二级Java语言程序设计》模拟试题及详解(二)•推荐相关资料2020年9月全国计算机等级考试《二级A c c e s s数据库程序设计》题库【历年真题+章节题库+模拟试题】2020年9月全国计算机等级考试《二级V is u a l B a s ic语言程序设计》网授V IP班2020年9月全国计算机等级考试《二级V is u a l F o x P ro数据库程序设计》题库【历年真题+章节题库+模拟试题】全国计算机等级考试《二级V is u a l B a s ic语言程序设计》真题解析班(网授)2020年9月全国计算机等级考试《二级V is u a l B a s ic语言程序设计》网授精讲班【教材精讲+真题串讲】2020年全国计算机等级考试《二级公共基础知识》网授精讲班【教材精讲+真题串讲】2020年全国计算机等级考试《二级P y t h o n语言程序设计》全套资料【教材+真题题库】。
一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是( )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对B。
【解析】与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。
2.下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述三种说法都不对C。
【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。
3.软件测试目的是( )。
A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误D。
【解析】软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多的bug。
4.下面描述中,不属于软件危机表现的是( )。
A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高A。
【解析】①对软件开发的进度和费用估计不准确;②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
5.软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程A。
【解析】软件生命周期(SDLC,Systems Development Life Cycle)是软件的产生直到退役的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
基本要求 1.掌握Java语言的特点、实现机制和体系结构。
2.掌握Java语言中面向对象的特性。
3.掌握Java语言提供的数据类型和结构。
4.掌握Java语言编程的基本技术。
5.会编写Java用户界面程序。
6.会编写Java简单应用程序。
7.会编写Java小应用程序(Applet)。
8.了解Java语言的广泛应用。
考试内容 一、Java语言的特点和实现机制 二、Java体系结构1.Java程序结构。
2.Java类库结构。
3.Java程序开发环境结构。
三、Java语言中面向对象的特性1.面向对象编程的基本概念和特征。
2.类的基本组成和使用。
3.对象的生成、使用和删除。
4.包与接口。
5.Java类库的常用类和接口。
四、Java语言的基本数据类型和运算1.变量和常量。
2.基本数据类型及转换。
3.Java类库中对基本数据类型的类包装。
全国计算机等级考试二级Java语言 程序设计考试大纲(2023年版)4.运算符和表达式运算。
5.字符串和数组。
五、Java语言的基本语句1.条件语句。
2.循环语句。
3.注释语句。
4.异常处理语句。
5.表达式语句。
六、Java编程基本技术1.输入输出流及文件操作。
2.线程的概念和使用。
3.程序的同步与共享。
4.Java语言的继承、多态和高级特性。
5.异常处理和断言概念。
6.Java语言的集合(Collections)框架和泛型概念。
七、编写用户界面程序基础1.用AWT编写图形用户界面的基本技术。
2.用Swing编写图形用户界面的特点。
3.Swing的事件处理机制。
八、编写小应用程序(Applet)基础1.Applet类的API基本知识。
2.Applet编写步骤及特点。
3.基于AWT和Swing编写用户界面。
4.Applet的多媒体支持和通信。
九、JavaSDK6.0的下载和安装 考试方式 上机考试,考试时长120分钟,满分100分。
1.题型及分值单项选择题40分(含公共基础知识部分10分)。
全国计算机等级考试二级Java语言程序设计试题及答案(一)概述一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是()。
A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述3种说法都不对D。
【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。
2.开发软件时对提高开发人员工作效率至关重要的是()。
A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序员的数量D.计算机的并行处理能力B。
【解析】先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。
3.程序设计语言的基本成分是数据成分、运算成分、控制成分和()。
A.对象成分B.变量成分C.语句成分D.传输成分D。
【解析】程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。
4.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
A.125B.n/2C.n D.n+l C。
【解析】对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。
在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。
5.有下列二叉树,对此二叉树前序遍历的结果为()。
A.XZCYAB B.XYZABC C.XYABCZ D.XYAZBC D。
【解析】对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
6.下列叙述中正确的是()。
A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述3种说法都不对C。
一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是( )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述三种说法都不对B。
【解析】与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。
2.下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述三种说法都不对C。
【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。
3.软件测试目的是( )。
A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误D。
【解析】软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多的bug。
4.下面描述中,不属于软件危机表现的是( )。
A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高A。
【解析】①对软件开发的进度和费用估计不准确;②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
5.软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程A。
【解析】软件生命周期(SDLC,Systems Development Life Cycle)是软件的产生直到退役的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是( )。
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/Z)C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)C。
【解析】二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
2.算法的时间复杂度是指( )。
A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数D。
【解析】算法的时间复杂度是指算法需要消耗的时间资源。
一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=O(f(n))因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Cornplexity)。
简单来说就是算法在执行过程中所需要的基本运算次数。
3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。
A.编辑软件B.操作系统C.教务管理系统D.浏览器B。
【解析】编辑软件和浏览器属于工具软件,教务系统是应用软件。
4.软件(程序)调试的任务是( )。
A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质A。
【解析】调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。
调试是测试之后的活动5.数据流程图(DFD图)是( )。
A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具C。
【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。
全国计算机等级考试《二级Java语言程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】最新资料,WORD格式,可编辑修改!目录第一部分公共基础知识 (6)第1章数据结构与算法 (6)考纲分析 (6)考点精讲 (6)1.1 算法 (6)1.2 数据结构的基本概念 (10)1.3 线性表及其顺序存储结构 (12)1.4 栈和队列 (14)1.5 线性链表 (18)1.6 树与二叉树 (21)1.7 查找技术 (27)1.8 排序技术 (27)强化习题 (30)第2章程序设计基础 (35)考纲分析 (35)考点精讲 (35)2.1 程序设计方法与风格 (35)2.2 结构化程序设计 (36)2.3 面向对象的程序设计 (38)强化习题 (42)第3章软件工程基础 (46)考纲分析 (46)考点精讲 (46)3.1 软件工程基本概念 (46)3.2 结构化分析方法 (51)3.3 结构化设计方法 (56)3.4 软件测试 (65)3.5 程序的调试 (72)强化习题 (74)第4章数据库设计基础 (78)考纲分析 (78)考点精讲 (78)4.1 数据库系统的基本概念 (78)4.2 数据模型 (85)4.3 关系代数 (94)4.4 数据库设计与管理 (99)强化习题 (104)第二部分Java语言程序设计 (108)第1章Java语言概论 (108)考纲分析 (108)考点精讲 (108)1.2 Java语言面向对象编程 (110)强化习题 (125)第2章基本数据类型 (129)考纲分析 (129)考点精讲 (129)2.1 概述 (129)2.2 基本数据类型 (133)2.3 引用数据类型 (136)2.4 Java类库中对基本数据类型的对象包装器(wrapper)类 (139)强化习题 (141)第3章运算符和表达式 (144)考纲分析 (144)考点精讲 (144)3.1 概述 (144)3.2 算术运算符和算术表达式 (145)3.3 关系运算符和关系表达式 (149)3.4 布尔逻辑运算符和布尔逻辑表达式 (151)3.5 位运算符和位运算表达式 (153)3.6 赋值运算符和赋值表达式 (156)3.7 条件运算符与条件表达式 (157)3.8 运算符的优先级和复杂表达式 (159)3.9 表达式语句 (160)强化习题 (161)第4章流程控制 (163)考纲分析 (163)考点精讲 (163)4.1 概述 (163)4.2 分支(选择)语句 (163)4.3 循环语句 (168)4.4 跳转语句 (174)4.5 循环语句与分支语句的嵌套 (177)4.6 递归 (178)强化习题 (179)第5章Java的继承、多态、高级类特性和数组 (182)考纲分析 (182)考点精讲 (182)5.1 概述 (182)5.2 覆盖方法 (193)5.3 重载方法 (196)5.4 高级类特性 (199)5.6 数组 (210)强化习题 (217)第6章异常和断言 (219)考纲分析 (219)考点精讲 (219)6.1 概述 (219)6.2 异常处理类型 (222)6.3 异常处理编程的提醒 (226)6.4 断言 (237)强化习题 (241)第7章输入输出及文件操作 (243)考纲分析 (243)考点精讲 (243)7.1 概述 (243)7.2 文件 (250)7.3 字节流 (254)7.4 字符流 (256)7.5 对象流 (261)7.6 过滤流 (262)7.7 管道流 (263)7.8 不同流的速度比较 (263)7.9 输入输出流和正则表达式 (267)7.10 Java I/O流的其他应用 (270)强化习题 (271)第8章线程 (274)考纲分析 (274)考点精讲 (274)8.1 概述 (274)8.2 线程的创建 (276)8.3 线程的调度与控制 (280)8.4 线程同步 (286)8.5 线程状态与生命周期 (297)8.6 线程相关的其他类与方法 (300)强化习题 (303)第9章编写图形用户界面 (307)考纲分析 (307)考点精讲 (307)9.1 概述 (307)9.2 用AWT编写图形用户界面 (307)9.3 AWT事件处理模型 (320)9.5 用Swing编写图形用户界面 (336)9.6 Swing组件和容器 (339)9.7 Swing的事件处理机制 (351)强化习题 (352)第10章Applet程序设计 (357)考纲分析 (357)考点精讲 (357)10.1 Applet的基本概念 (357)10.2 Applet的编写 (364)10.3 Applet中的图形化用户界面GUI (369)10.4 Applet的多媒体支持 (373)10.5 Applet与工作环境的通信 (376)强化习题 (378)第11章集合与泛型 (380)考纲分析 (380)考点精讲 (380)11.1 概述 (380)11.2 集合框架 (380)11.3 简单集合类 (387)11.4 泛型 (393)强化习题 (399)第12章Java SDK 6.0的下载和操作 (400)考纲分析 (400)考点精讲 (400)12.1 Java SDK 6.0的下载与安装 (400)12.2 Java SDK 6.0的操作命令 (402)12.3 Java编程规范 (404)强化习题 (411)第一部分公共基础知识第1章数据结构与算法考纲分析1.算法的基本概念,算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义,数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义,线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义,栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念,二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法,基本排序算法(交换类排序,选择类排序,插入类排序)。
考点精讲1.1算法考点1 算法的基本概念(1)算法的定义算法是指解题方案的准确而完整的描述,即算法是对特定问题求解步骤的一种描述。
它是一组严谨定义运算顺序的规则,且每个规则都是明确有效的,此顺序将在有限的次数下终止。
需要注意的是:算法不等于程序,也不等于计算方法。
(2)算法的基本特征①可行性a.算法中的每一步骤都必须能够实现;b.算法执行的结果要能够达到预期的目的。
②确定性确定性是指算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释,也不允许有多义性。
③有穷性有穷性是指算法必须能在有限的时间内做完,即必须能在执行有限个步骤之后终止,且必须有合理的执行时间。
④拥有足够的情报算法是否有效,取决于为算法所提供的情报是否足够。
一般而言,当算法有足够的情报时,此算法有效,而当提供的情报不够时,算法可能无效。
【真题演练】算法的有穷性是指()。
[2013年9月真题]A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用【答案】A【解析】算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗费太长时间得到的正确结果是没有意义的。
考点2 算法设计基本方法(1)列举法①基本思想根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。
常用于解决“是否存在”或“有多少种可能”等类型的问题。
②主要特点算法比较简单,但列举情况较多时,算法工作量很大。
③注意事项例举算法时,通过对实际问题进行详细分析,将与问题有关的知识条理化、完备化、系统化,并从中找出规律,或对所有可能的情况进行分类,从而引出一些有用的信息,减少列举量。
(2)归纳法①基本思想通过列举少量的特殊情况,经过分析,最后找出一般的关系。
②主要特点a.比列举法更能反映问题的本质,可解决列举量为无限的问题;b.可操作性低,不易归纳出一个具体数学模型;c.归纳得出的结论只是一种猜测,须对这种猜测加以必要的证明。
(3)递推①基本思想从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。
②主要特点a.初始条件或问题本身已给定,或通过对问题的分析化简得到;b.递推本质上属于归纳法,递推关系式往往是归纳的结果;c.数值型递推算法计算过程中必须注意数值计算的稳定性问题。
(4)递归①基本思想将复杂问题逐层分解,归结为一些简单的问题,将简单问题解决掉,再沿着原来分解的逆过程逐步进行综合。
②主要特点a.递归的基础是归纳,对问题逐层分解的过程实际上并没有对问题进行求解;b.在可计算性理论和算法设计中占有重要地位;c.递归算法比递推算法清晰易读,结构简练;d.设计递归算法比递推算法容易,但是其执行效率较低。
③分类a.直接递归。
一个算法P显式地调用自己。
b.间接递归。
算法P调用另一个算法Q,而算法Q又调用算法P。
④递归与递推的区别递归与递推的区别主要在于二者实现方法的不同,表现为:a.递归是从算法本身到达递归的边界的;b.递推是从初始条件出发,逐次推出所需求的结果。
(5)减半递推技术减半递推技术是工程上常用的分治法,其中,“减半”指将问题的规模减半,而问题的性质不变;“递推”指重复“减半”的过程。
(6)回溯法回溯法是指通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,若试探成功,则问题得到解决,若试探失败,则逐步回退换别的路线再进行试探。
【真题演练】1.下列叙述中正确的是()。
[2013年9月真题]A.所谓算法就是计算方法B.程序可以作为算法的一种描述方法C.算法设计只需考虑得到计算结果D.算法设计可以忽略算法的运算时间【答案】B【解析】程序可以作为算法的一种描述方法,算法在实现时需要用具体的程序设计语言描述。
A项错误,算法并不等同于计算方法,是指对解题方案的准确而完整的描述;C项错误,算法设计需要考虑可行性、确定性、有穷性与足够的情报;D项错误,算法设计有穷性要求操作步骤有限且必须在有限时间内完成,耗费太长时间得到的正确结果是没有意义的。
2.下列关于算法的描述中错误的是()。
[2014年3月真题]A.算法强调动态的执行过程,不同于静态的计算公式B.算法必须能在有限个步骤之后终止C.算法设计必须考虑算法的复杂度D.算法的优劣取决于运行算法程序的环境【答案】D【解析】算法是指对解题方案的准确而完整的描述。
A项正确,算法强调实现,不同于数学上的计算方法;B项正确,算法的有穷性是指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成;C项正确,算法设计必须考虑执行算法所需要的资源,即时间复杂度与空间复杂度;D项错误,算法的优劣取决于算法复杂度,只有当算法被编程实现运行时才会受到运行环境影响。