《程序员考试大纲.docx》由会员分享,可在线阅读,更多相关《程序员考试大纲.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序员考试大纲一、考试说明:1、掌握数制及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数 学基础知识;2、理解计算机的组成以及各主要部件的性能指标;3、掌握操作系统、程序设计语言的基础知识;4、熟练掌握计算机常用办公软件的基本操作方法;5、熟练掌握基本数据结构和常用算法;6、熟练掌握C程序设计语言,以及C+、Java、VisualBasic中一种程序设计语言;7、熟悉数据库、网络和多媒体的基础知识;8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发工程管理的常 识;9、了解常用信息技术标准、平安性,以及有关法律、法规的基本知识;10、了解信息化、计算机应用的基础知识;11、正
2、确阅读和理解计算机领域的简单英文资料。二、考试科7.计算机专业英语具有助理工程师(或技术员)英语阅读水平掌握本领域的英语基本术语考试科目2 :程序设计1 .内部设计1.1 理解外部设计1.2 软件功能划分和确定结构数据流图(DFD )、结构图1.3 物理数据设计确定数据组织方式、存储介质、设计记录格式,处理方式1.4 详细输入输出设计界面设计、报表设计等L5内部设计文档程序接口、程序功能、人机界面、输入输出、测试计划1.6 内部设计评审2程序设计1.1 模块划分(原那么、方法、标准)1.2 编写程序设计文档模块规格说明书(程序处理逻辑、输入输出数据格式)测试要求说明书(测试类型和目标、测试用例
3、、测试方法)1.3 程序设计评审3 .程序实现3.1 编程编程方法和规范程序设计语言的选择和使用人工走查程序文档化3.2 程序测试测试环境和测试工具的选择和使用测试数据的设计测试报告的编写4 .程序设计语言(C语言为必选,再在C、C+、Java语言中任选一种)4.1 C程序设计语言(C99标准)4.2 C+程序设计语言(ANSIC+标准)4.3 Java程序设计语言(Java2 )题型举例(一)选择题1 .在以下情况中,(1)适合于采用队列数据结构。(1) A.监视一个火车站售票窗口等待服务的客户B.描述一个组织中的管理机制C.统计一个商场中的顾客数D.监视进入某住宅楼的访客2.软件测试的目的
4、是(2)。(2) A.尽可能地找出软件中的缺陷B.缩短软件的开发时间C.减少软件的维护本钱D.证明程序没有缺陷3. I n C I anguage, a(3) i s a ser i es of charaters enc I osed i n doub I e quotes.(3) A. matr i xB. str i ngC. programD.stream(二)问答题试题一(必选样题)阅读以下说明和算法,完善算法并回答下列问题,将解答填入答题纸的对应栏内。 【说明】假设以二维数组1.n表示一幅图像各像素的颜色,那么Gi, j表示区域中点 (i,j)处的颜色,颜色值为。到k的整数。下面的
5、算法将指定点(K Jo )所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(Do)同色的上、下、左、右可连通的点组成同色邻接区域。例如,一幅8X9像素的图像如图1所示。设用户指定点(3, 5),其颜色值为0, 此时其上方(2, 5)、下方(4, 5)、右方(3, 6)邻接点的颜色值都为0,因此这些点属 于点(3, 5)所在的同色邻接区域,再从上、下、左、右4个方向进行扩展,可得出该同色 邻接区域的其他点(见图1中和阴影局部)。将上述同色区域的颜色替换为颜色值7所得的 新图像如图2所示。【算法】输入:矩阵G,点的坐标(0:/。),新颜色值newcolor。输出:点(的/。)所在同色邻接区
6、域的颜色为newcolor之后的矩阵G。算法步骤(规范算法,规定该算法只在第七步后结束): 第一步:假设点(,0,/。)的颜色值与新颜色值newcolor相同,那么(1 );第二步:点(5 /。)的颜色值To I dco lor;创立栈S,并将点坐标(0: /。)入栈;第三步:假设,那么转第七步;第四步:栈顶元素出栈T (x,y),并 ;第五步:1)假设点(x, y-1)在图像中且Gx, y7等于oldcolor,那么(x, y7 )入栈S;2)假设点、(x, y+1)在图像中且G x, y+1 等于o I dco I or,那么(x, y+1)入栈S;3)假设点(x7,y)在图像中且Gx7,
7、 y等于oldcolor,那么(x-1, y)入栈S;4)假设点(x+1,y)在图像中且Gx+1, y等于oldcolor,那么(x+1, y)入栈S;第六步:转 ;第七步:算法结束。【问题1】是否可以将算法中的栈换成队列?回答:(5) o试题二(必做的C语言样题)阅读以下函数说明和C语言函数,将应填入处的字句写在答题纸的对应栏内。【函数说明】函数int fun 1 (int m, int, n)的功能是:计算并返回正整数m和n的最大公约数。【函数】int fun 1 (int m, int n)While (1) I千(mn) m=m-n;EIse n=n-m;) ;【函数说明】函数long
8、 fun2 (char *str)的功能是:自左至右顺序取出非空字符串str中的数字 字符形成一个十进制整数(最多8位)。例如,假设字符串str的值为“f3g8d5. Ji2e3P12fkp”,那么函数返回值为3852312。【函数】Iong fun2 (char *str) i nt i=0;long k=0;char *p=str;whiIe (*p !=0 &$)if (*p=”0 & *p=9 ) k=+ *p - 0;+i ;)(5);)Return k;1试题三(选做的c语言样题)阅读以下说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某种传感器的输出值Rat i
9、o依赖于环境温度temp (-40 WtempW50C)。对一组环境 温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表37)。该表粗略地描述 了曲线 Rat i o (temp)。表3-1曲线Rat io (t emp)的列表值环境温度 temp传感器的输出值Ratio环境温度 temp传感器的输出值Ratio一如七0. 20lot1.17-20七0.6030七1.50-10七0.8050七1.80。七1.00校下系数K是Rati。的倒数,因此也依赖于环境温度temp。在数据处理中,人们需 要用更多的列表值细致地描述曲线K(temp),如表3-2所示。在表3-2中,各温度值所
10、对应 的K值是对表37进行线性插值再求倒数得到的,具体的计算方法如下:表3-2曲线K(temp)的列表值环境温度 temp较正系数 K环境温度 temp较正系数 K-40七5.0019七1.61-39七4.55 -38七4.17-10七1.25-37七3.85-9t1.22 -20七1.6750七0. 56(1)根据temp值,在表37中用二分法查找;(2)假设找到相应的温度值,那么按相应的Ratio值求倒数得到K值;(3)假设没找到相应的温度值,那么可确定temp所在的温度区间Tp1, Tp2,同时获得 了相应的Rat io1和Rat io2,再按如下公式计算K值:Step =( Ratio
11、1 - Ratio2)/( Tp1 - Tp2)K=1.0/( Rat i o1+ Step* (temp- Tp1)在程序中,当temp高于50或低于时,设定K=0。【程序】#i ncIude typedef struct int Temp;/*环境温度*/doub I e Rat io; /*传感器的输出值*/CURVE;#define ITEMS 7doubIe GetK(i nt,CURVE *, i nt);Void ma in ()(int Degree;doubIe k;CURVE CurveITEMS= -40, 0. 2, -20, 0. 60), -10,0.8),0,1.
12、0, 10,1.17, 30,1.50), 50,1.8 ;printf (环境温度校正系数n“);for (Degree = -40; Degree=50; Degree+)k =Getk(Degree, Curve, ITEMS);pr i ntf (%3d%4.2f n, Degree,k);)doubIe Get (i nt Temp,CURVE *P, i nt n)/*用二分法在n个元素有的序表p中查找与Temp对应的传感器输出值*/int low, high, m;doubIe Stemp;Iow =0;h i gh =n_1;i f ( (TempTemp)| (Temp (p
13、+h i gh)-Temp) )return 0.0; /*超出温度范围时返回0. 0*/while (Iow Temp)return ;if (Temp Temp) high = m-1 ;e I se low =(3);)p十=h igh;Step =(4)/(p+1) -Temp - p-Temp);return 1.0/ (p-Rat io +Step * (5);)试题四(选做的C+语言样题)阅读以下说明和C+程序,将解答写在答题纸的对应栏内。【说明】类SubClass的getSum方法返回其父类成员与类SubClass成员j的和,类 SuperClass中的getSum为纯虚拟函数
14、。程序中的第23行有错误,请修改该错误并给出修 改后的完整结果,然后完善程序中的空缺,分析程序运行到第15行且尚未执行第15行的语 句时成员变量J的值,最后给出程序运行后的输出结果。【C+代码】行号010203040506070809101112131415161718192021222324252627代码#include using namespace std; class SuperClass private;int i;public;SuperClass () i = 5;virtual int getValue ()return i; virtual int getSumO =0;;
15、class SubClass;public superClass int j;public;SubClass(int j);j(0)(1). =j;/用参数J的值更新数据成员int getValue () return j;int getSumO r e turn( 2 )g e tValue O+j;;Void main(void) SuperClass s = new count count getValue() getSum() endl;s:试题五(选做的Java语言样题)阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在下面的Java程序代码中,类
16、SalesTicket能够完成打印票据正文的功能,类 HeaDecorator与FootDecorator分别完成打印票据的台头和脚注的功能。该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据的正文!这是票据的脚注!1、计算机硬软件基础知识,考试时间为150分钟。2、程序设计,考试时间为150分钟。三、考试范围:考试科目1 :计算机与软件工程基本知识1 .计算机科学基础1.1 数制及其转换二进制、十进制和十六进制等常用数制及其相互转换1.2 数据的表示数的表示非数值数据的表示1.3 算术运算和逻辑运算计算机中二进制数的运算方法逻辑代数的基本运算1.4 数学应用常
17、用数值计算(矩阵、近似求解、插值) 排列组合、应用统计这是票据的台头!这是票据的脚注!Java程序代码】publ io cI ass SalesTicket pub Iic void pr i ntTicket ( ) System. out. pr i nt I e (这是票据的正文“);1)pub I i c cI ass Decorator extends SalesTicket SalesTicket ticket;pub Ii c Decorator (Sa IesT i cket t) ticket = t;)pub Iic void pr i ntT i cket ( ) i f
18、 (t i cket != null) t i cket. pr i ntT i cket ();1)pub Ii c cI ass HeadDecorator extends Decorator pub Ii c HeadDecorator (SalesTicket t) ;)pub Iic void pr i ntTicket ( )System, out. pr i nt I n (这是票据的台头”);super, pr intTicket ();pub Ii c cI ass FootDecorator extends Dexorator pub Iic FootDexorator (
19、SalesTicket t) ;)pub Iic void pr i ntTicket ( )super, pr intTicket ();System, out. pr i nt I n (这是票据的脚注!);)pub Ii c cI ass Main pub Iic stat ic void ma i n (Str i ng args) T = new HeadDecorator (3);T. (4);System, out. pr i nt I n (“);T = new FootDecorator (5);T.pr i nt icket ();编码基础1.5 常用数据结构数组线性表及链
20、表队列、栈树图1.6 常用算法算法与数据结构的关系算法设计和算法描述常用的排序算法查找算法常用的数值计算方法字符串处理算法递归算法 最小生成树、拓扑排序和单源点最短路径求解算法2 .计算机系统基础知识2.1 硬件基础知识2.1.1 计算机的类型和特点微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机2.1.2 中央处理器CPUCPU的组成常用的寄存器指令系统,寻址方式令执行控制、中断控制、处理机性能2.1.3 主存和辅存存储介质高速缓存(Cache )、主存辅存设备2.1.41 /0接口、I/O设备和通信设备I/O 接口I/O设备(类型、特性)通信设备(类型、特性)I/O设备
21、、通信设备的连接方法和连接介质类型2.2 软件基础知识221操作系统基础知识操作系统的类型和功能处理机管理存储管理设备管理文件管理作业管理(作业调度算法)图形用户界面和操作方法222程序设计语言和语言处理程序的基础知识语言翻译基础知识(汇编、编译、解释)程序设计语言的基本成分:数据、运算、控制和传输程序语言类型和特点2.3 网络基础知识网络的功能、分类、组成和拓扑结构 基本的网络协议与标准常用网络设备与网络通信设备,网络操作系统基础知识Client/Server结构、Browser/Server结构局域网(LAN )基础知识Internet基础知识2.4 数据库基础知识数据库管理系统的主要功能
22、和特征数据库模式(概念模式、外模式、内模式)数据模型、ER图数据操作(关系运算)数据库语言(SQL )数据库的主要控制功能(并发控制、平安控制)2.5 多媒体基础知识多媒体基本知识 常用多媒体设备性能特征,常用多媒体文件格式类型2.6 系统性能指标 响应时间、吞吐量、周转时间可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、平安性2.7 计算机应用基础知识计算机常用办公软件操作方法计算机信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用远程通信服务3 .系统开发和运行知识3.1 软件工程和工程管理基础知识软件工程基础知识软件开发生命周期各阶段的目标和任务软件过程基本知
23、识软件开发工程管理基本知识软件开发方法(原型法、面向对象方法)基础知识 软件开发工具与环境基础知识(CASE )软件质量管理基础知识3.2 系统分析设计基础知识数据流图(DFD )、实体联系图(ER图)基本知识面向对象设计、以过程为中心设计、以数据为中心设计基础知识结构化分析和设计方法模块设计、代码设计、人机界面设计基础知识3.3 程序设计基础知识结构化程序设计、流程图、NS图、PAD图程序设计风格3.4 程序测试基础知识程序测试的目的、原那么、对象、过程与工具黑盒测试、白盒测试方法测试设计和管理3.5 程序设计文档基础知识算法的描述、程度逻辑的描述、程度规格说明书 模块测试计划、模块测试用例、模块测试报告3.6 系统运行和维护基础知识 系统运行管理基础知识系统维护基础知识4 .信息平安基础知识信息系统平安基础知识信息系统平安管理加密与解密基础知识5 .标准化基础知识标准化基本概念标准的层次(国际标准、国家标准、行业标准、企业标准)相关标准(代码标准、文件格式标准、平安标准、软件开发规范和文档标准、互联网相关标准)6 .信息化基础知识信息、信息资源、信息化、信息工程、信息产业、信息技术的含义全球信息化趋势、国家信息化战略、企业信息化战略和策略常识 有关的法律、法规要点
限制150内