计算机复试专业课面试问题锦集_第1页
计算机复试专业课面试问题锦集_第2页
计算机复试专业课面试问题锦集_第3页
计算机复试专业课面试问题锦集_第4页
计算机复试专业课面试问题锦集_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

1、计算机复试专业课面试问题锦集1.什么是程序局部性 ,为什么会有程序的空间局部性?程序局部性是指程序在运行时呈现出局部性规律 ,在一段时间间隔内 ,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。2.比较 TCP 与 UDP?TCP 与 UDP 都是传输层的协议 ,且都用端口号标识数据所达的进程。 TCP 提供的是面向连接服务 ,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求 高的场合如 :SMTP,FTP,HTTP 等 .UDP 提供的是无连接服务 ,提供不可靠交付 ,且无确

2、认机 制。主要用于即时强的场合如 :视频聊天 ,语音电话等。3. 网络协议的三个核心要素 ,及概念 .各起什么作用 ?语法 ,定义了数据与控制信息的格式 ;语义 , 定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应;同步 ,定义了事件实现顺序的详细说明。4. 关系数据库都有那些操作,特点是什么?查询:选择、投影、连接、除、并、交、差数据 更新 :插入、删除、修改 ;关系操作的特点 :集合操作方式 ,即操作的对象和结果都是集合。5. 解释一下网络体系结构 ,它得实现和理论有什么区别?是指通信系统的整体设计 ,它为网络硬件、软件、协议、存取控制和拓扑提供标准。网络体系统结构采用分层结构

3、,各层之间相互独立、较易维护、灵活性好。国际标准化组织制定了 OSI/RM 标准 ,该标准采用了七层结 构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。七层协议体系结构 既复杂又不实用 ,但其概念清楚 ,体系结构理论较完整。而 TCP/IP 却成为了事实上的标准 ,它 采用了四层结构即应用层、传输层、网络层和网络接口层。6. 为了实现重定位需要哪些硬件?最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址 ,每次访问数据时 ,由硬件自动将相对地址与重定位寄存器中的 起始地址相加 ,形成实际的特理地址。 当然在分页式与分段式系统中 ,具地址变换机构 ,以及快

4、表等硬件。7. 数据库保护 (访问 )的内容有哪些 ?利用权限机制 ,利用完整性约束防止法数据进入数据库,提供故障恢复能力 ,提供并发访问控制。8. 在交互式系统中 ,非剥夺是不是一个好的策略 ?为什么 ?非剥夺方式 :分派程序一旦把处理机分配给某进程后便让它一直运行下去 ,直到进程完成或发生某事件而阻塞时 ,才把处理机分 配给另一个进程。 剥夺方式 :当一个进程正在运行时 ,系统可以基于某种原则 ,剥夺已分配给它 的处理机 ,将之分配给其它进程。 剥夺原则有 :优先权原则、 短进程、 优先原则、 时间片原则。 在分时系统中不剥夺并不是一个好的策略。因为 ,在分时系统中 ,除了交互性以外 ,及

5、时性是很重要的性能因素。 当一个作业被阻塞后 ,CPU 就完全空闲了 ,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。9. DBA 的职责是什么 ?DBA 则是这个机构的一个 (组)人员 ,负责全面管理和控制数据库系统.职责有 :(1)决定数据库中的信息内容和结构:数据库中要存放哪些信息 ;(2)决定数据库的存储结构和存取策略 :获得较高的存取效率和存储空间利用率;(3)约定义数据的安全性要求和完整性约束条件 : 负责确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条 件;(4)监控数据库的使用和运行 :转储数据、维护日志文件、故障恢复;(

6、5)数据库的改进和重组重构 :对运行情况进行记录、统计分析,以此来不断改进数据库设计。10. 系统调用的定义?系统调用是OS与应用程序之间的接口 ,它是用户程序取得 OS服务的惟 一途径。它与一般的过程调用的区别 :运行在不同的系统状态。调用程序在运行在用户态 , 而被调用的程序运行在系统态 ;通过软中断机制 ,先由用户态转为系统态 ,经枋心分析后 ,才能 转向相应的系统调用处理子程序 ;一般的过程调用返回后继续执行 ,但对系统调用 ,当调用的 进程仍具有最高优先权时,才返回到调用进程继续处理;否则只能等被重新调度。11. 死锁是什么?指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况

