




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
综合测试试题第一部分:C语言一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n = 0 ) if ( n != 0 )以此类推。请写出 BOOL flag 与“零值”比较的 if 语句:请写出 float x 与“零值”比较的 if 语句:请写出 char *p 与“零值”比较的 if 语句:二、以下为Windows NT下的32位C+程序,请计算sizeof的值char str = “Hello” ;char *p = str ;int n = 10;请计算sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str100)请计算 sizeof( str ) = void *p = malloc( 100 );请计算sizeof ( p ) =三、简答题1、头文件中的 ifndef/define/endif 干什么用?2、#include 和 #include “filename.h” 有什么区别?3、const 有什么用途?(请至少说明两种)4、在C+ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?5、请简述以下两个for循环的优缺点/ 第一个for (i=0; iN; i+)if (condition) DoSomething();else DoOtherthing();/ 第二个if (condition)for (i=0; iN; i+) DoSomething();else for (i=0; inext=NULL)return head;new_head = reverse_list(head-next);head-next-next=head;head-next=NULL; /防止链表成为一个环,这是最关键的。return new_head; 2、写出程序删除链表中的所有接点void del_all(node *head)node *p;while(head!=NULL)p=head-next;free(head);head=p;cout释放空间成功!endl;3、使用冒泡、选择法、快速排序法对数组进行排序第二部分:C+与QT1. C+对C语言做了很多改进,下列描述中(D)使得C语言发生了质变,即从面向过程变成面向对象。A)增加了一些新的运算符 B)允许函数重载,并允许设置默认参数C)规定函数说明必须用原型 D)引进类和对象的概念2. 下面说法中正确的是(B)A) 一个类只能定义一个构造函数,但可以定义多哥析构函数(只能一个)B) 一个类只能定义一个析构函数,但可以定义多个构造函数C) 构造函数与析构函数同名,只是名字前加了一个求反符号()D)构造函数(不)可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以3. 下面关于友元的描述中,错误的是( D)。A)友元函数可以访问该类的私有数据成员。B)一个类的友元类中的成员函数都是这个类的友元函数。C)友元可以提高程序的运行效率。D)类与类之间的友元关系可以继承。4. 有关析构函数的说法不正确的是(B)。A) 析构函数有切仅有一个B) 析构函数和构造函数一样(不)可以有形参C) 析构函数的功能是用来释放一个对象D) 析构函数无任何函数类型5. 下列对重载函数的描述中,(A)是错误的。A) 重载函数中不允许使用默认参数 B) 重载函数中编译时根据参数表进行选择C) 不要使用重载函数来描述毫无相干的函数 D) 构造函数重载将会给初始化带来多种方式6. 下面叙述错误的是(C )A. 派生类可以使用private派生B. 对基类成员的访问必须是无二义性的C. 基类成员的访问能力在派生类中维持不变D. 赋值兼容规则也适用于多继承的组合一、选择题:(共10小题,每题3分)1.类的构造函数被自动调用执行的情况是在定义该类的( C )A)成员函数时B)数据成员时C)对象时D)友元函数时2.说明友元函数使用关键字( A )A)friendB)staticC)constD)colatile3.已知类X中的一个成员函数说明如下:Void Set(x &a); 其中,X&a的含义是(C )A)指向类X的指针为aB)将a的地址赋给变量SstC)a是类X的对象引用,用来做为Set()的形参D)变量X是a按位相与作为函数Set()的参数4. 关于new运算符的下列描述中( D )是错误的. /创建数组时,定义构造函数必须没有参数,或全部为默认参数A)它可以用来动态创建对象和对象数组B)使用它创建对象或对象数组,可以使用运算符DELETE删除C)使用它创建对象时要调用构造函数D)使用它调用对象数组时不许指定初始值5.允许访问类的所有对象的私有成员,公有成员和保护成员的是( A )A)友元函数B)成员函数C)内联函数D)重载函数6局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用( A )提供对全局变量的访问A) 域运算符B) 类运算符C) 重载D) 引用7缺省析构函数的函数体是( C )不存在)随机产生的)空的)无法确定的、8.通常拷贝构造函数的参数表是( C ) /在VC6.0下A)该类对象名 /编译不会通过B)该类对象的成员名 /编译可以通过,但不是通常的标准方法C)该类对象的引用名 /标准拷贝构造函数的方法D)该类对象的指针名 /编译可以通过,但不是通常的标准方法9.对定义重载函数的下列要求中,(D ) 是错误的A)要求参数的个数不同 B)要求参数中至少有一个类型不同C)要求参数个数相同时,参数类型不同 D)要求函数的返回值不同10.对于多重继承,有(D )A.一个派生类只能有一个基类B.一个基类只能产生一个派生类C.一个基类必须产生多个派生类D.一个派生类可有多个基类7. C和C+有什么不同?(4分)8. 面向对象的三个基本特征及各自的作用(6分)9. c和c+中的struct有什么不同?(5分)10. const符号的作用有哪些?(5分)11. 引用与指针有什么区别?(6分)12. 重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?(4分)13. static 在类内修饰成员的作用是什么,如何引用这些成员?(4分)14. 虚析构函数的作用是什么?(6分)15. 类成员函数的重载、覆盖和隐藏区别?16. 在C中引用C+语言中的函数和变量时,C+的头文件需添加extern C,但是在C语言中不能直接引用声明了extern C的该头文件,应该仅将C文件中将C+中定义的extern C函数声明为extern类型。三、编程题:(共3小题 每小题10分)17. 编写一个字符串处理的类,MyString,实现拷贝构造,号重载 等基本函数。18. 使用MyString作为成员对象实现一个Person类,包含:姓名,年龄。19. 实现一个Student 类:有性名,年龄,学号,老师姓名。20. 编写类String的构造函数、析构函数和赋值函数已知类String的原型为:class String public:String(const char *str = NULL);/ 普通构造函数String(const String &other); / 拷贝构造函数 String(void); / 析构函数String & operate =(const String &other);/ 赋值函数 private:char *m_data;/ 用于保存字符串;请编写String的上述4个函数。Qt图形库部分:1、什么是Qt图形库,你是怎么理解的?2、Qt库的QApplication类有什么作用?3、Qt怎么处理绘图事件和鼠标事件?4、举例说明怎么实现自定义信号和槽。5、要设计开发一个扫雷游戏,写出你的设计思路。二、编程题:1.继承自QWidget ,自定义一个Button, 功能如下:1)enter与leave有不同的背景状态变化 ,提示:enterEvent(), leaveEvent();2)Press 与Release 也有不同的背景状态变化3)当鼠标点击时可以发出clicked() 信号4)创建一个窗口,测试自定义的Button第三部分:linux系统编程1. Linux根目录下一般有哪些目录?每个目录的作用是什么?2. 用gcc编译文件test.c,要经过哪几个步骤?3. gcc的参数“-L”,“-l”“-I”分别是什么意义?举例说明。4. 写一个脚本完成如下功能:首先,让使用者输入一个文件名,脚本作如下判断:(1)这个文件是否存在,若不存在则给出一个“Filename does noet exist”提示,并中断程序。(2)若这个文件存在,则判断它是文件还是目录,结果输出“Filename is regular file”或“Filename is directory”(3)判断用户对这个文件或目录所具有的权限并显示出来。5. 什么是系统调用?请写出你对系统调用的理解。6. 什么是标准I/O库?标准I/O库和系统调用有什么区别?7. 什么是进程?用fork()创建一个子进程时,系统会做什么工作?8. 管道和命名管道使用上有什么不同之处?9. 信号的处理方式有几种?怎样指定信号的处理方式?10. 进程和线程有什么区别?11. 什么是线程的互斥和同步,举例说明怎么实现线程的互斥和同步?12. 实现三个进程其中一个是父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls l”指令,另一个子进程在暂停5s之后退出,父进程等待子进程的退出信息,待收集到该信息,父进程就返回。13. 编写一个多进程多线程的程序:要求创建4个子进程,每个进程都分别创建2个线程,进程和线程的功能不做要求,可只提供简单的打印语句。14. 编制一段程序,实现进程的管道通信: 使用系统调用pipe()建立一条管道线,两个子进程分别向管道各写一句话: Child process 1 is sending a message! Child process 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。 要求:父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。 第四部分:网络编程1) :路由器工作在哪一层()A:链路层B:网络层C:传输层D:应用层2) 一台主机要实现通过局域网与另一个局域网通信,需要做的工作是 () 。A: 配置域名服务器B :定义一条本机指向所在网络的路由C :定义一条本机指向所在网络网关的路由D :定义一条本机指向目标网络网关的路由3) 下列提法中,不属于ifconfig命令作用范围的是 () 。A: 配置本地回环地址 B :配置网卡的IP地址C :激活网络适配器 D: 加载网卡到内核中4) 下面的网络协议中,面向连接的的协议是:() 。A:传输控制协议B :用户数据报协议 C :网际协议 D: 网际控制报文协议5) 在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是()A 主机IP设置有误B 没有设置连接局域网的网关C 局域网的网关或主机的网关设置有误D 局域网DNS服务器设置有误6) DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机分配()地址。A :UDP B :MAC C: TCP D: IP7) 在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中,()是能够实现本地与远程主机之间的文件传输工作。A telnetB FTPC: SNMPD: NFS8) 当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是()。A :pingB: ifconfigC :tracerouteD: netstat9) 关于代理服务器的论述,正确的是( )。A :使用internet上已有的公开代理服务器,只需配置客户端。B :代理服务器只能代理客户端http的请求。C :设置好的代理服务器可以被网络上任何主机使用。D :使用代理服务器的客户端没有自己的ip地址。10) 公司需要把 /255.255.255 网段划分成10个子网,子网掩码应该是( )?A:B:C:40D:48二:填空题(本题共5小题,每空1分 共10分)1) 网络/24 定向广播地址是( ),受限的广播地址为( ),定向广播和受限广播的区别();2) 在tcp/ip模型中进程到进程之间通信属于( )层,主机到主机属于( )层,设备到设备属于( )层,程序到程序属于( )层。3) Ping命令的功能为( )。 4) 进行远程登录的命令是 ( )。5) DNS 域名系统的作用是( )。三:问答题(本题共4小题,每题6分共24分)1) 简述TCP/IP协议中各层的主要功能,各有哪些主要协议。2) 什么是TCP 、UDP ?协议优缺点,应用场合?3) 简述TCP/IP协议中三次握手的过程及涵义4) 简述TCP/IP模型中应用层数据从主机A发送到主机B的整个过程。5) 利用setsocketopt()使用嵌套字支持广播,并编写两个程序,其中一个发送广播数据,另一个接收广播数据。6) 编写一个UDP类型的client/server实例。7) 编写一个UDP端口扫描程序。8) 如何在编程中防止缓冲区溢出?9) 利用setsocketopt()使用嵌套字支持广播,并编写两个程序,其中一个发送广播数据,另一个接收广播数据。10) 写一个TCP 并发的服务器,实现echo功能。11) 写一个UDP echo服务器第五部分:嵌入式平台架构1. 什么是嵌入式系统,描述一下你对嵌入式系统的理解?2. 搭建一个完整的嵌入式Linux开发平台需要做哪些工作,描述一下详细步骤?3. 什么是Bootloader,详细描述一下你对Bootloader的理解。常用的Bootloader有哪些?4. Bootloader的启动过程一般分为两个阶段,以vivi为例说明Bootloader的两个阶段完成什么工作。5. 什么是Bootloader的“启动加载模式”和“下载模式”?6. vivi的命令是怎样实现的?7. vivi传递给内核的参数“noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0”是什么意思?8. 怎样把一个SD卡驱动程序编译到Linux内核中?描述一下详细步骤。9. 你是怎样理解Linux内核配置编译机制的?10. Linux内核源码各个子目录分别包含哪些内容?11. 执行m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村闲置资源的价值挖掘与转化
- 提升初中数学解题
- 双十二家居市场策略
- 中医讲解肝的奥秘
- 肺胀个案护理
- 针灸治疗呕吐的临床应用体系
- 2025年耳鼻喉科手术器械项目申请报告
- 2025照明系统工程合同样本
- 2025至2030年中国微热再生空气干燥器行业投资前景及策略咨询报告
- 2025保险公司借款合同样板
- 检验科应急预案培训
- IATF16949-质量手册(过程方法无删减版)
- GB/T 35428-2024医院负压隔离病房环境控制要求
- 高中英语-人教-选修二-单词默写
- 江苏省苏州市昆山市2023-2024学年六年级下学期期末英语试卷
- 安徽省合肥市科大附中2025年第二次中考模拟初三数学试题试卷含解析
- 2024年山东省德州经开区小升初数学试卷
- 2025数学步步高大一轮复习讲义人教A版复习讲义含答案
- NBT-10781-2021空气源热泵污泥干化机
- HY/T 0409-2024近岸海域水质浮标实时监测技术规范
- 《正常分娩》课件
评论
0/150
提交评论