中兴手机嵌入式开发面试题汇总

合集下载

嵌入式 面试题

嵌入式 面试题

嵌入式面试题一、介绍嵌入式系统嵌入式系统是一种专门设计用于特定应用的计算机系统,通常被嵌入在其他设备或系统中,以完成特定的功能。

这些系统通常运行在微处理器或微控制器上,并且具有实时性要求。

嵌入式系统广泛应用于各个领域,如汽车、通信、医疗、家电等。

二、嵌入式系统面试题1:嵌入式系统的特点1. 实时性要求:嵌入式系统通常需要满足实时性要求,能够在给定的时间范围内响应和执行任务。

2. 资源受限:由于嵌入式系统的应用场景多样,往往会受到资源限制,包括处理器性能、存储器容量、功耗等。

3. 可靠性要求:嵌入式系统在应用中通常需要长时间运行,并且对系统的稳定性和可靠性要求较高。

4. 实时操作系统:嵌入式系统通常使用实时操作系统(RTOS)来满足实时性要求,并提供多任务处理和资源管理等功能。

5. 低功耗设计:嵌入式系统往往需要在有限的电源条件下运行,因此需要对功耗进行优化设计,延长系统的使用寿命。

三、嵌入式系统面试题2:嵌入式软件开发1. 嵌入式软件开发语言:嵌入式系统的软件通常使用C、C++等高级语言进行开发,也有部分系统使用汇编语言进行优化。

2. 嵌入式系统的BOOT流程:嵌入式系统的启动流程通常包括上电初始化、引导加载、系统初始化等步骤。

3. 驱动程序开发:嵌入式系统中的各种外设通常需要开发相应的驱动程序来进行控制和管理。

4. 通信协议:嵌入式系统通常需要使用各种通信协议与其他系统进行交互,如UART、SPI、I2C等。

5. 调试和测试:嵌入式系统的软件开发过程中需要进行调试和测试,以保证系统的正常运行和稳定性。

四、嵌入式系统面试题3:硬件相关知识1. 微控制器和微处理器:嵌入式系统通常由微控制器或微处理器作为核心部件,进行数据处理和控制操作。

2. 存储器:嵌入式系统中的存储器包括闪存、存储芯片等,用于存储程序代码和数据。

3. 外设接口:嵌入式系统通常需要与各种外设进行连接和通信,如显示屏、传感器、通信模块等。

嵌入式协议面试题目(3篇)

嵌入式协议面试题目(3篇)

第1篇一、基础知识1. 什么是嵌入式系统?请简要描述其特点和应用领域。

解析:嵌入式系统是指将计算机硬件与软件集成在一起,用于实现特定功能的系统。

特点包括:实时性、可靠性、资源受限、功耗低等。

应用领域广泛,如智能家居、工业控制、医疗设备、汽车电子等。

2. 嵌入式系统中的硬件资源有哪些?请分别简述其作用。

解析:嵌入式系统中的硬件资源主要包括:中央处理器(CPU)、存储器(RAM、ROM)、输入/输出接口(I/O)、定时器/计数器、中断控制器、串行通信接口等。

它们分别用于处理计算任务、存储程序和数据、与外部设备进行数据交换、实现定时功能、处理中断请求、进行串行通信等。

3. 什么是通信协议?请举例说明几种常见的嵌入式通信协议。

解析:通信协议是指计算机网络中,为了实现数据交换而制定的一系列规则和约定。

常见的嵌入式通信协议有:UART、SPI、I2C、CAN、USB、以太网等。

4. 请简述UART通信协议的基本原理和特点。

解析:UART(通用异步收发传输器)是一种串行通信协议,用于实现点对点或多点通信。

基本原理是通过发送和接收数据线进行数据传输,不使用时钟信号。

特点包括:通信速率高、传输距离远、接口简单、成本低等。

5. 什么是SPI通信协议?请简述其工作原理和特点。

解析:SPI(串行外设接口)是一种高速的串行通信协议,主要用于微控制器与外设之间的通信。

工作原理是:主设备通过主从模式,通过主设备和从设备之间的时钟信号,实现数据的串行传输。

特点包括:通信速率高、传输距离远、支持多主从设备、接口简单等。

6. 什么是I2C通信协议?请简述其工作原理和特点。

解析:I2C(两线式串行总线)是一种低速的串行通信协议,主要用于微控制器与外设之间的通信。

