全国计算机等级考试四级嵌入式系统开发工程师模拟题完整全套(无答案)
2020年计算机四级嵌入式系统开发工程师模拟题及答案.doc
2020年计算机四级嵌入式系统开发工程师
模拟题及答案
1、什么是嵌入式系统?其特点有些什么?
答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
”
特点:
1)是专用的计算机系统,用于特定的任务;
2)资源较少,可以裁减;
3)功耗低,体积小,集成度高,成本低;
4)使用实时操作系统;
5)可靠性要求更高,具有系统测试和可靠性评估体系;
6)运行环境差异大
7)大部分程序固化在ROM中;
8)较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
2、嵌入式系统的BooTLoader的功能是什么?
答:BootLoader是系统加电后、操作系统内核或用户应用
程序运行之前,首先必须运行的一段程序代码。
通过这段程序,为终调用操作系统内核、运行用户应用程序准备好正确的环境。
(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。
)。
计算机等级考试四级嵌入式系统真题库(12套全)
计算机等级考试四级嵌入式系统真题库(12套全)全国计算机等级考试四级嵌入式系统开发真题库第1套一、单项选择题操作系统部分1.在进行操作系统设计时,下列哪一个是构造操作系统的方法?A.网络式结构B.并行式结构C.微内核结构D.主从式结构2.在不同类型的操作系统中,批处理操作系统的缺点是A.缺少交互性B.不能并发运行C.CPU利用率低D.周转时间太长3.在下面列出的计算机操作中,只能在操作系统内核态下运行的是A.关机B.读文件C.设置时间D.屏蔽中断4.引入中断技术可以使计算机的运行效率得到提高,下列哪一项对中断响应顺序产生影响?A.中断优先级B.时间片大小C.特权指令D.中断向量5.操作系统提供给用户用于应用程序编程的唯一接口是A.系统调用B.运行平台C.编程开发环境D.中断服务程序6.下列各种数据对象中,与进程具有一一对应关系的是A.程序B.进程控制块C.动态库D.堆栈7.某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是A.运行状态B.就绪状态C.挂起状态D.阻塞状态8.UNIX操作系统中,fork()系统调用用于创建进程。
仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕的正确结果是main(){pid_t pid;pid = fork();if (pid = = 0) printf ("Hello World\n");else if (pid > 0) printf ("Hello World\n");A.什么都没有B.1行Hello WorldC.2行Hello WorldD.3行Hello World9.在Pthread线程包中,线程操作pthread_join的含意是A.创建一个新的线程B.撤销一个线程C.等待一个特定的线程退出D.参加一个新的线程10.下列各种情况中,一定不会引起进程调度的操作是A.一个进程完成工作后被撤销B.一个进程从运行状态变成了阻塞状态或就绪状态C.一个进程从阻塞状态变成了就绪状态D.一个进程从就绪状态变成了运行状态11.下列活动中,哪一种活动只存在同步关系?A.某年某月某日某航班的订票B.球队举行足球比赛C.汽车装配流水线上的各道工序D.公共复印室复印机的使用12.用P、V操作管理临界区时,把信号量mutex的初值设定为1。
计算机四级嵌入式题库
嵌入式开发:第一套在进行操作系统设计时,下列哪一个是构造操作系统的方法?A) 网络式结构B) 并行式结构C) 微内核结构√D) 主从式结构在不同类型的操作系统中,批处理操作系统的缺点是A) 缺少交互性√B) 不能并发运行C) CPU利用率低D) 周转时间太长在下面列出的计算机操作中,只能在操作系统内核态下运行的是A) 关机B) 读文件C) 设置时间D) 屏蔽中断√引入中断技术可以使计算机的运行效率得到提高,下列哪一项对中断响应顺序产生影响?A) 中断优先级√B) 时间片大小C) 特权指令D) 中断向量操作系统提供给用户用于应用程序编程的唯一接口是A) 系统调用√B) 运行平台C) 编程开发环境D) 中断服务程序下列各种数据对象中,与进程具有一一对应关系的是A) 程序B) 进程控制块√C) 动态库D) 堆栈某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是A) 运行状态√B) 就绪状态C) 挂起状态D) 阻塞状态UNIX操作系统中,fork()系统调用用于创建进程。
仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕的正确结果是main(){pid_t pid;pid = fork();if (pid = = 0) printf ("Hello World\n");else if (pid > 0) printf ("Hello World\n");else printf ("Hello World\n");}A) 什么都没有B) 1行Hello WorldC) 2行Hello World√D) 3行Hello World在Pthread线程包中,线程操作pthread_join的含意是A) 创建一个新的线程B) 撤销一个线程C) 等待一个特定的线程退出√D) 参加一个新的线程下列各种情况中,一定不会引起进程调度的操作是A) 一个进程完成工作后被撤销B) 一个进程从运行状态变成了阻塞状态或就绪状态C) 一个进程从阻塞状态变成了就绪状态D) 一个进程从就绪状态变成了运行状态√下列活动中,哪一种活动只存在同步关系?A) 某年某月某日某航班的订票B) 球队举行足球比赛C) 汽车装配流水线上的各道工序√D) 公共复印室复印机的使用用P、V操作管理临界区时,把信号量mutex的初值设定为1。
全国资格考试计算机等级考试四级嵌入式工程师真题含详细解析版.doc
全国资格考试计算机等级考试四级嵌入式工程师真题含详细解析版计算机等级考试四级嵌入式工程师选择题1.采用多道程序设计技术,能有效地提高系统的下列哪一个性能 A 并发性B 灵活性 C 可靠性 D 兼容性A【解析】并发运行是指在计算机系统中同时存在若干个运行着的程序,各进程均处于已开始运行与结束之间,宏观上各进程并行运行,正是多道程序设计技术的出现使得程序的并发执行成为可能。
故选择A选项。
2.除了进程线程管理、存储管理、文件系统外,下列哪一个是属于操作系统的必要组成部分 A 设备管理 B 资源管理C 运行时系统D 虚拟化模块A 【解析】操作系统位于底层硬件与用户之间,是两者沟通的桥梁。
用户可以通过操作系统的用户界面,输入命令。
操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
以现代观点而言,一个标准个人电脑的OS应该提供以下的功能进程管理;内存管理;文件系统;网络通讯;安全机制;用户界面;驱动程序硬件设备管理。
故选择A选项。
3.若用户编程需要打印输出,他可使用下列操作系统提供的哪一种系统调用A write B printf C output D list A【解析】write会把参数buf所指的内存写入count个字节到参数fd所指的文件内。
当然,文件读写位置也会随之移动。
故选择A选项。
4.用户程序需要关闭中断响应,他必须首先A 发起访管中断 B 调用系统函数自我阻塞 C 保护现场 D 获取中断状态A【解析】关闭中断响应指令属于特权指令,用户程序不能直接执行,必须要使CPU陷入核心态,由操作系统来执行该特权指令,因此该程序必须先发起访管中断,这是让CPU由用户态向核心态转换的方法。
故选择A选项。
5.关于操作系统的结构,下列特性中,哪一个不是微内核结构的特点 A 清晰的单向依赖和单向调用性 B 较高的灵活性和可扩充性 C 提高了操作系统的可靠性 D 更适合于分布式系统A【解析】微内核操作系统的优点(1)提高了系统的可扩展性;(2)增强了系统的可靠性;(3)可移植性;(4)提供了对分布式系统的支持;(5)融入了面向对象技术。
计算机四级《嵌入式系统开发工程师》试题及答案
计算机四级《嵌入式系统开发工程师》试题及答案2016计算机四级《嵌入式系统开发工程师》试题及答案计算机等级四级是对计算机的熟练程度以及掌握程度进行评估的一种国家型等级考试。
为了帮助考生们更好、更有准备地参加考试,下面是店铺为大家搜索整理的关于《嵌入式系统开发工程师》试题及答案,欢迎参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们店铺!1、什么是嵌入式系统?其特点有些什么?答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
”特点:1)是专用的计算机系统,用于特定的任务;2)资源较少,可以裁减;3) 功耗低,体积小,集成度高,成本低;4)使用实时操作系统;5) 可靠性要求更高,具有系统测试和可靠性评估体系;6)运行环境差异大7)大部分程序固化在 ROM中;8) 较长的生命周期;9)嵌入式微处理器通常包含专用调试电路2、嵌入式系统的BooTLoader的功能是什么?答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。
通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。
)3、目前嵌入式操作系统有哪些?答:1)µC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统4、构造嵌入式开发环境有哪几种形式?答:1)交叉开发环境 ;2)软件模拟环境 ;3)评估电路板5、嵌入式系统开发的基本流程?答:1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。
计算机四级嵌入式题库定稿版
计算机四级嵌入式题库精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】嵌入式开发:第一套在进行操作系统设计时,下列哪一个是构造操作系统的方法?A) 网络式结构B) 并行式结构C) 微内核结构√D) 主从式结构在不同类型的操作系统中,批处理操作系统的缺点是A) 缺少交互性√B) 不能并发运行C) CPU利用率低D) 周转时间太长在下面列出的计算机操作中,只能在操作系统内核态下运行的是A) 关机B) 读文件C) 设置时间D) 屏蔽中断√引入中断技术可以使计算机的运行效率得到提高,下列哪一项对中断响应顺序产生影响?A) 中断优先级√B) 时间片大小C) 特权指令D) 中断向量操作系统提供给用户用于应用程序编程的唯一接口是A) 系统调用√B) 运行平台C) 编程开发环境D) 中断服务程序下列各种数据对象中,与进程具有一一对应关系的是A) 程序B) 进程控制块√C) 动态库D) 堆栈某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是A) 运行状态√B) 就绪状态C) 挂起状态D) 阻塞状态UNIX操作系统中,fork()系统调用用于创建进程。
仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕的正确结果是main(){pid_t pid;pid = fork();if (pid = = 0) printf ("Hello World\n");else if (pid > 0) printf ("Hello World\n"); else printf ("Hello World\n");}A) 什么都没有B) 1行Hello WorldC) 2行Hello World√D) 3行Hello World在Pthread线程包中,线程操作pthread_join的含意是A) 创建一个新的线程B) 撤销一个线程C) 等待一个特定的线程退出√D) 参加一个新的线程下列各种情况中,一定不会引起进程调度的操作是A) 一个进程完成工作后被撤销B) 一个进程从运行状态变成了阻塞状态或就绪状态C) 一个进程从阻塞状态变成了就绪状态D) 一个进程从就绪状态变成了运行状态√下列活动中,哪一种活动只存在同步关系?A) 某年某月某日某航班的订票B) 球队举行足球比赛C) 汽车装配流水线上的各道工序√D) 公共复印室复印机的使用用P、V操作管理临界区时,把信号量mutex的初值设定为1。
计算机等级考试四级嵌入式工程师8
计算机等级考试四级嵌入式工程师8选择题1.从计算机应用角度来看,操作系统的主要作用是提供A) 人机交互接口B) 软件开发基础C) 第一道安全防线D) 虚拟机和扩展机A【解析】操作系统是管理和控制计算机硬件与软件资源的计算机程序,是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。
故选择A选项。
2.共享性是操作系统的特征之一,下列共享设备中,哪种设备可以共享但是不能被抢占使用?A) CPUB) 打印机C) 硬盘D) 内存B 【解析】只有共享设别才能被抢占,打印机是独享设备,不能被抢占,CPU、硬盘、内存属于共享设备,可以被抢占。
故选择B选项。
3.内核态和用户态是用于操作系统运行安全而设置的一种状态标志,其含义是指A) 操作系统所处的状态B) CPU在运行时所处的状态C) 内存在运行时所处的状态D) 安全系统所处的状态B【解析】在处理器的存储保护中,主要有两种权限状态,一种是核心态(管态),也被称为特权态;一种是用户态(目态)。
核心态是操作系统内核所运行的模式,运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。
故选择B选项。
4.外部I/O设备向处理器发出的中断信号又称为A) 中断请求B) 中断断点C) 中断屏蔽D) 中断优先级排队A【解析】"紧急事件"须向处理器提出申请(发一个电脉冲信号),要求"中断",即要求处理器先停下"自己手头的工作"先去处理"我的急件",这一"申请"过程,称中断请求。
故选择A 选项。
5.编写程序时通常会使用过程调用和系统调用,下列选项中,系统调用不能实现的功能是A) 从当前程序跳转到调用程序B) 调用程序多次嵌套与递归C) 调用程序一般与当前程序有关D) 调用结束后返回原程序B【解析】由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口。
是应用程序同系统之间的接口。
计算机四级嵌入式系统开发工程师试题及答案
计算机四级嵌入式系统开发工程师试题及答案一什么是嵌入式系统?其特点有些什么?答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
”特点:1)是专用的计算机系统,用于特定的任务;2)资源较少,可以裁减;3) 功耗低,体积小,集成度高,成本低;4)使用实时操作系统;5) 可靠性要求更高,具有系统测试和可靠性评估体系;6)运行环境差异大7)大部分程序固化在ROM中;8) 较长的生命周期;9)嵌入式微处理器通常包含专用调试电路嵌入式系统的BooTLoader的功能是什么?答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。
通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。
)二目前嵌入式操作系统有哪些?答:1)µC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian操作系统构造嵌入式开发环境有哪几种形式?答:1)交叉开发环境;2)软件模拟环境;3)评估电路板三嵌入式系统开发的基本流程?答:1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。
什么是可编程片上系统?答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。
计算机等级考试四级嵌入式工程师2
计算机等级考试四级嵌入式工程师2选择题1.下列选项中,哪一个不是操作系统所具有的功能?A) 管理计算机磁盘B) 提供用户操作计算机的界面C) 管理系统动态库D) 编译高级语言编写的程序D 【解析】操作系统是管理和控制计算机硬件与软件资源的计算机程序。
而高级语言编写的程序由翻译程序翻译成机器语言,这个过程是为编译,不是由操作系统来完成的。
故选择D选项。
2.在操作系统的结构设计中,微内核结构表示的是A) 整体式结构B) 层次结构C) 分布式结构D) 客户机/服务器结构D 【解析】为了提高操作系统的"正确性"、"灵活性"、"易维护性"和"可扩充性",在进行现代操作系统结构设计时,即使在单处理机环境下,大多也采用基于客户/服务器模式(即C/S 模式)的微内核结构,将操作系统划分为两大部分:微内核和多个服务器。
故选择D选项。
3.用户程序在用户态下使用特权指令而引起的中断是A) 时钟中断B) 外部中断C) 访管中断D) 溢出中断C【解析】用户程序不能直接使用特权指令。
如果用户程序在用户态下执行了特权指令,则引起访管中断,这也是CPU由用户态向核心态转换的方法。
故选择C选项。
4.下列各种事件中,不属于I/O中断的事件是A) 数据传送完毕B) 设备出错C) 指令错D) 键盘输入C【解析】数据传送完毕、设备出错和键盘输入均产生I/O中断。
故选择C选项。
5.用户在编写程序时,若要在屏幕上画出一个红色的圆,需要使用A) 自然语言B) 系统调用C) 命令控制D) 运行时系统B【解析】在屏幕画圈,需要系统调用显示屏的驱动程序。
故选择B选项。
6.在多道程序设计系统中,下列能并行工作的是A) CPU与外部设备B) 内存和内存C) 用户与应用程序D) CPU和内存A【解析】所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。
计算机等级考试四级嵌入式工程师3
计算机等级考试四级嵌入式工程师3选择题1.现代操作系统最基本的特征是A) 并发性B) 顺序性C) 封闭性D) 并行性A【解析】现代操作系统基本的特征是并发、共享、虚拟和异步,其中并发性是最基本的特性。
故选择A选项。
2.组成操作系统的主要部分通常是进程线程管理、内存管理、设备管理和A) 文件管理B) P、V操作管理C) 死锁管理D) 备份管理A 【解析】操作系统位于底层硬件与用户之间,是两者沟通的桥梁。
用户可以通过操作系统的用户界面,输入命令。
操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:进程管理(Processing management);内存管理(Memory management);文件系统(File system);网络通讯(Networking);安全机制(Security);用户界面(User interface);驱动程序(Device drivers)。
故选择A选项。
3.下列程序中,哪一个不属于操作系统内核程序?A) 进程调度程序B) 中断服务程序C) 设备驱动程序D) 用户应用程序D【解析】"内核"指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。
一个内核不是一套完整的操作系统。
它负责管理系统的进程、中断、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
故选择D选项。
4.用户编写程序时调用fork()创建进程,其使用的是操作系统提供给用户的什么接口?A) 系统调用B) 命令控制语言C) 作业控制语言D) 应用编程接口A【解析】操作系统提供了3类型的接口供用户使用:命令接口:提供一组命令供用户直接或间接操作。
根据作业的方式不同,命令接口又分为联机命令接口和脱节命令接口。
程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。
图形界面接口:通过图标、窗口、菜单、对话框及其他元素,和文字组合,在桌面上形成一个直观易懂,使用方便的计算机操作环境。
全国资格考试计算机等级考试四级嵌入式工程师真题含详细解析版.doc
全国资格考试计算机等级考试四级嵌入式工程师真题含详细解析版计算机等级考试四级嵌入式工程师选择题1.采用多道程序设计技术,能有效地提高系统的下列哪一个性能 A 并发性B 灵活性 C 可靠性 D 兼容性A【解析】并发运行是指在计算机系统中同时存在若干个运行着的程序,各进程均处于已开始运行与结束之间,宏观上各进程并行运行,正是多道程序设计技术的出现使得程序的并发执行成为可能。
故选择A选项。
2.除了进程线程管理、存储管理、文件系统外,下列哪一个是属于操作系统的必要组成部分 A 设备管理 B 资源管理C 运行时系统D 虚拟化模块A 【解析】操作系统位于底层硬件与用户之间,是两者沟通的桥梁。
用户可以通过操作系统的用户界面,输入命令。
操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
以现代观点而言,一个标准个人电脑的OS应该提供以下的功能进程管理;内存管理;文件系统;网络通讯;安全机制;用户界面;驱动程序硬件设备管理。
故选择A选项。
3.若用户编程需要打印输出,他可使用下列操作系统提供的哪一种系统调用A write B printf C output D list A【解析】write会把参数buf所指的内存写入count个字节到参数fd所指的文件内。
当然,文件读写位置也会随之移动。
故选择A选项。
4.用户程序需要关闭中断响应,他必须首先A 发起访管中断 B 调用系统函数自我阻塞 C 保护现场 D 获取中断状态A【解析】关闭中断响应指令属于特权指令,用户程序不能直接执行,必须要使CPU陷入核心态,由操作系统来执行该特权指令,因此该程序必须先发起访管中断,这是让CPU由用户态向核心态转换的方法。
故选择A选项。
5.关于操作系统的结构,下列特性中,哪一个不是微内核结构的特点 A 清晰的单向依赖和单向调用性 B 较高的灵活性和可扩充性 C 提高了操作系统的可靠性 D 更适合于分布式系统A【解析】微内核操作系统的优点(1)提高了系统的可扩展性;(2)增强了系统的可靠性;(3)可移植性;(4)提供了对分布式系统的支持;(5)融入了面向对象技术。
全国计算机等级考试四级嵌入式系统开发工程师模拟题完整全套(无答案)
全国计算机等级考试四级嵌入式系统开发工程师模拟题完整全套(无答案)全国计算机等级考试四级嵌入式系统开发工程师模拟题完整全套(无答案)一、编程开发能力:1、用预处理指令#define声明一个常数,用以表明一年中有多少秒(忽视闰年问题);写一个“标准”宏MIN函数,这个宏输入两个参数并返回较小的一个。
2、用变量a给出下面的定义:(1)一个整型数(An integer);(2)一个指向整型数的指针(A pointer to an integer);(3)一个指向指针的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer);(4)一个有10个整型数的数组(An array of 10 integers);(5)一个有10个指针的数组,该指针是指向一个整型数的(A array of 10 pointers to integers);(6)一个指向有10个整型数组的指针(A pointer to an array of 10 integers);(7)一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument re turns an integer);(8)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of 10 pointers to functions that take an integer argum ent and return an integer);3、关键字volatile有什么含义?并举出三个不同的例子。
4、嵌入式系统总是要用户对变量或寄存器举行位操作,给定一个整型变量a,写两段代码,第一个设置a 的bit 3,其次个清除a 的bit 3,在以上操作中,要保持其他位不变。
计算机四级嵌入式题库精编WORD版
计算机四级嵌入式题库精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】嵌入式开发:第一套在进行操作系统设计时,下列哪一个是构造操作系统的方法?A) 网络式结构B) 并行式结构C) 微内核结构√D) 主从式结构在不同类型的操作系统中,批处理操作系统的缺点是A) 缺少交互性√B) 不能并发运行C) CPU利用率低D) 周转时间太长在下面列出的计算机操作中,只能在操作系统内核态下运行的是A) 关机B) 读文件C) 设置时间D) 屏蔽中断√引入中断技术可以使计算机的运行效率得到提高,下列哪一项对中断响应顺序产生影响?A) 中断优先级√B) 时间片大小C) 特权指令D) 中断向量操作系统提供给用户用于应用程序编程的唯一接口是A) 系统调用√B) 运行平台C) 编程开发环境D) 中断服务程序下列各种数据对象中,与进程具有一一对应关系的是A) 程序B) 进程控制块√C) 动态库D) 堆栈某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是A) 运行状态√B) 就绪状态C) 挂起状态D) 阻塞状态UNIX操作系统中,fork()系统调用用于创建进程。
仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么,输出到屏幕的正确结果是main(){pid_t pid;pid = fork();if (pid = = 0) printf ("Hello World\n");else if (pid > 0) printf ("Hello World\n"); else printf ("Hello World\n");}A) 什么都没有B) 1行Hello WorldC) 2行Hello World√D) 3行Hello World在Pthread线程包中,线程操作pthread_join的含意是A) 创建一个新的线程B) 撤销一个线程C) 等待一个特定的线程退出√D) 参加一个新的线程下列各种情况中,一定不会引起进程调度的操作是A) 一个进程完成工作后被撤销B) 一个进程从运行状态变成了阻塞状态或就绪状态C) 一个进程从阻塞状态变成了就绪状态D) 一个进程从就绪状态变成了运行状态√下列活动中,哪一种活动只存在同步关系?A) 某年某月某日某航班的订票B) 球队举行足球比赛C) 汽车装配流水线上的各道工序√D) 公共复印室复印机的使用用P、V操作管理临界区时,把信号量mutex的初值设定为1。
四级嵌入式系统开发工程师-1
四级嵌入式系统开发工程师-1(总分:100.00,做题时间:90分钟)一、单选题(总题数:20,分数:60.00)1.CPU一次能传送或处理的二进制数据的位数称为(分数:3.00)A.机器字长√B.指令长度C.存储器宽度D.寄存器宽度解析:2.衡量计算机性能的基本指标是(分数:3.00)A.计算机速度和内存容量B.执行时间和吞吐率√C.主频和内存大小D.主频和多核数解析:3.如果X=-1101010,它的补码是(分数:3.00)A.10011001B.10010110 √C.11101010D.1010110解析:4.如果寄存器AL和BL中的内容分别为十六进制数82H和90H,执行指令SUB AL,BL后,标志寄存器中的标志位的值错误的是(分数:3.00)A.CF=1B.ZF=0C.SF=1D.PF=1 √解析:5.在下列有关取指周期所执行的操作描述中,错误的是(分数:3.00)A.将程序计数器(PC)中的内容送至存储器地址寄存器(MARR),并送地址总线(AB)B.由控制单元(CU)经控制总线(CB)向存储器发读命令C.从主存中取出的指令通过数据总线(DB)送到存储器缓冲寄存器(MBR)D.将MAR的内容送至指令寄存器(IR)中√解析:6.下列选项中不属于流水线性能衡量指标的是(分数:3.00)A.吞吐率B.加速比C.效率D.长度√解析:7.8086CPU总线接口单元的功能是(分数:3.00)A.负责CPU与数据总线交换信息B.负责CPU与控制总线交换信息C.负责CPU与外部总线交换信息D.负责CPU与存储器、I/O端口传送数据√解析:8.Pentium处理器的四种工作模式分别是(分数:3.00)A.实地址模式、保护模式、虚拟8086模式和SMM模式√B.实地址模式、保护模式、虚地址模式和SMM模式C.实地址模式、管理模式、虚地址模式和SMM模式D.实地址模式、管理模式、虚拟8086模式和SMM模式解析:9.下列有关高速缓冲存储器的描述中,错误的是(分数:3.00)A.高速缓冲存储器位于主存和CPU之间B.存放正在执行的程序段和数据C.与主存统一编址√D.高速缓冲存储器的存取速度比主存储器的存取速度快解析:10.下列有关虚拟存储器的描述中,正确的是(分数:3.00)A.虚拟存储器的逻辑容量由主存和辅存容量之和决定√B.它将辅存的地址空间虚拟化C.它将主存地址空间虚拟化D.它将主存或辅存的地址空间全部虚拟化解析:11.存储器带宽是指(分数:3.00)A.单位时间主存储器存取的信息量√B.存储器的工作频率C.存储器工作频率的范围D.存储器的数据宽度解析:12.在工作过程中需要定时刷新的存储器类型是∙ A.SRAM∙ B.DRAM∙ C.EPROM∙ D.E2PROM(分数:3.00)A.B. √C.D.解析:13.为了判断带符号数a是否大于b,应该用的转移指令是(分数:3.00)A.JAB.JBC.JG √D.JS解析:14.若有下列汇编指令MOV CX,80XOR AL,ALCLDREP STOSB执行后的结果是(分数:3.00)A.把内存单元ES:DI开始的连续80个字节内容清0 √B.把内存单元DS:DI开始的连续80个字节内容清0C.把内存单元ES:SI开始的连续80个字节内容清0D.把内存单元DS:SI开始的连续80个字节内容清0解析:15.如果希望8259A工作在单片方式、外部请求为脉冲边沿触发方式、后面要求有ICW4,初始化命令字ICW1应该设置成(分数:3.00)A.12HB.13H √C.18HD.1BH解析:16.如果8251A模式字中的比特率因子设为64,就表明每发送1位数据要用(分数:3.00)A.8个脉冲B.16个脉冲C.32个脉冲D.64个脉冲√解析:17.下列有关8255A工作方式设置的描述中,错误的是(分数:3.00)A.端口A、B、C均可工作在方式1B.端口B、C均可工作在方式1C.端口A可工作在方式2 √D.端口A、B均可工作在方式2解析:18.如果希望8253的计数器1工作在模式0、计数初值为5,控制字应该设置成(分数:3.00)A.50H √B.52HC.60HD.62H解析:19.下列有关A/D转换器的描述中,正确的是(分数:3.00)A.逐次逼近式A/D转换器比计数式A/D转换器转换速度快√B.计数式A/D转换器比逐次逼近式A/D转换器转换速度快C.逐次逼近式A/D转换器比计数式A/D转换器抗干扰能力强D.计数式A/D转换器比逐次逼近式A/D转换器抗干扰能力强解析:20.下列有关激光打印机的描述中,错误的是(分数:3.00)A.要打印的字符通过控制激光束对感光鼓表面进行照射B.打印纸上的墨粉经过加热的上定影辊时将溶化在打印纸上C.激光打印机的打印速度比针式打印机和喷墨打印机的速度快D.感光鼓上带电荷的地方将沾上墨粉√解析:二、多选题(总题数:10,分数:40.00)21.为了减少转移对流水线性能的影响,可采用的方法有(分数:4.00)A.延迟转移技术√B.加快和提前形成条件码√C.预取转移成功或不成功两个控制流方向上的目标指令√D.旁路技术或相关专用通路技术解析:22.与计算机的运算速度有关的因素是(分数:4.00)A.机器的主频√B.所执行的操作类型√C.主存的存取速度√D.高速缓存的性能√解析:23.十进制数135.25可表示成(分数:4.00)A.(87.4)16 √B.(10000111.01)2 √C.(87.5)16D.(10000111.101)2解析:24.如果寄存器AL和BL中的内容分别为十六进制数82H和99H,执行指令ADD AL,BL后,标志寄存器中的标志位的值是(分数:4.00)A.SF=0 √B.CF=1 √C.PF=1 √D.OF=1 √解析:25.下列有关Pentium处理器的描述中,正确的是(分数:4.00)A.采用了U、V两条流水线结构√B.在芯片内部集成了两个一级Cache √C.采用分段和分页存储管理机制√D.支持多处理器系统√解析:26.下列有关双极型半导体存储器与MOS半导体存储器相比的描述中,正确的是(分数:4.00)A.前者存取速度快√B.前者集成度较低√C.前者功耗较大√D.前者成本较高√解析:27.Cache与主存地址映射技术可以采用(分数:4.00)A.全相联映射方式√B.直接映射方式√C.组相联映射方式√D.混合映射方式解析:28.下面关于8259A工作方式设置的描述中,正确的是(分数:4.00)A.可以设置成全嵌套工作方式√B.可以设置成特殊全嵌套工作方式√C.可以设置成一般中断屏蔽工作方式√D.可以设置成自动中断结束工作方式√解析:29.下面关于8251A模式字设置的描述中,正确的是(分数:4.00)A.可以设置成同步方式√B.比特率因子可以设置成16 √C.可以设置成字符由5位二进制位组成√D.可以设置成采用2位停止位√解析:30.下面关于在总线操作的异步通信应答方式的描述中,正确的是(分数:4.00)A.可以采用位互锁方式B.可以采用半互锁方式√C.可以采用全互锁方式√D.可以采用字符互锁方式解析:。
历年计算机四级嵌入式系统开发工程师模拟题
历年计算机四级嵌入式系统开发工程师模拟题历年计算机四级嵌入式系统开发工程师模拟题滴水可以穿石也是锲而不舍精神的体现。
我们航行在没有边际的学习海洋上,只有凭借这种精神,才可能到达知识的彼岸,下面是店铺为大家搜素整理的计算机四级考试题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!一、分析题。
本题(各5分)。
假设下面代码中的变量都是合法变量,调用外部的函数都是正确的。
回答几个问题:这些代码意图要干什么?是否有问题?如果有问题,该如何修改,或者如何避免类似错误发生?如果没有问题,如果代码有输出,输出是什么?1、———————————————————–int isvowel (char c){returnc==’a’’’’’’’’||c==’e’’’’’’’’||c==’i’’’’’’’’||c==’o’’’’’’’’||c==’u’’’’}2、———————————————————–whi le (c==’ ’||c=’ ‘||c==’ ’)c=getc(f);3、———————————————————–/* 当x=2, y=3, z=? */if (x==0)if (y==0)z=-1;elsez=x+y; 4、———————————————————–/* 处理网络事件 */void process_network_code(int x, int y){/* 选择modes_pointer资源 */switch (line) {case THING1:/* 处理异常1#, 使用老的`modes_pointer资源 */ doit1();break;case THING2:/* 处理异常2#, 需要重新启动服务 */if (x == STUFF) {/* 重新申请modes_pointer资源,没有初始化 */ do_first_stuff();/* 在这种条件下,有些资源不用重新申请 */if (y == OTHER_STUFF)break;/* 申请剩下的资源,并初始化 */do_later_stuff();}/* 初始化modes_pointer资源 */initialize_modes_pointer();break;default:/* 处理普通事件, 使用老的modes_pointer资源 */ processing();}/* 使用modes_pointer资源,处理事件 */use_modes_pointer();}5、———————————————————–int is_gb2312_char c1, char c2){if (c1 >= 0xa1 && c2 >= 0xa1)return 1;elsereturn 0;}6、———————————————————–下面x, y的值是多少,有什么问题?int x = 10, y = 3;x ^= y;y ^= x;x ^= y;/* x=?, y = ? */7、———————————————————–int days[]={31,28,31,30,31,30,31,31,30,31,30,31,};int calendar[12][31];int (*monthp)[31];int *dayp;int i;memset(calendar, 0, sizeof(calendar));i = 0;for (monthp = calendar; monthp < &calendar[12]; monthp++) {for (dayp = *monthp; dayp < &(*monthp)[31]; dayp++) {if (dayp - *monthp < days[calendar - monthp]) {*dayp = i++ % 7 + 1;}}} 8、———————————————————–void printnum(long n){if (n < 0) {put’-’’’’’’’’);n = -n;}if (n >= 10) {printnum(n/10);}putchar (”0123456789″[n%10]);} 9、———————————————————–void * memchr(void *pv, unsigned char ch, size_t size) {unsigned char *pch = (unsigned char *) pv; unsigned char *pchEnd = pch + size;while (pch < pchEnd) {if (*pch == ch)return (pch);pch++;}return NULL;} 10、———————————————————–void * memchr(void *pv, unsigned char ch, size_t size) {unsigned char *pch = (unsigned char *) pv; unsigned char *pchPlant = pch + size; unsigned char chSave = *pchPlant;*pchPlant = ch;while (pch != ch) {pch++;}*pchPlant = chSave;return ((pch == pchPlant) ? NULL : pch);}【历年计算机四级嵌入式系统开发工程师模拟题】。
国家计算机等级考试四级嵌入式真题
在进行操作系统设计时,下列哪一个是构造操作系统的方法?C) 微内核结构在不同类型的操作系统中,批处理操作系统的缺点是A) 缺少交互性在下面列出的计算机操作中,只能在操作系统内核态下运行的是D) 屏蔽中断引入中断技术可以使计算机的运行效率得到提高,下列哪一项对中断响应顺序产生影响?A) 中断优先级操作系统提供给用户用于应用程序编程的唯一接口是A) 系统调用下列各种数据对象中,与进程具有一一对应关系的是B) 进程控制块某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是A) 运行状态在Pthread线程包中,线程操作pthread_join的含意是C) 等待一个特定的线程退出下列各种情况中,一定不会引起进程调度的操作是一个进程从就绪状态变成了运行状态下列活动中,哪一种活动只存在同步关系?C) 汽车装配流水线上的各道工序用P、V操作管理临界区时,把信号量mutex的初值设定为1。
当有k(k >1)个进程在mutex的等待队列中时,信号量的值为D) k下列存储管理方案中,允许动态扩充内存容量的方案是D) 虚拟页式在可变分区存储管理方案中,在对一个分区进行回收时,若该分区的起始地址加长度等于空闲区表中某个登记项所表示空闲区的起始地址,则表示B) 该回收分区的下邻分区是空闲的页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?C) 512下列哪一个页面置换算法有可能产生Belady异常现象?A) FIFO在采用虚拟存储管理方案的系统中,发生"抖动"现象是由以下哪一个原因引起的?D) 页面置换算法不合理文件的存取方式依赖于Ⅰ.文件的物理结构Ⅱ.文件的逻辑结构Ⅲ.存放文件的设备的物理特性D) 仅Ⅰ和Ⅲ文件系统实现文件的按名存取是通过下列哪一项工作完成的?A) 文件目录查找使用文件前要先打开文件。
2016年计算机四级嵌入式系统开发工程师模拟试题四
⼀.4、综合编程题。
要求: 1、完成需求,程序运⾏正确。
2、⼯作原理⽂档,使⽤⽂档完整。
3、代码规整优美。
注释得当。
4、运⾏速度⾜够快。
5、⽤⼯具分析出是哪些代码或函数造成速度瓶颈。
1、———————————————————– 编写⼀个排序程序。
被排序的⽂件有8MB⼤⼩,⼀⾏⼀个随机整数(ASCII格式)。
要求对这些整数进⾏排序,并计算平均值,打印出排序所需的时间。
(20分) 2、———————————————————– ⽤dummy header技巧实现⼀个链表DEMO。
要求具有create, insert, delete, search功能。
编写⼀个应⽤程序,使⽤上⾯的函数。
使⽤dummy header技巧有什么优点。
(20分) 3、———————————————————– ⽤heapsort算法实现优先队列。
要求具有create, insert, delete功能。
编写⼀个应⽤程序,使⽤上⾯的函数。
使⽤heapsort算法有什么优点。
(20分) ⽤trie(⼀种多叉树)实现⼀个字典。
要求具有create, insert, delete, search功能。
编写⼀个应⽤程序,使⽤上⾯的函数。
使⽤trie树有什么优点。
(20分) ⼆.1、简答题。
下⾯的题⽬必须全部答对才给分:(5分) 1、在UNIX环境中,编译流程是什么? 2、ABI,ELF的英⽂全称是什么 3、⼀般UNIX的程序有多少段,举⼀个实际的例⼦说明。
4、如何在kernel⼆进制代码中找⼀个字符串。
5、段地址F000:FFF0转换为线形地址的值是多少(16进制表达)。
6、在⼀个UNIX⽂件系统中,⽂件的性标志是什么? ⼆.2、问答题。
1、———————————————————– 写⼀些代码。
如何⽤⽂件实现信号灯?要求如果程序崩溃了,这个⽂件也将⾃动被删除。
为什么可以这样实现信号灯?(5分) 传统的signal函数信号处理为什么是不可靠的,信号和系统调⽤有何关系?(5分) 在图形库系统中往往提供timer的功能,除了使⽤ALARM信号外,你还可以使⽤什么系统调⽤来实现timer?(5分) 2、———————————————————– 写⼀些代码,演⽰如何正确使⽤write系统调⽤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试四级嵌入式系统开发工程师模拟题完整全套(无答案)一、编程开发能力:1、用预处理指令#define声明一个常数,用以表明一年中有多少秒(忽略闰年问题);写一个“标准”宏MIN函数,这个宏输入两个参数并返回较小的一个。
2、用变量a给出下面的定义:(1)一个整型数(An integer);(2)一个指向整型数的指针(A pointer to an integer);(3)一个指向指针的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer);(4)一个有10个整型数的数组(An array of 10 integers);(5)一个有10个指针的数组,该指针是指向一个整型数的(A array of 10 pointers to integers);(6)一个指向有10个整型数组的指针(A pointer to an array of 10 integers);(7)一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument re turns an integer);(8)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of 10 pointers to functions that take an integer argum ent and return an integer);3、关键字volatile有什么含义?并举出三个不同的例子。
4、嵌入式系统总是要用户对变量或寄存器进行位操作,给定一个整型变量a,写两段代码,第一个设置a 的bit 3,第二个清除a 的bit 3,在以上操作中,要保持其他位不变。
5、嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点,在某工程中,要去设置一绝对地址为0x67a9的整型变量的值为0xaa66。
编译器是一个纯粹的ANSI编译器,写代码去完成这一任务。
6、中断是嵌入式系统中的重要组成部分,这导致了很多编译开发商提供一种扩展——让标准C支持中断,具有代表性的是,产生一个新的关键字:__interrupt,下面的代码就使用了__interrupt去定义了一个中断子程序(ISR),请评论下这段代码的__interrupt,double compute_area(double radius) {double area=PI*radius*radius; print f("\n Area"=%f,area); return area; }7、尽管不像非嵌入式计算机那样常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的,那么嵌入式系统中,动态分派内存可能发生的问题是什么?8、关键字static 的作用是什么?9、#include 与#include "file.h"的区别? 10、请说出const 与#define 相比,有何优点?二、嵌入式系统编程:1、进程与线程有什么区别?2、操作系统有哪几个特征?最主要的特征是什么?虚拟存储器有哪几个特征?其最本质的特征是什么?3、库函数的调用和系统调用的区别?4、Linux进程间通行方式有哪几种以及各自的特点?5、Linux中四层网络模型?IP的各种类型的范围?6、在Linux系统中,造成死锁的原因有哪些?7、Linux网络编程中主要使用的API有哪些以及网络服务器模型的种类? 8、简述对Linux的认识(特点,优势)。
三、嵌入式平台开发1、bootloader 是什么?bootloader的stage1和stage2分别做的工作有哪些?2、Linux内核版本命名的规则?3、Linux设备文件有哪几类?4、Linux文件系统的种类有哪些以及使用特点?5、嵌入式系统移植的主要工作步骤是什么?四、编程能力实测1、编写一个C函数,将“I am from shanghai”倒置为“shanghai from am I”即将句子中的单词位置倒置,并不改变单词内部结构。
2、请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出。
一.1、简答题。
下面的题目必须全部答对才给分(20分):1、如何在C中初始化一个字符数组。
2、如何在C中为一个数组分配空间。
3、如何初始化一个指针数组。
4、如何定义一个有10个元素的整数型指针数组。
5、 s[10]的另外一种表达方式是什么。
6、 GCC3.2.2版本中支持哪几种编程语言。
7、要使用CHAR_BIT需要包含哪个头文件。
8、对(-1.2345)取整是多少?9、如何让局部变量具有全局生命期。
10、C中的常量字符串应在何时定义?11、如何在两个.c文件中引用对方的变量。
12、使用malloc之前需要做什么准备工作。
13、realloc函数在使用上要注意什么问题。
14、strtok函数在使用上要注意什么问题。
15、gets函数在使用上要注意什么问题。
16、C语言的词法分析在长度规则方面采用的是什么策略?17、a+++++b所表示的是什么意思?有什么问题?18、如何定义Bool变量的TRUE和FALSE的值。
19、C语言的const的含义是什么。
在定义常量时,为什么推荐使用const,而不是#define。
20、C语言的volatile的含义是什么。
使用时会对编译器有什么暗示。
一.2、问答题。
1、———————————————————–“匈牙利命名法”有什么优缺点?(2分)2、———————————————————–下面x, y, *p的值是多少,有什么问题?(2分)int x, y, z = 2;int *p=&z;x=sizeof*p;y=x/*p; /* x=?, *p=?, y=?, 有什么问题?*/3、———————————————————–下面的语句是什么意思?如何声明或定义才使它们更易懂?(10分)int (*foo())();int (*foo())[];int (*foo[])();(*(void(*)())0)();void (*signal(int,void(*)(int)))(int);4、———————————————————–本题(2分)。
一般使用malloc时,需要进行强制类型转换,如:char *s; s = (char *)malloc(31);下面中???该如何填写,才可以正确执行强制类型转换?int (*monthp)[31]; monthp = (???)malloc(31);5、———————————————————–关于C语言运算符优先级的记忆技巧是什么?(2分)/* 下面r的值是多少 */int hi, low, r;hi=7;low=3;r=hi<<4+low;6、———————————————————–指针和数组的区别是什么?用一个简单的声明把它们区分开。
(2分)指针和数组的声明在什么情况下是相同的?(2分)7、———————————————————–C语言的左值(lvalue)和右值(rvalue)的含义是什么?(2分)8、———————————————————–为什么C语言可以实现printf(char *format, …)这样可变参数的调用形式?这样有什么缺点?(2分)9、———————————————————–说明C语言中术语”声明”"定义”"原型”的含义?(2分)10、———————————————————–举一个例子,说明使用assert和防错代码的区别。
(5分)11、———————————————————–对语句 if else 与操作符 ? : 使用场合的比较。
(2分)12、———————————————————–编写一个函数,输入一个的整型数字,可以选择按照8/10/16进制输出字符串。
注意边界值。
(5分)13、———————————————————–本题(2分)。
下面是一个16×16的黑白图标:static unsigned short stopwatch[] = {0×07c6,0×1ff7,0×383b,0×600c,0×600c,0xc006,0xc006,0xdf06,0xc106,0xc106,0×610c,0×610c,0×3838,0×1ff0,0×07c0,0×0000,};如何修改声明,可以使之在源代码中形象地表现出图形的模样。
14、———————————————————–说出可以使用calendar[11][30]变量的四种类型定义。
(5分)如:int calendar[12][31]; /* 二维数组 */15、———————————————————–使用strcmp,当字符串相同时会返回’\0′。
但’\0′一般作为逻辑假,因此下面的语句不容易理解:if (!strcmp(s, “string”)) return EQUATION;如何经过简单修改,使之更易懂?(2分)16、———————————————————–编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。
(5分)17、———————————————————–在树和图这些数据结构中,通常使用指针来组织数据。
如果我们要把这些数据保存到文件中,指针是没有意义的。
我们该如何解决这个问题。
(2分)18、———————————————————–用2种不同的方法计算long变量的”1″bit的个数。
(2分)19、———————————————————–任意给出一个C的基本数据类型,如何编码判断这个数据类型是有符号还是无符号的?(2分)不得上机实验,写出下面代码的输出。
解释这个行为是标准定义的,还是依赖实现的。
(2分)int i;for (i = 0; i < 10; i++) {int j = i;printf (”%d\n”, j);}20、———————————————————–列出5种以上你所看过的C编程的书籍,并写简要书评。
(5分)对C的评价。
如果要你改造一把菜刀,使之更加安全,你是否会使用这样的菜刀,为什么?(5分)一.3、分析题。
本题(各5分)。
假设下面代码中的变量都是合法变量,调用外部的函数都是正确的。
回答几个问题:这些代码意图要干什么?是否有问题?如果有问题,该如何修改,或者如何避免类似错误发生?如果没有问题,如果代码有输出,输出是什么?1、———————————————————–int isvowel (char c){return c==’a’’’’’’’’||c==’e’’’’’’’’||c==’i’’’’’’’’||c==’o’’’’’’’’||c==’u’’’’}2、———————————————————–while (c==’\t’||c=’‘||c==’\n’)c=getc(f); 3、———————————————————–/* 当x=2, y=3, z=? */if (x==0)if (y==0)z=-1;elsez=x+y; 4、———————————————————–/* 处理网络事件 */void process_network_code(int x, int y){/* 选择modes_pointer资源 */switch (line) {case THING1:/* 处理异常1#, 使用老的modes_pointer资源 */ doit1();break;case THING2:/* 处理异常2#, 需要重新启动服务 */if (x == STUFF) {/* 重新申请modes_pointer资源,没有初始化 */ do_first_stuff();/* 在这种条件下,有些资源不用重新申请 */if (y == OTHER_STUFF)break;/* 申请剩下的资源,并初始化 */do_later_stuff();}/* 初始化modes_pointer资源 */initialize_modes_pointer();break;default:/* 处理普通事件, 使用老的modes_pointer资源 */ processing();}/* 使用modes_pointer资源,处理事件 */use_modes_pointer();}5、———————————————————–int is_gb2312_char(char c1, char c2){if (c1 >= 0xa1 && c2 >= 0xa1)return 1;elsereturn 0;}6、———————————————————–下面x, y的值是多少,有什么问题?int x = 10, y = 3;x ^= y;y ^= x;x ^= y;/* x=?, y = ? */7、———————————————————–int days[]={31,28,31,30,31,30,31,31,30,31,30,31,};int calendar[12][31];int (*monthp)[31];int *dayp;int i;memset(calendar, 0, sizeof(calendar));i = 0;for (monthp = calendar; monthp < &calendar[12]; monthp++) { for (dayp = *monthp; dayp < &(*monthp)[31]; dayp++) {if (dayp - *monthp < days[calendar - monthp]) {*dayp = i++ % 7 + 1;}}}8、———————————————————–void printnum(long n){if (n < 0) {putchar(’-’’’’’’’’);n = -n;}if (n >= 10) {printnum(n/10);}putchar (”0123456789″[n%10]);}9、———————————————————–void * memchr(void *pv, unsigned char ch, size_t size) {unsigned char *pch = (unsigned char *) pv;unsigned char *pchEnd = pch + size;while (pch < pchEnd) {if (*pch == ch)return (pch);pch++;}return NULL;}10、———————————————————–void * memchr(void *pv, unsigned char ch, size_t size) {unsigned char *pch = (unsigned char *) pv;unsigned char *pchPlant = pch + size;unsigned char chSave = *pchPlant;*pchPlant = ch;while (pch != ch) {pch++;}*pchPlant = chSave;return ((pch == pchPlant) ? NULL : pch);}一.4、综合编程题。