程序员培训指南_第1页
程序员培训指南_第2页
程序员培训指南_第3页
程序员培训指南_第4页
程序员培训指南_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

程序员考试培训指南一、考试说明1考试目标通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照程序设计规格说明书编制并调试程序,写出相应的程序文档,具有助理工程师(或技术员)的实际工作能力和业务水平。2考试要求(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识;(2)了解计算机的组成以及各主要部件性能指标;(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;(5)熟练掌握C程序设计语言以及C+、Java中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;(7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。3考试科目计算机与软件工程基础知识,考试时间为150分钟,笔试,选择题;程序设计,考试时间为150分钟,笔试,问答题。二、考试内容说明: “I”、“II”和“III”表示掌握或熟悉的程度。“I”:对所列知识要理解其内容及含义(理解)。“II” :在有关问题中能直接使用(一般应用)。“III”:对所列知识要理解其确切含义及与其它知识的联系,能够进行叙述和解释,并能在实际问题的分析、综合、推理和判断等过程中运用(综合应用)。考试科目1:计算机与软件工程基础知识1. 计算机科学基础1.1 数制及其转换l 二进制、十进制和十六进制等常用数制及其相互转换 二进制与十进制之间的相互转换(II) 二进制与十六进制之间的相互转换(I)1.2 数据的表示l 数的表示 带符号定点数据(纯整数和纯小数)的原码、反码、补码表示(II) 浮点数(实数)的表示(I) 精度和溢出的概念(II)l 非数值数据的表示(字符和汉字表示、声音表示、图像表示) 西文字符的表示(I) 汉字的表示方法(I) 声音数据的表示方法(I) 图像数据的表示方法(I)1.3 算术运算和逻辑运算l 计算机中二进制数的运算方法 补码表示定点数的相加、相减运算(I)l 逻辑代数的基本运算 基本的与、或、非逻辑运算(II)1.4 数学应用l 常用数值计算 矩阵的基本运算(I) 方程的近似求解(I) 线性插值(I)l 排列组合,应用统计 排列组合计算(I) 基本的数据统计分析方法及实例计算(I)l 编码基础 ASCII码的特点及编码计算(II) 汉字编码的特点(I) 奇偶校验码的特点及实例计算(II) 循环冗余码的定义及构造(I) 海明码的定义及构造(I)1.5 常用数据结构l 数组 数组的定义及特点(I) 一维数组元素的存储特点和元素位置计算(II) 二维数组元素的按行存储及按列存储方式的特点及元素的位置计算(II) 静态数组的概念及动态数组的概念(I)l 线性表及链表 线性表的定义和基本运算(I) 线性表的顺序存储和特点(I) 指针、结点、头指针和头结点的概念(I) 单向链表的定义及特点(II) 双向链表的定义及特点(I) 环形链表的定义及特点(II)l 队列、栈 队列的定义及运算特点(II) 循环队列的定义及运算(I) 队列采用环形链表的运算特点(I) 栈的定义及运算特点(II) 栈采用一维数组存储结构的运算特点(I) 栈采单向链表存储结构的运算特点(I)l 树 二叉树的定义(I) 二叉树的顺序存储结构和二叉链表存储结构的特点(II) 二叉树的先序、中序、后序和层序遍历运算的含义(II) 最优二叉树(哈夫曼树)的定义(I)l 图 图的定义和常用术语(I) 图的邻接矩阵存储结构和邻接表存储结构定义及特点(II)1.6 常用算法l 算法与数据结构的关系 算法的定义和特点(I) 算法与数据结构的关系(I)l 算法设计和算法描述 基本的算法设计方法(I) 算法的流程图描述和伪代码描述方法(II)l 常用的排序算法 插入排序、冒泡排序、选择排序算法(III) 希尔排序、快速排序、堆排序、归并排序算法(II)l 查找算法 顺序查找、二分查找过程(III)l 常用的数值计算方法(II)l 字符串处理算法 (II)l 递归算法(I)l 最小生成树、拓扑排序和单源点最短路径求解算法(I)2. 计算机系统基础知识2.1 硬件基础知识2.1.1 计算机的类型和特点l 微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机的特点(I)2.1.2 中央处理器CPUl CPU的组成 CPU的组成和基本结构(I) 控制器与运算器的基本组成和功能(I)l 常用的寄存器 累加器AC、标志寄存器、通用寄存器组的概念和功能(I) 程序计数器(PC)、指令寄存器(IR)、地址寄存器(MAR)和数据寄存器(MDR)的定义和作用(I)l 指令系统,寻址方式 指令系统的概念(I) 指令的概念、格式和类型(I) 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、变址寻址的含义(I)l 指令执行控制,中断控制,处理机性能 指令的执行过程(I) 流水线的基本概念(I) 中断的概念(II)2.1.3 主存和辅存l 存储介质(半导体、硬盘、光盘、U盘等) 半导体存储器的特点(I) 硬盘的参数、容量(II) U盘的容量和特点(II)l 高速缓存(Cache),主存 高速缓存(Cache)的概念、作用和基本构成(I) 主存的类型、容量和性能指标(II)l 辅存设备 磁盘、磁带、光盘、DVD盘、U盘等辅存设备的特点、性能和容量(II)2.1.4 I/O接口、I/O设备和通信设备l I/O接口 I/O接口的功能(I) 程序查询方式、中断处理方式的含义和特点(I) DMA(直接存储器存取)方式的含义和特点(I)l I/O设备(类型、特性) 常见I/O设备的类型和特性(I)l 通信设备(类型、特性) 常见通信设备的类型和特性(I)l I/O设备、通信设备的连接方法和连接介质类型 常见I/O设备与主机的连接方法(I) 总线的概念、类型和特点(II) 常见通信设备的连接方法(I) 常见连接介质的类型和特点(I)2.2 软件基础知识2.2.1 操作系统基础知识l 操作系统的类型和功能 操作系统作用、特征与功能(I) 操作系统分类(I) 嵌入式操作系统的基本概念(I) 网络操作系统的基本概念(I) 分时操作系统与实时操作系统,网络操作系统与分布式操作系统的区别(I)l 处理机管理(进程、线程) 进程的定义及组成(I) 进程控制块(PCB)的基本概念(I) 进程状态的三态模型和五态模型(II) 进程间的通信,临界资源、临界区、同步与互斥的基本概念(I) P/V操作(II) 进程调度:理解高级调度、中级调度、低级调度、调度方式方面的基础知识(I) 死锁的定义、产生死锁的原因、产生死锁的必要条件(I) 线程的定义,线程与进程的区别()l 存储管理 虚拟地址、地址空间、存储空间、地址重定位的基本概念() 固定分区、可变分区、可重定位分区的基本概念() 分页/请求分页存储管理的基本概念与原理(I)l 设备管理 设备管理基本概念,块设备、字符设备、独占设备、共享设备、虚拟设备的含义(I) Spooling(Simultaneous Peripheral Operations On Line)定义、组成和结构(I) 引入缓冲技术的原因与目的(I) 磁盘调度的基本概念:移臂调度、旋转调度(I) 先来先服务 (First-Come First-Served,FCFS)、最短寻道时间优先SSTF(Shortest Seek Time First)、扫描算法(SCAN)、单向扫描调度算法(CSCAN)磁盘调度算法的基本思想(I)l 文件管理 文件、文件系统、文件类型、文件组织结构的基本概念(I) 文件目录的概念,一级目录、二级目录、多级目录的基本概念(I) 文件的存取方法:顺序存取法、直接存取法、按键存取法的基本概念(I) 位示图、空闲块表等文件存储空间的管理算法思想(I) 空闲块链、成组链接法的基本概念(I)l 作业管理 作业的状态(提交、后备、执行、完成)、作业控制块和作业后备队列的基本概念(I) 先来先服务、短作业优先、响应比高优先作业调度算法思想(II) 优先级调度算法思想(I)l 图形用户界面和操作方法 字符用户界面、图形用户界面的基本特点(I) 常见操作系统的使用(Windows,Linux)(II)2.2.2 程序设计语言和语言处理程序的基础知识l 语言翻译基础知识 语言翻译的基本概念(I) 汇编的含义和基本过程(I) 编译的基本过程及编译各阶段的基本任务(I) 解释的含义和基本过程(I) 正规表达式的定义(II)l 程序设计语言的基本成分:数据、运算、控制和传输 程序设计语言的数据(数据类型)、运算(运算符和表达式)和语句的类型和功能(I) 函数的参数传递机制:传值、传地址(II)l 程序语言类型和特点 过程式程序语言、面向对象程序设计语言、函数式程序设计语言、逻辑程序设计语言的基本特点(I) 脚本语言的概念和基本特点(I)2.3 网络基础知识l 网络的功能、分类、组成和拓扑结构 通信子网和资源子网的概念(I) 局域网、城域网和广域网的概念(I) 星形网、树形网、环形网和总线网的概念(I)l 基本的网络协议与标准 物理层、数据链路层、网络层、传输层、应用层的基本概念(I) TCP/IP协议及相关协议的功能(I)l 常用网络设备与网络通信设备的作用和特点 中继器、集线器(HUB)、网关、交换机、路由器、网桥的基本功能和特点(I) 调制解调器的基本功能和特点(I)l Client/Server结构和Browser/Server结构的基本概念和特点(I)l 局域网(LAN)基础知识(I)l 互联网(Internet)基础知识 互联网的接入方式(I) TCP/IP协议的属性设置(II) 常用的互联网服务及协议(I) IP地址的分类、计算(II) 防火墙基本概念(I)2.4 数据库基础知识l 数据库管理系统的主要功能和特征 数据库系统(DataBase System,DBS)定义及组成(I) 数据库管理系统(DataBase Management System,DBMS)功能、特征、组成(I),文件系统与数据库系统的差异(II)l 数据库模式(概念模式、外模式、内模式) 概念模式(模式)、外模式(用户模式或子模式)、内模式(物理模式)的基本概念(II) 三级模式和两级映像(模式/内模式映像、外模式/模式映像)的基本概念(II) 数据的逻辑独立性和物理独立性的基本概念(II)l 数据模型,ER图 层次模型、网状模型、关系模型、面向对象模型的基本概念(I) 数据模型的三要素(数据结构、数据操作、数据的约束条件)的含义(I) E-R模型基本概念(II);E-R图(E-R模型)向关系模型的转换的基本方法(II) 实体中主键、候选键、外键的基本概念(II) 一对一(1:1)、一对多(1:n)、多对多(m:n)联系类型的含义(II) 简单属性、复合属性、单值属性、多值属性、NULL属性、派生属性的含义(I)l 数据操作(关系运算) 关系数据库、关系数据库模式基础知识(I) 关系模型的实体完整性、参照完整性、用户定义完整性的基本概念(I) 并、差、笛卡尔积、投影、选择关系运算的基本概念(II) 扩展的关系运算中选择、投影、连接运算方法(I)l 数据库语言(SQL) 数据定义语言(DDL):CREATE TABLE (创建表)的应用(II) 数据操纵语言(DML):SELECT(查询)、INSERT(插入)、DELETE(删除)和UPDATE(修改) 的应用(II) 完整性(integrity)定义:PRIMARY KEY、FOREIGN KEY REFERENCES使用方法(II) 权限管理:GRANT和REVORK使用方法(II)l 数据库的主要控制功能(并发控制,安全控制) 事务的基本概念、事务的特性、故障的类型(I) 数据不一致性(丢失修改、不可重复读、读脏数据)的基础知识(I) 并发控制中活锁/死锁、可串行性、两段锁协议的基本概念(I) 安全控制(权限机制、视图机制、加密机制)的基本概念(I)2.5 多媒体基础知识l 多媒体基本知识 多媒体的概念,感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体的基本概念(I) 多媒体的特征:多样性、集成性、交互性、非线性、实时性、信息使用的方便性和信息结构的动态性方面的基本概念(I) 声音信号、声音信号的数字化、波形声音的基本概念(I) 色彩的三基色、彩色空间、三要素(亮度、色调和色饱)基本概念(I) 图形和图像的基本概念(I) 图像分辨率与显示分辨率、像素深度、真/伪彩色,图像的压缩标准的基本概念(I)l 常用多媒体设备性能特征,常用多媒体文件格式类型 多媒体计算机系统的硬件组成方面的基础知识(I) 常用多媒体设备、性能及特征方面的基础知识(I) 常见的声音、图形图像、视频文件类型(I)2.6 系统性能指标l 响应时间、吞吐量、周转时间基本概念(I)l 可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性基本概念(I)2.7 计算机应用基础知识l 计算机常用办公软件操作方法 字处理软件Word的常用功能及操作(I) 表处理软件Excel的常用功能及操作(I)l 计算机的应用 计算机在信息管理、数据处理的应用范围及相关技术,以及在辅助设计、自动控制、科学计算、人工智能等领域的应用(I)l 远程通信服务(I)3系统开发和运行知识3.1 软件工程和项目管理基础知识l 软件开发生存周期各阶段的目标和任务(可行性分析和项目开发计划、需求分析、软件设计、编码、测试、维护)(I)l 软件能力成熟度模型CMM、统一过程(UP)、极限编程(XP)的基本概念(I)l 软件开发项目管理(成本估算、风险分析、进度管理(Gantt图、PERT图)、人员管理)基本概念(I)l 结构化方法、面向对象方法的基本概念(II)l 软件工具与软件开发环境(分析工具、设计工具、编程工具、测试工具、维护工具、CASE)(I)l 软件质量管理基础知识(软件质量特性(ISO/IEC 9126软件质量模型、软件质量保证)(I)3.2 系统分析设计基础知识l 数据流图(DFD)、实体联系图(ER图)的基本概念(I)l 面向对象设计、以过程为中心的设计、以数据为中心的设计方法的基本概念(I)l 结构化分析方法(数据流图的基本构成、数据字典、加工逻辑的描述(结构化语言、决策表、决策树)(I)l 结构化设计方法(数据流的类型、结构化设计的基本步骤)(I)l 软件详细设计(模块设计、代码设计的基本原则、输入/输出设计的基本原则、用户界面设计的基本原则)(I)3.3 程序设计基础知识l 结构化程序设计方法 自顶向下、逐步求情的设计理念,三种基本控制结构(I)l 使用流程图、NS图、PAD图进行处理过程的设计(II)l 程序设计风格 源程序中的内部文档、数据说明、语句构造、输入输出、效率(II)3.4 程序测试基础知识l 程序测试的目的、原则、对象、过程与工具(I)l 用黑盒法设计测试用例 等价类划分、边界值划分、错误推测、因果图(II)l 用白盒法设计测试用例 逻辑覆盖、循环覆盖、基本路径测试(II)l 测试设计和管理(I)3.5 程序设计文档基础知识l 接口的描述、程序逻辑的描述、程序规格说明书(I)l 模块测试计划、模块测试用例、模块测试报告(I)3.6 系统运行和维护基础知识l 系统运行管理基础知识(II)l 系统维护的类型和含义 正确性维护、适应性维护、完善性维护、预防性维护(II)4. 信息安全基础知识l 信息系统安全基础知识 计算机设备安全、软件安全、网络安全、信息安全的基本概念(I)l 信息系统安全管理 防治计算机病毒、防范计算机犯罪、访问控制、防闯入、防灾、安全保密措施(I)l 加密与解密基础知识 常用的加密方法和解密方法(I)5标准化基础知识l 标准化基本概念 标准化的目的、意义,组织机构、内容、分类、代号与编号规定(I)l 标准的层次 国际标准、国家标准、行业标准、企业标准的表示方法(II)l 相关标准的基本概念 代码标准(汉字编码标准)、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准的基本概念(I)6信息化基础知识l 信息、信息资源、信息化、信息工程、信息产业、信息技术的含义(I)l 全球信息化趋势,国家信息化战略,企业信息化战略和策略常识(I)l 有关的法律、法规要点 软件著作权的概念(II) 软件著作权主体与客体、权利内容、权利归属(II) 发表权、署名权、修改权、复制权、发行权、翻译权(I) 专利法、商标法、商业秘密权(I) 专利法、商标法、商业秘密权对软件的保护知识(I)l 企业信息资源管理常识(I)7计算机专业英语 l 具有助理工程师/技术员所要求的英语阅读水平(I)l 掌握本领域的英语基本术语(I)考试科目2:程序设计1. 内部设计1.1 理解外部设计 1.2 软件功能划分和确定结构l 数据流图(DFD),结构图 (I)1.3 物理数据设计l 确定数据组织方式、存储介质,设计记录格式,处理方式(I)1.4 详细输入输出设计l 界面设计、报表设计等(II)1.5 内部设计文档l 程序接口、程序功能、人机界面、输入输出、程序流程图、测试计划(II)1.6 内部设计评审2. 程序设计2.1 模块划分(原则、方法、标准)2.2 编写程序设计文档l 模块规格说明书(程序处理逻辑,输入输出数据格式) (II)l 测试要求说明书(测试类型和目标,测试用例,测试方法) (II)2.3 程序设计评审3. 程序实现3.1 编程l 编程方法和规范 (I)l 程序设计语言的选择和使用(I)l 人工走查 (II)l 程序文档化(II)3.2 程序测试l 测试环境和测试工具的选择和使用(I)l 测试数据的设计(II)l 测试报告的编写(I)4. 程序设计语言(C语言为必选,再在C、C+、Java语言中任选一种)4.1 C程序设计语言l 语法,程序结构(III)l 基本类型数据的定义和声明(III)l 数组、结构体、共用体类型数据的定义和声明 (III)l 表达式和可执行语句(III)l 函数定义和调用,标准库函数的使用(III)l 指针的使用(II)l 文件的基本操作(III)4.2 C+程序设计语言l 面向对象程序设计与C+基本语法 面向对象程序设计的基本概念与术语(I) C+基本数据类型、各种表达式与语句(III) C+的数组、结构、指针以及函数的使用(III)l 类、成员、构造函数(Constructor)、析构函数(Destructor) C+类的声明、定义与使用(III) C+对象的构造、使用与销毁(III)l 模板、继承、多态 C+类与函数模板的概念、定义与应用(III) C+中继承的相关概念与应用(III) C+中运算符与函数的重载(III)l 异常处理 C+异常处理机制的概念与应用(III)l 类库 C+标准类库中的容器库的应用(II) C+标准类库中算法库的应用(II) C+标准类库中的迭代器的应用(II) C+标准类库中的字符串的应用(III) C+标准类库中的流与文件的应用(III)4.3 Java程序设计语言l 面向对象程序设计 面向对象程序设计的基本概念与术语(I)l Java语言概述 Java语言的特点(I) Java语言的开发环境与配置(II)l 语言机制(语法和程序结构,类、成员、构造函数(Constructor)、继承、异常处理) 基本数据类型及其运算与基础类库(III) 控制结构(III) 数组(III) 类的定义与应用(III) 对象的构造与使用(III) 包的概念与应用(II) 继承机制的应用(III) 接口与内部类的应用(II) 错误与异常处理机制(III)l Java类库、线程、输入/输出流 AWT、Swing用户界面与事件处理机制(I) 流与文件的应用(III) 多线程的开发与应用(II) 集合类库的应用(II) 网络、数据库的开发与应用(II)l Java Applets,Java应用程序 Java应用程序与JavaApplets的区别(I) JavaApplets开发与部署(I)三、样题举例考试科目1:计算机与软件工程基础知识(样题)1. 使用常用文字编辑工具编辑正文时,为改变该文档的文件名,常选用 (1) 命令;将正文中所有“Computer” 改写为“计算机”,常选用 (2) 命令。 (1)A.“文件”“另存为” B.“文件”“保存”C.“插入”“对象” D.“工具”“选项”(2)A. “编辑”“查找” B. “编辑”“替换”C. “编辑”“定位” D. “文件”“搜索”2. 在以下关于电子邮件的叙述中,“ (3) ”是不正确的。(3)A. 打开来历不明的电子邮件附件可能会传染计算机病毒B. 在网络拥塞的情况下,发送电子邮件后,接收者可能过几个小时后才能收到C. 在试发电子邮件时,可向自己的Email邮箱发送一封邮件D. 电子邮箱的容量指的是用户当前使用的计算机上,分配给电子邮箱的硬盘容量3. 某数值编码为FFH,若它所表示的真值为-127,则它是用 (4) 表示的;若它所表示的真值为-1,则它是用 (5) 表示的。(4)A. 原码B. 反码C. 补码D. 移码(5)A. 原码B. 反码C. 补码D. 移码4. 堆栈最常用于 (6) 。 (6)A. 实现数据循环移位 B. 实现程序转移 C. 保护被中断程序的现场 D. 数据的输入输出缓冲存储器5. 对于一个具有容错能力的系统, (7) 是错误的。(7) A. 通过硬件冗余来设计系统,可以提高容错能力B. 在出现一般性故障时,具有容错能力的系统可以继续运行C. 容错能力强的系统具有更高的可靠性D. 容错是指允许系统运行时出现错误的处理结果6. (8) 用于把摄影作品、绘画作品输入到计算机中,进而对这些图像信息进行加工处理、管理、使用、存储和输出。(8)A. 打印机B. 投影仪 C. 绘图仪 D. 扫描仪7. CPU执行程序时,为了从内存中读取指令,需要先将 (9) 的内容输送到 (10) 上。 (9)A指令寄存器 B. 程序计数器(PC) C. 标志寄存器 D. 变址寄存器 (10)A数据总线 B. 地址总线 C. 控制总线 D. 通信总线8. DoS攻击的目的是(11) 。(11)A. 获取合法用户的口令和帐号B. 使计算机和网络无法提供正常的服务C. 远程控制别人的计算机D. 监听网络上传输的所有信息9. 已知有n个进程共享一个互斥段,如果最多允许m个进程(mn)同时进入互斥段,则信号量的变化范围是 (12) 。(12)A. -m1 B. -m0C. -(n-m)mD. -(m-1)n10. 甲程序员为乙软件设计师开发的应用程序编写了使用说明书,并已交付用户使用, (13) 该应用软件的软件著作权。(13)A. 甲程序员享有 B. 乙软件设计师享有C. 甲程序员不享有 D. 甲程序员和乙软件设计师共同享有11. 可视化编程是指 (14) 。(14)A. 在开发阶段就可看到应用系统的运行界面B. 无须编写程序代码就可完成应用系统的开发C. 在开发阶段可跟踪程序代码的执行全过程D. 在运行阶段可跟踪程序代码的执行过程12. 在以下情形中, (15) 适合于采用队列数据结构。(15)A. 监视一个火车票售票窗口等待服务的客户 B. 描述一个组织中的管理机构C. 统计一个商场中的顾客数 D. 监视进入某住宅楼的访客13. 元素3、1、2依次全部进入一个栈后,陆续执行出栈操作,得到的出栈序列为 (16) 。(16)A. 3、2、1 B. 3、1、2 C. 1、2、3D. 2、1、314. 从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为 (17) 。(17)A. 插入排序B. 选择排序C. 希尔排序D. 归并排序15. 对于二维数组a0.4,1.5,设每个元素占1个存储单元,且以行为主序存储,则元素a2,1相对于数组空间起始地址的偏移量是 (18) 。(18)A. 5B. 10C. 15D. 2516. 在面向对象程序设计语言中, (19) 是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性; (20) 可以实现发送一个通用的消息而调用不同的方法。(19)A. 封装 B. 消息传递C. 引用 D. 继承(20)A. 封装 B. 多态 C. 引用 D. 继承17. 对象之间通过消息机制实现相互作用和通信, (21) 不是消息的组成部分。 (21)A. 接受消息的对象B. 待执行的函数的名字 C. 待执行的函数的内部结构D. 待执行的函数需要的参数18. 类的构造函数被自动调用执行的情况发生在定义该类的 (22) 时。(22)A. 成员函数 B. 数据成员 C. 对象 D. 友元函数19. 在下面的程序中,若调用f1(x)时,参数传递采用传值方式,调用f2(y)时,参数传递采用引用方式,则输出结果为 (23) ;若调用f1(x)时,参数传递采用引用方式,调用f2(y)时,参数传递采用传值方式,则输出结果为 (24) 。 main()procedure f1(x)procedure f2(y)int a=2;f1(a);write(a);f2(x);x=x+x;return;y=y*y;return;(23)A. 2B. 4C. 6D. 8(24)A. 2B. 4C. 6D. 820. 源程序清单是在软件生存周期的 (25) 阶段产生的文档。(25)A. 软件概要设计B. 编码C. 软件详细设计D. 测试21. 浏览器与WWW服务器之间传输信息时使用的协议是 (26) 。(26)A. HTTP B. HTML C. FTP D. SNMP22. Insufficient (27) can cause a processor to work at 50% or even more below its performance potential.(27)A. mouse B. I/O C. document D. memory 23. The (28) in e-mail messages has affected almost every computer around the world and has caused the damage of up to US$1 billion in North America.(28)A. illness B. virus C. weakness D. attachment 24. One of the basic rules of computer security is to change your (29) regularly.(29)A. name B. computer C. device D. password25. One of the greatest features of a home (30) is the ability to share one Internet connection simultaneously over two or more computers.(30)A. computer B. device C. network D. work 26. The usual address for a Web site is the (31) page address, although you can enter the address of any page and have that page sent to you.(31)A. home B. main C. host D. house 考试科目1:计算机与软件工程基础知识(样题)试题一(共15分) 阅读以下说明和流程图,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】为便于管理,每本正式出版的图书都印有国际标准书号。标准书号由“ISBN”和10个数字组成,其格式为:ISBN 组号-出版者号-书名号-校验码。其中,校验码是根据前面9个数字计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(1),a(2),a(10),则校验码a(10)的设置应使S=10*a(1)+9*a(2)+8*a(3)+1*a(10)能被11整除。如果校验码a(10)应设置成10,则规定以“X”表示之。例如,信息处理技术员考试大纲的标准书号为:ISBN 7-302-11191-X。第1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号。第2段上的“302”表示清华大学出版社。标准书号的校验过程如图1-1所示,计算校验码的过程如图1-2所示,其中,Mod(S,11)表示S除以11得到的余数。【流程图】NYYNNY【问题1】请填补流程图中的空缺(1)(4)。【问题2】设“程序员考试大纲”标准书号前9个数字为7-302-08493,请写出其校验码。试题二(共15分)阅读以下说明和C语言函数,将解答填入答题纸的对应栏内。【说明】下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有五个错误,请指出所有的错误。【C程序代码】行号代码01020304050607080910111213141516171819202122#include int main() long n, num; int i; do printf(请输入一个正整数: ); scanf(%ld,n); while(n = 0; i+) if (i % 2 = 1) num = num + (n % 10) * k; k = k * 10; n = n / 10; printf(新数据为:%ld n,num); return 0;试题三(共15分)阅读以下说明和C程序,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某种传感器的输出值Ratio依赖于环境温度temp(-40oC temp50oC)。对一组环境温度值(ITEMS个),人们已经测量得到了相应的Ratio值(见表3-1)。该表粗略地描述了曲线Ratio(temp)。表3-1 曲线Ratio(temp)的列表值环境温度temp传感器的输出值Ratio环境温度temp传感器的输出值Ratio-400C0.20100C1.17-200C0.60300C1.50-100C0.80500C1.8000C1.00校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,人们需要用更多的列表值细致地描述曲线K(temp),如表3-2所示。在表3-2中,各温度值所对应的K值是对表1进行线性插值再求倒数得到的,具体的计算方法如下:表3-2 曲线K(temp)的列表值环境温度temp校正系数K环境温度temp校正系数K-400C5.00-190C1.61-390C4.55.-380C4.17-100C1.25-370C3.85-90C1.22.-200C1.67500C0.561 根据temp值,在表3-1中用二分法查找;2 若找到相应的温度值,则按相应的Ratio值求倒数得到K值;3 若没找到相应的温度值,则可确定temp所在的温度区间Tp1,Tp2,同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:Step = (Ratio1 - Ratio2) / (Tp1-Tp2)K = 1.0 / (Ratio1 + Step*(temp Tp1)在程序中,当temp高于50oC或低于-40oC时,设定K=0。【程序】#include typedef struct int Temp; /*环境温度*/ double Ratio; /*传感器的输出值*/CURVE;#define ITEMS 7double GetK(int, CURVE *, int);void main()int Degree;double k;CURVE CurveITEMS = -40,0.2,-20,0.60,-10,0.8,0,1.0,10,1.17,30,1.50, 50,1.8 ;printf(环境温度 校正系数n);for( Degree = -40; Degree = 50; Degree+ ) k = GetK(Degree, Curve, ITEMS); printf( %3d %4.2f n,Degree,k);double GetK(int Temp, CURVE *p, int n) /*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/int low,high,m; double Step;low = 0; high = n-1; if ( (Temp Temp) |( Temp (p+high)-Temp) ) return 0.0; /*超出温度范围时返回0.0*/while (low Temp ) return (2) ;if ( Temp Temp ) high = m-1; else low = (3) ;p += high; Step = ( (4) ) / (p+1)-Temp - p-Temp);return 1.0/(p-Ratio +Step * ( (5) );试题四(共15分)阅读以下说明和C语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】函数sort(NODE *head)的功能是:用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1 (a)的链表进行一趟冒泡排序后,得到图4-1 (b)所示的链表。图4-1链表的结点类型定义如下:typedef struct Node int data; struct Node *next;NODE;【C语言函数】void sort(NODE *head) NODE *ptr,*preptr,*endptr; int tempdata; ptr = head - next; while ( (1) ) /*查找表尾结点*/ ptr = ptr - next; endptr = ptr; /*令endptr指向表尾结点*/ ptr = (2) ; while(ptr != endptr) while( (3) ) if (ptr-data ptr-next-data) tempdata = ptr-data; /*交换相邻结点的数据*/ ptr-data = ptr-next-data; ptr-next-data = tempdata; preptr = (4) ; ptr = ptr - next; endptr = (5) ; ptr = head-next; (从下列2题中任选1题解答)试题五(15分,每空3分)阅读以下说明和C+程序,将应填入(n) 处的字句写在答题纸的对应栏内。【说明】以下程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。【C+程序】#include #include class Figure public:virtual double getArea() = 0; / 纯虚拟函数;class Rectangle : (1) protected: double height; double width;public: Rectangle()

温馨提示

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

评论

0/150

提交评论