工作原理是:通过两根数据线和一根时钟线,实现数据的串行传输。

特点包括:通信速率较低、传输距离远、支持多设备通信、接口简单等。

二、协议应用1. 请简述CAN总线通信协议的特点和应用场景。

中兴手机嵌入式开发面试题汇总

中兴手机嵌入式开发面试题汇总

中兴手机嵌入式开发面试题汇总1:将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是和2和5和2和5知识点:数据类型的存储方式2:表达式x 等效于==1==0=1=0知识点:逻辑非3:执行下列程序include ″stdio. h″main{printf″%d\n″,NULL;}后输出的结果是知识点:NULL的含义4:下列关于C语言的叙述错误的是A.英文字母大小写不加以区分B.不同类型的变量可以出现在同一个表达式中C.在赋值表达式中赋值号两边的类型可以不同D.某些运算符在不同的场合可以有不同的含义5:设int a=9,b=20 ;则printf ″%d,%d\n ″,a--,--b ;的输出结果是, 19, 20, 19, 20知识点:运算符的优先级6:函数调用语句“fe1,e2,e3,e4,e5 ”中参数的个数是知识点:函数调用7:以“只读”方式打开文本文件a: \ , 下列语句中哪一个是正确的=fopen ”a: \ ”, ”ab ”数形式参数的数据类型B.函数返回值的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型知识点:有值函数9:表达式x||a==b 等效于A.x||a==bB.x||y==bC.x||a==bD.x||a==b知识点:运算符的优先级10:设int a=10, b=20, c=30;条件表达式a11:下列数据中,不是C语言常量的是A.′\n′B.″a″12:C语言中计算a的3次方,正确的表达是^3a,33a,3知识点:c的库函数13:下列标识符中,不是C语言保留字的是14:调用函数时,若实参是一个数组名,则向函数对应的形参传送的是A.数组的长度B.数组的首地址C.数组第一个元素的值D.整个数组元素的值16:执行语句“k=5 | 3; ”后,变量k 的当前值是17:完成C 源文件编辑后、到生成执行文件, C 语言处理系统必须执行的步骤依次为A.连接、编译B.编译、连接C.连接、运行D.运行18:执行语句printf " |%9.4f|\n " ,; 后的输出结果是A.||B.||C.||D.||19:C语言不能选用的字母是B.π20:若变量定义时未初始化,则其值不确定的是A.静态全局变量B.局部变量态局部变量D.全局变量知识点:变量定义21:char p, a168; 问:p=a是否会导致程序在以后出现问题为什么可能,有可能指针指向的地址为0,引起系统崩溃a00=0,p=a00,p的未知22:命令tail用来打印文件中最后n行;命令格式为:tail -n filename其中-n: n表示需要打印的行数,当省略此参数时,n的缺省值为10;filename: 给定文件名;例如,命令tail –20 表示打印文件的最后20行;请用C语言实现该程序,该程序应具有一定的错误处理能力,例如能处理非法命令参数和非法文件名;提示1:使用命令行参数;提示2:可以使用下面的C库函数:- int atoichar s将数字串转换为相应整数;- fopen, fclose, printf, fprintf, exit;- fgetschar s, int n, FILE fp从文件中读入一行;- void mallocunsigned size, free申请和释放内存;- strlen计算字符串长度;- strcpy将一个字符串拷贝到另一个字符串中;除此之外,不允许使用其它库函数;23:重载overload和重写overried,有的书也叫做“覆盖”的区别重载:是指允许存在多个同名函数,而这些函数的参数表不同或许参数个数不同,或许参数类型不同,或许两者都不同;重写:是指子类重新定义复类虚函数的方法;从实现原理上来说:重载:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数至少对于编译器来说是这样的;如,有两个同名函数:function funcp:integer:integer;和function funcp:string:integer;;那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func;对于这两个函数的调用,在编译器间就已经确定了,是静态的;也就是说,它们的地址在编译期就绑定了早绑定,因此,重载和多态无关重写:和多态真正相关;当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的调用的子类的虚函数的地址无法给出;因此,这样的函数地址是在运行期绑定的晚绑定;24:讲述const,static,extern的作用;const:static:1、扩展生存期;2、限制作用域;3、唯一性extern:25:耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号;26:C/C++源代码中,检查花括弧“”与“”,“{”与“}”是否匹配,若不匹配,则输出不匹配花括弧所在的行与列;27:写一个病毒;28:一堆数在一个集合中,总共2n个,问如何将这些数分成A,B两分,每分n个,要求A中的数均小于B中的数,需要考虑时间复杂度;29:设计一函数,求整数区间a,b和c,d的交集30:unsigned char p1;unsigned long p2;p1=unsigned char 0x801000;p2=unsigned long 0x810000;请问:p1+5=unsigned char 0x801005;p2+5=unsigned long 0x810019;。