7、下这些进 程都将无法再向前推进的状态。12. CPU不执行程序的时候干什么 ?当没有被任何程序使用的时候,计算机的处理器被认为是空闲的。当然下面提到的空闲任务不在此列中。当有程序利用CPU空闲时间的时候,就意味着它以较低的优先权运行着,以便不会影响那有正常优先权的程序运行。一般来讲,这会引起CPU消耗更多的电能,而大多数的现代 CPU当它们空闲的时候是能够进入省电模式的。大多数操作系统都有个空闲任务,它是一个特殊的任务。仅当CPU无事可做的时候由操作系统 调度器载入它。在现代的处理器中,HLT停机指令节省了大量的电能与执量,而空闲任务几乎 总是由一个重复执行 HLT停机指令的循环组成。13.

8、举例解释一下同步和互斥 ?同步表现为直接制约,如管道通信,一个进程写,一个进程读,它 们是相互制约的。互斥表现为间接制约 ,比如多个进程同时请求打印机(没使用SPOOLing 技术)、多个进程同时请求一张网卡发送数据包等。14. 解释一下管程?管程是由一组局部变量、对局部变量进行操作的一组过程和对局部变量进行初始化的语句序列组成。引入它的目的是因为 Wait/Singal操作太过分散,对它的维护很麻烦且容易造成死锁。 管程的特点是:管程的过程只能访问管程的局部变量,管程的局部变量只能由其过程来访问;任何时刻只能有一个进程进入管程执行;进程只能通管程提供的过程入口进入管程。15. 在可变分区管理

9、中,需要哪些硬件机制?采用可变分区方式管理时,一般均采用动态重定位方式装入作业。地址变换要靠硬件支持,主要是两个寄存器:基址寄存器和限长寄存器,限长寄 存器存放作业所占分区的长度,基址寄存器则存放作业所占分区的起始地址,这两个值确定了一个分区的位置和大小。转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再加上基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断。16. 中断和陷入有什么异同 ?外中断时指来自处理机和内存外部的中断,如 I/O中断、定时器中断、外部信号中断等。狭义上也叫中断;内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出

