没有合适的资源?快使用搜索试试~ 我知道了~
简单的计算机专业面试题选.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 113 浏览量
2023-05-25
18:43:41
上传
评论 1
收藏 412KB PDF 举报
温馨提示
试读
11页
简单的计算机专业面试题选.pdf
资源推荐
资源详情
资源评论
.
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒〔忽略闰年问题
#define SECONDS_PER_YEAR <60 * 60 * 24 * 365>UL
2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while<1>{}或者
for<;;>{}
3. 用变量a给出下面的定义
a> 一个整型数〔An integer
b>一个指向整型数的指针〔 A pointer to an integer
c>一个指向指针的的指针,它指向的指针是指向一个整型数〔 A pointer to a pointer to
an integer
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 a
function that 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 integer
b> int *a; // A pointer to an integer
c> int **a; // A pointer to a pointer to an integer
d> int a[10]; // An array of 10 integers
e> int *a[10]; // An array of 10 pointers to integers
f> int <*a>[10]; // A pointer to an array of 10 integers
g> int <*a><int>; // A pointer to a function a that takes an integer argument and
returns an integer
h> int <*a[10]><int>; // An array of 10 pointers to functions that take an integer
argument and return an integer
4.关键字static的作用是什么?
1 / 11
.
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1>在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2> 在模块内〔但在函数体外,一个被声明为静态的变量可以被模块内所用函数访问,但不能
被模块外其它函数访问。它是一个本地的全局变量。
3> 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函
数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三
部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重
要性。
5. 关键字const有什么含意? 表示常量 不可以修改的变量。
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针〔也就
是,整型数是不可修改的,但指针可以。第四个意思a是一个指向整型数的常指针〔也就是说,
指针指向的整型数是可以修改的,但指针是不可修改的。最后一个意味着a是一个指向常整型
数的常指针〔也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的。如果应
试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,
即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重
关键字const呢?我也如下的几下理由:
1> 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为
常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,
你就会很快学会感谢这点多余的信息。〔当然,懂得用const的程序员很少会留下的垃圾让别
人来清理的。
2> 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3> 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被
无意的代码修改。简而言之,这样可以减少bug的出现。
6. 程序什么时候应该使用线程,什么时候单线程效率高。
2 / 11
.
答:1.耗时的操作使用线程,提高应用程序响应。
2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3.多CPU系统中,使用线程提高CPU利用率
4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独
立的运行部分,这样的程序会利于理解和修改。
其他情况都使用单线程。
7. 一般数据库若出现日志满了,会出现什么情况,是否还能使用?
答:只能执行查询等读操作,不能执行更改,备份等写操作,原因是任何写操作都要记录日志。
也就是说基本上处于不能使用的状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK<ack=k+1>,此包发送
完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
8.ICMP是什么协议,处于哪一层?答:Internet控制报文协议,处于网络层〔IP层〔ping命令
基于这个协议
9.winsock建立连接的主要实现步骤?
答:服务器端:socket<>建立套接字,绑定〔bind并监听〔listen,用accept〔等待客户端连
接。
客户端:socket<>建立套接字,连接〔connect服务器,连接上后使用send<>和recv〔,在套接
字上写读数据,直至数据交换完毕,closesocket<>关闭套接字。
服务器端:accept〔发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新
产生的套接字使用send<>和recv〔写读数据,直至数据交换完毕,closesocket<>关闭套接字。
10. IP组播有那些好处?
答:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和
网络拥挤问题。组播是一种允许一个或多个发送者〔组播源发送单一的数据包到多个接收者
〔一次的,同时的的网络技术。组播可以大大的节省网络带宽,因为无论有多少个目标地址,
在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节
约网络资源的前提下保证服务质量。
11.引用与指针有什么区别?
1> 引用必须被初始化,指针不必。 2> 引用初始化以后不能被改变,指针可以改变所
指的对象。
3> 不存在指向空值的引用,但是存在指向空值的指针。
3 / 11
剩余10页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 58
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功