嵌入式系统工程师常见面试题

嵌入式系统工程师常见面试题

嵌入式系统工程师常见面试题在嵌入式系统工程领域,面试是企业筛选合适人才的重要环节。

以下是一些常见的嵌入式系统工程师面试题,涵盖了硬件、软件、操作系统等多个方面。

一、硬件相关1、请简述一下电阻、电容、电感的基本特性及其在电路中的作用。

电阻主要用于限制电流、分压和产生热量。

电容可以存储电荷,用于滤波、耦合和定时等电路。

电感则能储存磁场能量,常用于滤波、谐振和变压器等。

2、解释一下什么是 PCB(印刷电路板)布线的阻抗控制,以及为什么它很重要?PCB 布线的阻抗控制是确保信号在传输过程中保持稳定和减少反射的关键。

不同的信号速率和频率对阻抗有特定要求。

如果阻抗不匹配,会导致信号失真、噪声增加和传输错误,影响系统的性能和可靠性。

3、谈谈你对ADC(模数转换器)和DAC(数模转换器)的理解,包括它们的工作原理和主要性能指标。

ADC 将模拟信号转换为数字信号,工作原理有逐次逼近型、积分型等。

主要性能指标包括分辨率、转换精度、转换速度等。

DAC 则相反,将数字信号转换为模拟信号。

其性能指标类似 ADC,但还包括建立时间等。

4、如何降低系统的功耗,特别是在嵌入式设备中?可以从多个方面入手,如选择低功耗的芯片和器件,优化电路设计,合理设置电源管理模式,采用动态电压频率调整技术,以及在软件中控制硬件模块的电源开关等。

二、软件相关1、解释一下什么是中断,以及在嵌入式系统中如何处理中断?中断是指 CPU 在执行正常程序时,由于外部事件或内部异常而暂停当前程序,转而去执行相应的中断服务程序。

在嵌入式系统中,需要设置中断向量表,配置中断优先级,编写中断服务程序,并确保中断处理的及时性和准确性。

2、描述一下你对实时操作系统(RTOS)的理解,以及它与普通操作系统的区别。

实时操作系统强调任务的确定性和及时性,能在规定的时间内完成关键任务。

与普通操作系统相比,它具有更短的中断响应时间、更严格的任务调度策略和更高的可靠性。

3、谈谈你对 C 和 C++在嵌入式系统开发中的应用和优缺点。

嵌入式面试题目

嵌入式面试题目

嵌入式面试题目嵌入式系统作为当今科技发展中的重要一环,对于各行业的应用都起着至关重要的作用。

面对嵌入式系统的高要求,拥有专业知识和技能的人才成为了企业追逐的目标。

因此,嵌入式系统的面试题目也变得极为关键。

以下是一些常见的嵌入式面试题目,通过回答这些问题,可以更好地展示你在嵌入式领域的知识和能力。

1. 什么是嵌入式系统?它与普通计算机系统有何不同?嵌入式系统是一种特殊的计算机系统,主要用于执行特定任务或控制特定设备。

与普通计算机系统相比,嵌入式系统通常具有更严格的硬件资源限制,更高的实时性要求,以及更低的功耗和成本。

2. 嵌入式系统的发展趋势有哪些?随着科技的不断进步,嵌入式系统也在不断发展和演变。

目前,一些主要的嵌入式系统发展趋势包括:- 更高的性能和处理能力- 更小更紧凑的尺寸和结构设计- 更低的功耗和延迟- 更好的可靠性和安全性- 更高效的通信和连接性能3. 嵌入式系统中常用的处理器架构有哪些?在嵌入式系统中,常见的处理器架构包括:- ARM架构:广泛应用于移动设备和低功耗嵌入式设备上。

- x86架构:适用于高性能嵌入式设备和个人电脑系统。

- MIPS架构:常见于网络设备、数字电视等。

- Power架构:主要用于服务器和高性能计算。

4. 嵌入式系统中常用的实时操作系统有哪些?实时操作系统(RTOS)在嵌入式系统中发挥着重要的作用,常见的RTOS有:- FreeRTOS:简单、可移植的开源RTOS。