10、、除数为零等;中断和陷阱的主要区别:(1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。(2)陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。(3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以 响应陷阱。17. 数据库系统和文件系统相比有什么优点?文件系统数据库管理系统某一应用现实世界共享性差,冗余度大共享性高,冗余度小记录内有结构,整体无结构整体结构化,用数据模型描述应用程序自己控制由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力独立性差具有高度的物理独立性和一定的逻辑独立

11、性18. 计算机网络和分布式计算机系统的区别?两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有通信和资源共享的功能。区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算机上并行运行。且具有透明性,用户不知道 数据、资源的具体位置,整个网络中所有计算机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各计算机通常是各自独立进行工作的。19. 为什么引入多道程序技术 ?因为引入多道程序技术后 ,可以进一步提高了CPU 利用率 (阻塞 ),提高内存和 I

12、/O 设备利用率 (小作业把内存浪费了 ),增加系统吞吐量 (两都提高后的必然 )。20. 什么是管态 ?什么是目态 ?它们与进程运行状态的关系是什么?CPU 交替执行操作系统程序和用户程序。 管态又叫特权态 ,系统态或核心态。 CPU 在管态下可以执行指令系统的全集。 通常 ,操作系统在管态下运行。目态又叫常态或用户态。机器处于目态时 ,程序只能执行非特 权指令。用户程序只能在目态下运行 ,如果用户程序在目态下执行特权指令 ,硬件将发生中断 , 由操作系统获得控制 ,特权指令执行被禁止 ,这样可以防止用户程序有意或无意的破坏系统。21. n个任务一个cup,阻塞,运行,就绪的进程最多有多少个

13、 ?阻塞n个;运行1个;就绪n-1个。22. 波特和比特的区别 ?波特是码元传输的踵率单位,说明每秒传多少个码元。码元传输速率也称为调制速率、波形速率或符号速率。比恃是信息量的单位,与码元的传输速率 "波特 "是两个完全不同的概念。 但是 ,信息的传输速率 "比特/秒"与码元的传输速率 "波特 "在数量上却 有一定的关系。23. 什么是网络延时?时延(delay或latency)是指一个报文或分组从一个网络(或一条链路)的 一端传送到另一端所需的时间。24. 什么是完整性约束 ?强制数据完整性可确保数据库中的数据质量。25. 什么是码

14、元 ?什么是码元长度 ?在数字通信中常常用时间间隔相同的符号来表示一位二进制数字。这样的时间间隔内的信号称为二进制码元,而这个间隔被称为码元长度。26. 结合 Internet, 说说有连接服务和无连接的服务?面向连接服务具有连接建立、 数据传输和连接释放这三个阶段。面向连接服务是在数据交换之前 ,必须先建立连接。当数据交换结束 后 ,则必须终止这个连接。在传送数据时是按序传送的,是可靠交付。面向连接服务比较适合于在一定期间内要向同一日的地发送许多报文的情况。无连接服务,两个实体之间的通信不需要先建立好一个连接 ,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数 据传输时动态地进行分

15、配。无连接服务的优点是灵活方便和比较迅速。但无连接服务不能 防止报文的丢失、重复或失序。是一种不可靠的服务。这种服务常被描述为"尽量大努力支付"。27. 点对点和端到端工作在哪层?工作机制 ?28. DBMS 支持那几种数据模型 ?29.父子进程是否可以并发运行?30.SQL 的四个组成部分 ?31. 数据库操纵语言举例 ?32. 介绍下有哪些应用数据库 ?33. 什么是数据独立性。34. 网络时延又拿几部分组成 ?各产生于何处 ?35. 实体 协议 服务?36.1NF 是啥数据模式 ?37. 缓冲的定义 ,为什么引入 ?38. TCP/IP 网络协议的核心是什么 ,如何引

16、出"over everything ”和"everythingover ?”39. 数据库的关系操作有哪些 ?各有什么作用 ?40. 用白军和蓝军解释下没有100% 可靠的通信 ?1. 用预处理指令 #define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) ? #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1)或者for(;)3. 用变量 a 给出下面的定义a) 一个整型数( An integer)b) 一个指向整型数的指针(A poi

17、nter to an integer )c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to aninteger)d) 一个有10个整型数的数组(An array of 10 integers )e) 一个有 10 个指针的数组,该指针是指向一个整型数的。 ( An array of 10 pointers to integers)f) 一个指向有 10个整型数数组的指针( A pointer to an array of 10 integers)g) 一个指向函数的指针, 该函数有一个整型参数并返回一个整型数 (A pointer to

18、 a functionthat takes an integer as an argument and returns an integer )h) 一个有 10个指针的数组, 该指针指向一个函数, 该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )答案是:a) int a; / An integerb) int *a; / A pointer to an integerc) int *a; / A pointer to a

19、 pointer to an integerd) int a10; / An array of 10 integerse) int *a10; / An array of 10 pointers to integersf) int (*a)10; / A pointer to an array of 10 integersg) int (*a)(int); / A pointer to a function a that takes an integer argument and returns an integerh) int (*a10)(int); / An array of 10 po

20、inters to functions that take an integer argument and return an integer 。4. 关键字 static 的作用是什么 ?这个简单的问题很少有人能回答完全。在C 语言中,关键字static 有三个明显的作用: 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中 维持其值不变。 2) 在模块内 (但在函数体外) ,一个被声明为静态的变量可以被模块内所用 函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明 它的模块

21、的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二 部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得 本地化数据和代码范围的好处和重要性。5. 关键字const有什么含意?表示常量不可以修改的变量。const int a;int const a;const int *a;int * const a;int const * a const;前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可

22、修改的)。最后一个意味着 a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不 可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一 句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:1)关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这 个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这 点多余的信息。 (当然,懂得用 const 的程序员很少会留下的垃圾让别

23、人来清理的。)2) 通过给优化器一些附加的信息,使用关键字 const 也许能产生更紧凑的代码。 3) 合理地使用 关键字 const 可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug 的出现。6. 程序什么时候应该使用线程,什么时候单线程效率高?1)耗时的操作使用线程,提高应用程序响应。 2)并行操作时使用线程,如C/S 架构的服务器端并发线程响应用户的请求。 3)多 CPU 系统中,使用线程提高 CPU 利用率。 4) 改善程序结构。一个既长又复杂的进程可 以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。

