1.以下不属于socket的类型的是 ( )。
[A] 流式套接字 [B] 数据报套接字
[C] 原始套接字 [D] 网络套接字
解析:
Socket类型
套接字类型是指创建套接字的应用程序要使用的通信服务类型。linux系统支持多种套接字类型,最常用的有以下三种:
1)SOCK_STREAM:流式套接字,提供面向连接、可靠的数据传输服务,数据按字节流、按顺序收发,保证在传输过程中无丢失、无冗余。
TCP协议支持该套接字。
2)SOCK_DGRAM:数据报套接字,提供面向无连接的服务,数据收发无序,不能保证数据的准确到达。UDP协议支持该套接字。
3)SOCK_RAW:原始套接字。允许对低于传输层的协议或物理网络直接访问,例如可以接收和发送ICMP报文。常用于检测新的协议。
2.为了解决在不同体系结构的主机之间进行数据传递可能会造成歧义的问题,以下( )函数常常用来在发送端和接收端对双字节或者四字节数据类型进行字节序转换。
[A] htons()/htonl()/ntohs()/ntohl() [B] inet_addr()/inet_aton()/inet_…
[C] gethostbyname()/gethostbyaddr() [D] (structsockaddr *)&(structsockaddr_in类型参数)
3.lseek()操作成功时返回值的含义是 ( )
[A] 新的文件位移量 [B] 文件位置指针移动的字节数
[C] 原先的文件位移量 [D] 总是0
4.以下哪个mode参数可以读写一个文件中的原有内容( )
[A] r [B] r+ [C] w+ [D] a+
解析:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
5.在实现基于TCP的网络应用程序时,服务器端正确的处理流程是( )
[A] socket() -> bind() -> listen() -> connect() -> read()/write() -> close()
[B] socket() -> bind() -> listen() -> read()/write() -> close()
[C] socket() -> bind() -> listen() -> accept() -> read()/write() -> close()
[D] socket() -> connect() -> read()/write() -> close()
6.缺省情况下,所有通过socket()调用产生的文件描述符(或者称之为套接字)都工作在( )模式下。
[A] 阻塞I/O [B] 非阻塞I/O [C] I/O多路复用 [D] 异步I/O [E] 不确定
7.有如下C语言程序,则运行程序后的输出结果是( )
#include int main() { int x = 1; int y = 10; do { y -= x; x++; } while ( y-- < 0 ); //错误原因:此时还会进行一次 y--的运算。 printf( “ %d \ n ”, y ); }
[A] 9 [B] -2 [C] -1 [D] 8
8.如果要删除一个文件需要哪种权限 ( )
[A] 对文件具有写权限 [B] 对文件具有读权限
[C] 对文件所在目录具有写权限 [D] 对文件所在目录具有读权限
在Ubuntu 20.04环境下测试结果 : 所在目录同时拥有写和执行权限才能成功删除文件
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
暂无评论内容