- μC/OS:可裁剪的实时操作系统。

- QNX:用于高性能、高可用性系统的商业RTOS。

- VxWorks:高可靠性实时操作系统。

5. 嵌入式系统中常见的通信接口有哪些?嵌入式系统常用的通信接口包括:- UART:通用异步收发传输接口。

- I2C:用于芯片之间的短距离数据传输。

- SPI:用于与外部设备进行全双工的串行数据传输。

- CAN:用于车载网络和工业自动化领域的通信。

6. 嵌入式系统的软件开发过程包括哪些步骤?嵌入式系统的软件开发过程一般包括以下几个步骤:- 需求分析和系统设计- 软件设计和编码- 调试和测试- 集成和验证- 发布和维护7. 嵌入式系统中常见的开发工具有哪些?在嵌入式系统的开发过程中,通常使用以下几种开发工具:- 编译器和调试器:如GCC、Keil、IAR等。

中兴_综合面试题目(3篇)

中兴_综合面试题目(3篇)

第1篇一、自我介绍1. 请用5分钟时间,用中文和英文分别进行自我介绍。

2. 在自我介绍中,请包含以下内容:a. 基本信息如姓名、年龄、籍贯、学历等;b. 个人特长、兴趣爱好;c. 就读学校和专业,以及在校期间的学习成绩和获奖情况;d. 工作经历和实习经历,包括实习公司、职位、工作内容等;e. 个人职业规划和发展目标。

二、专业知识与技能1. 请简要介绍你所学专业的核心课程和主要研究方向。

2. 请谈谈你对所从事行业的理解,以及你认为该行业未来的发展趋势。

3. 请举例说明你在专业领域内取得的成果或参与的项目。

4. 请谈谈你对以下技术的了解和掌握程度:a. 5G通信技术b. 物联网技术c. 大数据技术d. 云计算技术e. 人工智能技术三、项目经验与团队协作1. 请详细介绍你参与过的项目,包括项目背景、目标、实施过程和成果。

2. 在项目中,你担任的角色是什么?你是如何与团队成员协作的?3. 请举例说明你在项目中遇到的问题,以及你是如何解决这些问题的。

4. 请谈谈你在团队协作中遇到过的困难,以及你是如何克服这些困难的。

四、沟通与表达能力1. 请谈谈你如何向他人传达你的观点和想法。

2. 请举例说明你在团队合作中如何进行有效沟通。

3. 请谈谈你如何处理与同事之间的分歧和冲突。

4. 请谈谈你如何向领导汇报工作进展和成果。

五、综合素质与个人品质1. 请谈谈你的个人品质,如责任心、团队精神、创新意识等。

2. 请谈谈你在面对压力和困难时的应对方式。

3. 请谈谈你的职业规划和发展目标,以及你为实现这些目标所做出的努力。

4. 请谈谈你对工作与生活的平衡看法。

六、职业规划与公司认知1. 请谈谈你选择加入中兴通讯的原因。

2. 请谈谈你对中兴通讯的企业文化和价值观的理解。

3. 请谈谈你对中兴通讯未来发展的期望。

4. 请谈谈你对未来工作环境的期待。

七、情景模拟与心理素质测试1. 情景模拟:a. 你在工作中遇到一个紧急情况,需要立即处理,但同事却不同意你的处理方法,你会如何应对?b. 你的领导安排给你一个超出你能力范围的工作任务,你会如何处理?c. 你的团队在项目实施过程中出现严重分歧,你会如何协调?2. 心理素质测试:a. 请回答以下问题,以测试你的心理素质:1. 你在遇到挫折时,会怎样应对?2. 你在团队合作中,通常扮演什么角色?3. 你在面对压力时,会采取什么措施?b. 请完成以下心理素质测试题目,以评估你的心理承受能力。

中兴面试题目(3篇)

中兴面试题目(3篇)

第1篇一、自我介绍1. 请用1-2分钟的时间,用中文和英文(可选)分别进行自我介绍。

2. 请谈谈你的教育背景、专业知识和技能。

3. 请简要介绍你的实习经历或工作经历。

二、技术知识1. 请解释以下概念:(1)TCP/IP协议栈(2)5G网络技术(3)光通信技术(4)云计算技术2. 请回答以下问题:(1)简述HTTP协议的工作原理。