24、其他情况都使用单线程。7. 一般数据库若出现日志满了,会出现什么情况,是否还能使用?只能执行查询等读操作,不能执行更改,备份等写操作,原因是任何写操作都要记录日志。也就是说基本上处于不 能使用的状态。第三次握手:客户端收到服务器的 SYN ACK 包,向服务器发送确认包 ACK(ack=k+1) ,此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握 手。8.ICMP 是什么协议,处于哪一层?答:Internet控制报文协议,处于网络层(IP层)(ping 命令基于这个协议) 。9.winsock建立连接的主要实现步骤 ?服务器端:socket(建立套接字,绑定(bind

25、)并监听 (listen),用accept()等待客户端连接。客户端:socket(建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据交换完毕,closesocket(关闭套接字。服务器端:a ccept ()发现有客户端连接,建 立一个新的套接字,自 身重新开始等待连接。该新产生的套接字使用send()和recv ()写读数据,直至数据交换完毕,closesocket(关闭套接字。10.IP 组播有那些好处 ?Internet 上产生的许多新的应用, 特别是高带宽的多媒体应用, 带来 了带宽的急剧消耗和网络拥挤问题。组播是一种允许一

26、个或多个发送者(组播源)发送单 一的数据包到多个接收者(一次的,同时的)的网络技术。组播可以大大的节省网络带宽, 因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说 组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。11. 引用与指针有什么区别 ?1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改 变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。12. TCP/IP 建立连接的过程?(3-way shake)?在 TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接

27、时,客户端发送syn包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认;第二次握手:服务器收到 syn 包,必 须确认客户的 SYN( ack=j+1),同时自己也发送一个 SYN包(syn=k),即SYN+ACK 包, 此时服务器进入 SYN_RECV 状态。13. 局部变量能否和全局变量重名 ?能,局部会屏蔽全局。要用全局变量,需要使用":" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用 到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如 在两个循环体内都定义一个同名的局部变量,而那

28、个局部变量的作用域就在那个循环体内。14. 如何引用一个已经定义过的全局变量?extern 可以用引用头文件的方式, 也可以用 extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变 写错了,那么在编译期间会报错,如果你用 extern 方式引用时,假定你犯了同样的错误, 那么在编译期间不会报错,而在连接期间报错。15. 描述实时系统的基本特性 ?在特定时间内完成特定的任务,实时性与可靠性?16. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别 ?全局变量储存在静态数据库,局部变量在堆栈。17. 什么是平衡二叉树 ? 左右子树都是平衡二叉树 且左右

29、子树的深度差值的绝对值不大于 1。18. 堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。19.什么函数不能声明为虚函数?constructor 函数不能声明为虚函数。20.冒泡排序算法的时间复杂度是什么?时间复杂度是 O(n 2 )。21. 写出 float x 与“零值”比较的 if 语句 ?if(x<0.000001&&x>-0.000001) 。22.Internet 采用哪种网络协议?该协议的主要层次结构 ?Tcp/Ip 协议主要层次结构为:应用 层/传输层 /网络层 /数据链路层 /物理层。23nternet物理地址和IP地址转换采用什么协议 ?ARP

30、 (Address Resolution Protocol)(地 址解析协议)。24.IP 地址的编码分为哪俩部分 ?IP 地址由两部分组成,网络号和主机号。不过是要和“子 网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。25. 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。 写出 C 程序。循环链表,用取余操作做。26. 不能做switch()的参数类型是:switch的参数不能为实型。27. 请写出下列代码的输出内容include <stdio.h>main()int a,b,c,d;a=10;b=a+;c=+a;d=10*a+;print

31、f("b , c, d: %d , %d , %d" , b, c, d);return 0;答: 10, 12, 12028. 写出下列代码的输出内容include<stdio.h>int inc(int a)return(+a);int multi(int*a,int*b,int*c)return(*c=*a*b);typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fun,int arg1, int*arg2)INCp=&inc;int tem

32、p =p(arg1);fun(&temp,&arg1, arg2);printf("%dn",*arg2);main()int a;show(multi,10,&a);return 0;*1. 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C+中应用什么实现?答:c 用宏定义,C+用inline。2. 直接链接两个信令点的一组链路称作什么?答: PPP 点到点连接。3. 软件测试都有那些种类 ?黑盒:针对系统功能的测试白盒:测试函数功能,各函数接口。4. 确定模块的功能和模块的接口是在软件设计的那个阶段完成的?概要设计阶段。三 .选择题 :1

33、. Ethternet 链接到 Internet 用到以下那个协议 ? A.HDLC;B.ARP;C.UDP;D.TCP;E.ID 。2. 属于网络层协议的是 : A.TCP;B.IP;C.ICMP;D.X.25 。3. Windows消息调度机制是:A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈。4. unsigned short hash(unsigned short key)return (key>>)%256请问 hash(16),hash(256)的值分别是:A.1.16;B.8.32;C.4.16;D.1.32。四 .找错题 :1. 请问下面程序有什么错误?in

34、t a602501000,i,j,k;for(k=0;k<=1000;k+)for(j=0;j<250;j+)for(i=0;i<60;i+)aijk=0;把循环语句内外换一下2. #define Max_CB 500void LmiQueryCSmd(Struct MSgCB * pmsg)unsigned char ucCmdNum;for(ucCmdNum=0;ucCmdNum<Max_CB;ucCmdNum+);死循环3. 以下是求一个数的平方的程序 ,请找出错误 :#define SQUARE(a)(a)*(a)int a=5;int b;b=SQUARE(a

35、+);4. typedef unsigned char BYTEint examply_fun(BYTE gt_len; BYTE *gt_code)BYTE *gt_buf;gt_buf=(BYTE *)MALLOC(Max_GT_Length);if(gt_len>Max_GT_Length)return GT_Length_ERROR; 五 .问答题 :1.IP Phone 的原理是什么 ?IPV6 。2. TCP/IP 通信建立的过程怎样,端口有什么作用?三次握手,确定是哪个应用程序使用该协议。3.1号信令和 7 号信令有什么区别,我国某前广泛使用的是那一种 ?4.列举 5 种以

36、上的电话新业务 ?*1.进程和线程的差别?线程是指进程内的一个执行单元,也是进程内的可调度实体 .与进程的区别 :(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 ;(2)并发性: 不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行。(3) 拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。 (4) 系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明 显大于创建或撤消线程时的开销。2. Heap与stack的差别? Heap是堆,stack是栈。Stack的空间由操作系统自动分配 /释放,Heap

37、上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区。C中的malloc函数分配的内存空间即在堆上,C+中对应的是new操作符。程序在编译期对变量和函数分配内存都在栈上进行 ,且程序运行过程中函数调用时参数的传递也在栈上进行。3. 如果只想让程序有一个实例运行,不能运行两个。像winamp 一样,只能开一个窗口,怎样实现?用内存映射或全局原子(互斥变量)、查找窗口句柄 FindWindow,互斥,写标志到文件或注册表 ,共享内存。4. 存储过程是什么?有什么用?有什么优点?就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL

38、快很多。5. 网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。2,线程:相对与进程而言,线程是一个更加接近于执行体的概念,它可以与同进程的其他线程共享数据,但拥 有自己的栈空间,拥有独立的执行序列。两者都可以提高程序的并发度,提高程序运行效 率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和 保护;而进程正相反。同时,线程适合于在 SMP 机器上运行,而进程则可以跨机器迁移。 6.Windows 下的内存是如何管理的?7. 用一个语句实现 x是否为2的若干次幕的判断:int i

39、 = 512;cout << boolalpha << (i & (i - 1) ? false : true) << endl;8. 下面三个有什么区别?char * const p;char const * p ; const char *p答: char * const p; / 常量指针, p 的值不可以修改char const * p; /指向常量的指针,指向的常量值不可以改const char *p;/和 char const *p 一样9. 一个 32 位的机器 ,该机器的指针是多少位?指针是多少位只要看地址总线的位数就行了。 8038

40、6以后的机子都是 32的数据总线。所以指针的位数就是 4 个字节了。10. main()int a5=1,2,3,4,5;int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1);输出:2,5。*(a+1 )就是a1,*(ptr-1)就是a4,执行结果是 2,5。&a+1不是首地址+1, 系统会认为加一个 a 数组的偏移, 是偏移了一个数组的大小 (本例是 5个 int)。 int *ptr=(int *)(&a+1);则ptr实际是&何5),也就是a+5.原因如下:&a是数组指针,其类型为int (*)5; 而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同a是长度为5的int数组指针,所以要加5*sizeof(int),所以ptr实际是a5,但是ptr与(&a+1)类型是不一样的 (这点很重要 ),所以 prt-1 只会减去 sizeof(int*)a,&a

温馨提示

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

评论

0/150

提交评论