简单地计算机专业面试题选

上传人:博****1 文档编号:508087007 上传时间:2023-05-16 格式:DOCX 页数:15 大小:64.73KB
返回 下载 相关 举报
简单地计算机专业面试题选_第1页
第1页 / 共15页
简单地计算机专业面试题选_第2页
第2页 / 共15页
简单地计算机专业面试题选_第3页
第3页 / 共15页
简单地计算机专业面试题选_第4页
第4页 / 共15页
简单地计算机专业面试题选_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《简单地计算机专业面试题选》由会员分享,可在线阅读,更多相关《简单地计算机专业面试题选(15页珍藏版)》请在金锄头文库上搜索。

1、-1 .用预处理指令#define声明一个常数,用以说明1年中有多少秒忽略闰年问题#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2.嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1)或者for(;)3. 用变量 a给出下面的定义a)一个整型数 An integerb) 一个指向整型数的指针A pointer to an integerc) 一个指向指针的的指针,它指向的指针是指向一个整型数Apointerto a pointer toan intege rd) 一个有 10个整型数的数组An array of 10 int

2、egerse)一个有 10个指针的数组,该指针是指向一个整型数的。An array of 10 pointers tointegers f)一个指向有 10个整型数数组的指针 A pointer to an array of 10 integersg)一个指向函数的指针,该函数有一个整型参数并返回一个整型数A pointer to afunction that takes an integer as an argument and returns an integerh) 一个有 10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 An arrayof ten poin

3、tersto functionsthattakean integerargument and returnan integer答案是:a) int a; / An integerb) int *a; / A pointer to an integerc) int *a; / A pointer to a 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

4、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 pointers to functions that take an integerargument and return an integer4. 关键字 static的作用是什么?-这个简单的问题很少有人能答复完全。在C语言中,关键字static有三个明显的作用:1) 在函数体,一个被声明为静态

5、的变量在这一函数被调用过程中维持其值不变。2) 在模块内但在函数体外,一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地X围内使用。大多数应试者能正确答复第一局部, 一局部能正确答复第二局部, 同是很少的人能懂得第三局部。这是一个应试者的严重的缺点, 因为他显然不懂得本地化数据和代码X围的好处和重要性。5. 关键字 const 有什么含意 ? 表示常量 不可以修改的变量。const int a;int const a;const in

6、t *a;int * const a;int const * a const;前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针也就是,整型数是不可修改的,但指针可以。第四个意思a是一个指向整型数的常指针也就是说,指针指向的整型数是可以修改的,但指针是不可修改的。最后一个意味着a是一个指向常整型数的常指针也就是说, 指针指向的整型数是不可修改的,同时指针也是不可修改的。如果应试者能正确答复这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字const ,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const 呢?我也如

7、下的几下理由:1)关键字 const 的作用是为给读你代码的人传达非常有用的信息,实际上, 声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。当然,懂得用const 的程序员很少会留下的垃圾让别人来清理的。2)通过给优化器一些附加的信息,使用关键字const 也许能产生更紧凑的代码。3)合理地使用关键字 const 可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。6. 程序什么时候应该使用线程,什么时候单线程效率高。-答: 1耗时的操作使用线程,提高应用程序

8、响应。2并行操作时使用线程,如C/S架构的效劳器端并发线程响应用户的请求。3多 CPU系统中,使用线程提高CPU利用率4改善程序构造。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行局部,这样的程序会利于理解和修改。其他情况都使用单线程。7. 一般数据库假设出现日志满了,会出现什么情况,是否还能使用?答:只能执行查询等读操作,不能执行更改, 备份等写操作, 原因是任何写操作都要记录日志。也就是说根本上处于不能使用的状态。第三次握手: 客户端收到效劳器的 SYN ACK包,向效劳器发送确认包 ACK(ack=k+1) ,此包发送完毕,客户端和效劳器进入 ESTABLISHED

9、状态,完成三次握手。8.ICMP是什么协议 , 处于哪一层 ?答: Internet控制报文协议,处于网络层IP 层 ping命令基于这个协议9.winsock 建立连接的主要实现步骤?答:效劳器端: socket()建立套接字,绑定bind 并监听 listen,用 accept等待客户端连接。客户端: socket()建立套接字, 连接connect效劳器, 连接上后使用 send() 和 recv,在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。效劳器端: accept 发现有客户端连接,建立一个新的套接字,自身重新开场等待连接。该新产生的套接字使用send(

10、) 和 recv 写读数据,直至数据交换完毕,closesocket()关闭套接字。10. IP组播有那些好处?答:Internet 上产生的许多新的应用, 特别是高带宽的多媒体应用, 带来了带宽的急剧消耗和网络拥挤问题。 组播是一种允许一个或多个发送者 组播源 发送单一的数据包到多个接收者一次的,同时的的网络技术。组播可以大大的节省网络带宽,因为无论有多少个目标地址, 在整个网络的任何一条链路上只传送单一的数据包。 所以说组播技术的核心就是针对如何节约网络资源的前提下保证效劳质量。11. 引用与指针有什么区别?1)引用必须被初始化,指针不必。2)引用初始化以后不能被改变,指针可以改变所指的对

11、象。-3) 不存在指向空值的引用,但是存在指向空值的指针。12. TCP/IP 建立连接的过程 ?(3-way shake)答:在 TCP/IP 协议中, TCP协议提供可靠的连接效劳,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送 syn 包(syn=j) 到效劳器,并进入 SYN_SEND状态,等待效劳器确认;第二次握手:效劳器收到 syn 包,必须确认客户的 SYN ack=j+1 ,同时自己也发送一个 SYN 包 syn=k,即 SYN+ACK包,此时效劳器进入 SYN_RECV状态;13、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。要用全局变量,需要使用:局部变

12、量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。 对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比方在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。14、如何引用一个已经定义过的全局变量?答: extern可以用引用头文件的方式,也可以用extern 关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern 方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。15. 描述实时系统的根本特性在特定时间内完成特定的任

13、务,实时性与可靠性。16. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。17. 什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于 1。18.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。19.什么函数不能声明为虚函数?constructor函数不能声明为虚函数。20.冒泡排序算法的时间复杂度是什么?时间复杂度是 O(n2) 。21.写出 float x与“零值比较的 if 语句。if(x-0.000001)22.Internet采用哪种网络协议?该协议的主要层次构造?-Tcp/Ip协议主要层次构造为:应用层

14、/ 传输层/ 网络层 / 数据链路层/ 物理层。-23.Internet物理地址和IP 地址转换采用什么协议?ARP (Address Resolution Protocol)-地址解析協議-24.IP 地址的编码分为哪俩局部?IP地址由两局部组成,网络号和主机号。不过是要和“子网掩码按位与上之后才能区分哪些是网络位哪些是主机位。25. 用户输入 M,N值,从 1至 N开场顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。循环链表,用取余操作做26. 不能做 switch() 的参数类型是: switch 的参数不能为实型。27. 请写出以下代码的输出内容 include main()int a,b,c,d; a=10; b=a+; c=+a;d=10*a+;printf(b, c, d:%d, %d, %d, b, c, d ;return 0;答: 10, 12, 12028. 写出以下代码的输出内容includeint inc(int a)return(+a);int

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号