(2)简述TCP三次握手和四次挥手的过程。

(3)简述光纤通信的原理。

(4)简述云计算的三层架构。

3. 请完成以下编程题目:(1)编写一个简单的HTTP服务器,实现基本的GET和POST请求。

(2)编写一个简单的TCP客户端和服务器,实现数据的传输。

(3)编写一个简单的光纤通信系统,模拟信号传输。

(4)编写一个简单的云计算应用,实现数据的存储和检索。

三、项目经验1. 请详细描述你在项目中的角色和职责。

2. 请谈谈你在项目中的技术难点和解决方案。

3. 请谈谈你在项目中的团队协作和沟通经验。

四、综合能力1. 请谈谈你对中兴通讯的了解。

2. 请谈谈你对通信行业的看法。

3. 请谈谈你对未来职业发展的规划。

五、面试官提问1. 请谈谈你在实习或工作中遇到的最困难的挑战,以及你是如何克服的。

2. 请谈谈你在团队中扮演的角色,以及你如何与团队成员合作。

3. 请谈谈你在生活中遇到的最有挑战性的时刻,以及你是如何应对的。

4. 请谈谈你对领导力的理解,以及你如何展现领导力。

5. 请谈谈你对跨文化沟通的理解,以及你如何应对跨文化沟通的挑战。

六、英语口语1. 请用英语描述你的家乡和你的家庭。

2. 请用英语谈谈你对旅游的看法。

3. 请用英语谈谈你对未来的职业规划。

4. 请用英语回答面试官的提问。

七、其他问题1. 请谈谈你对加班的看法。

2. 请谈谈你对工作与生活的平衡的看法。

3. 请谈谈你对薪酬待遇的要求。

4. 请谈谈你对公司文化的看法。

5. 请谈谈你对未来工作地点的选择。

6. 请谈谈你对面试官的印象。

中兴面试题目及答案

中兴面试题目及答案

中兴面试题目及答案一、自我介绍答:尊敬的面试官,您好!我是XXX,非常荣幸能够参加中兴面试。

我是一名计算机科学专业的毕业生,对技术领域充满热情,并且有多年的实践经验。

我具备扎实的编程基础和良好的沟通能力,希望能够加入贵公司,为公司的发展贡献我的一份力量。

二、项目经验答:在我的大学期间,我参与了一个名为“智能家居控制系统”的项目开发。

该项目是一个基于物联网的智能家居解决方案,通过连接各种智能设备,实现对家居环境的智能化控制。

我的主要职责是负责系统的前端开发和界面设计,通过使用HTML、CSS和JavaScript等技术,实现了用户友好的控制界面,并与后端系统进行数据交互,最终成功实现了项目的预期目标。

三、技术问题1. 请简述TCP/IP协议的基本原理。

答:TCP/IP协议是互联网通信的基础协议。

它基于分层的思想,将通信任务分为多个层次,每个层次负责不同的功能。

TCP/IP协议主要包括物理层、数据链路层、网络层、传输层和应用层。

物理层主要负责实现电信号的传输,数据链路层负责将数据划分为帧,并进行可靠的传输。

网络层主要负责数据包的传输和路由选择。

传输层负责实现端到端的可靠传输,并提供基于端口的服务,如TCP和UDP。

应用层则是最上层的协议,负责实现特定的应用功能,如HTTP、FTP等。

2. 请解释一下什么是死锁,以及产生死锁的条件是什么?答:死锁是指在并发系统中,两个或多个进程因为争夺资源而无法向前推进的状态。

产生死锁的条件主要包括互斥条件、请求与保持条件、不可剥夺条件和循环等待条件。

互斥条件是指每个资源同时只能被一个进程占用。

请求与保持条件是指进程在申请其他资源时,可以保持当前已经占有的资源。

不可剥夺条件是指已经分配给进程的资源不能被强制剥夺。

循环等待条件是指存在一种进程资源申请的循环等待链。

四、个人兴趣和发展答:在我个人兴趣方面,我对人工智能和大数据领域很感兴趣,我对机器学习和数据挖掘有深入的研究,并且在学习过程中也积累了一些实践经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中兴手机嵌入式开发面试题汇总
1:将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数
分别是
和2
和5
和2
和5
知识点:数据类型的存储方式
2:表达式!x 等效于
==1
==0
!=1
!=0
知识点:逻辑非
3:执行下列程序
#include ″stdio. h″
main
{
printf(″%d\n″,NULL);
}
后输出的结果是
知识点:NULL的含义
4:下列关于C语言的叙述错误的是
A.英文字母大小写不加以区分
B.不同类型的变量可以出现在同一个表达式中
C.在赋值表达式中赋值号两边的类型可以不同
D.某些运算符在不同的场合可以有不同的含义
5:设int a=9,b=20 ;则printf( ″%d,%d\n ″,a--,--b) ;的输出结果是
,19
,20
,19
,20
知识点:运算符的优先级
6:函数调用语句“f((e1,e2),(e3,e4,e5)) ”中参数的个数是
知识点:函数调用
7:以“只读”方式打开文本文件a: \ , 下列语句中哪一个是正确的=fopen( ”a: \ ”, ”ab ”) 数形式参数的数据类型
B.函数返回值的数据类型
C.调用该函数时的实参的数据类型
D.任意指定的数据类型
知识点:有值函数
9:表达式!x||a==b 等效于
A.!((x||a)==b)
B.!(x||y)==b
C.!(x||(a==b))
D.(!x)||(a==b)
知识点:运算符的优先级
10:设int a=10, b=20, c=30;条件表达式a
11:下列数据中,不是C语言常量的是
A.′\n′
B.″a″
12:C语言中计算a的3次方,正确的表达是
^3
(a,3)
**3
(a,3)
知识点:c的库函数
13:下列标识符中,不是C语言保留字的是
14:调用函数时,若实参是一个数组名,则向函数对应的形参传送的是
A.数组的长度
B.数组的首地址
C.数组第一个元素的值
D.整个数组元素的值
16:执行语句“k=5 | 3; ”后,变量k 的当前值是
17:完成C 源文件编辑后、到生成执行文件,C 语言处理系统必须执行的步骤依次为
A.连接、编译
B.编译、连接
C.连接、运行
D.运行
18:执行语句printf( " |%9.4f|\n " ,; 后的输出结果是
A.||
B.||
C.||
D.||
19:C语言不能选用的字母是
B.π
20:若变量定义时未初始化,则其值不确定的是
A.静态全局变量
B.局部变量态局部变量
D.全局变量
知识点:变量定义
21:char **p, a[16][8]; 问:p=a是否会导致程序在以后出现问题?为什么?
可能,有可能指针指向的地址为0,引起系统崩溃
a[0][0]=0,*p=a[0][0],**p的未知
22:命令tail用来打印文件中最后n行。

命令格式为:
tail [-n] filename
其中
-n: n表示需要打印的行数,当省略此参数时,n的缺省值为10。

filename: 给定文件名。

例如,命令tail –20 表示打印文件的最后20行。

请用C语言实现该程序,该程序应具有一定的错误处理能力,例如能处理非法命令参
数和非法文件名。

提示1:使用命令行参数;
提示2:可以使用下面的C库函数:
- int atoi(char *s)将数字串转换为相应整数;
- fopen, fclose, printf, fprintf, exit;
- fgets(char *s, int n, FILE *fp)从文件中读入一行;
- void *malloc(unsigned size), free申请和释放内存;
- strlen计算字符串长度;
- strcpy将一个字符串拷贝到另一个字符串中。

除此之外,不允许使用其它库函数。

23:重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?
重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参
数类型不同,或许两者都不同)。

重写:是指子类重新定义复类虚函数的方法。

从实现原理上来说:
重载:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。

如,有两个同名函数:function
func(p:integer):integer;和function func(p:string):integer;。

那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func。

对于这两个函数的调用,在编译器间就已经确定了,是静态的。

也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关!重写:和多态真正相关。

当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。

因此,这样的函数地址是在运行期绑定的(晚绑定)。

24:讲述const,static,extern的作用;
const:
static:
1、扩展生存期;
2、限制作用域;
3、唯一性
extern:
25:耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围
坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。

26:C/C++源代码中,检查花括弧“(”与“)”,“{”与“}”)是否匹配,若不匹配,则输出
不匹配花括弧所在的行与列。

27:写一个病毒。

28:一堆数在一个集合中,总共2n个,问如何将这些数分成A,B两分,每分n个,要求A 中的数均小于B中的数,需要考虑时间复杂度。

29:设计一函数,求整数区间[a,b]和[c,d]的交集
30:unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问:p1+5=(unsigned char *)0x801005;
p2+5=(unsigned long *)0x810019;。

相关文档
最新文档