C++复习题

2020-05-13 09:13

C++复习题

一、填空题

1、网络层所提供的服务可分为两大类:一种是面向连接,另一种是面向无连接。

2、因特网中综合考虑硬件和软件的因素,将计算机网络分为5层:应用层、运输层、网络层、链路层和物理层。

3、在TCP/IP协议中,基本的数据传输单位一般称为数据包或数据报。

4、IP协议主要负责数据的传输功能,而TCP协议主要负责数据传输的正确性。 5、最常用的套接字类型有3种,分别为流套接字、数据报套接字和原始套接字。 6、目前最通用的网络编程接口就是套接字(socket)。 7、建立套接字后,需要为服务器定义的这个监听的套接字指定一个地址及监听端口(port),这样客户端才知道要连接哪一个地址的哪个端口,为此需要调用bind函数。 8、对于服务器编程中最重要的一步等待并接受客户的连接,accept函数就完成了这个功能。 9、完成面向连接的协议的连接功能的函数是connect。

10、CSocket类是CAsyncSocket的派生类,继承了它封装的WinSock API。 11、套接字有同步阻塞方式和异步非阻塞两种使用方法。

12、MFC中有两个主要的网络编程类:CAsyncSocket类和CSocket类。

13、CFile类是MFC文件类的基类,提供非缓冲方式的二进制磁盘输入、输出功能;并直接通过派生类来支持文本文件和内存文件。

14、当使用CFile及其派生类的对象的时候,如果产生异常则会创建和抛出CFileException对象。

15、线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行,也可以把它理解为代码运行的上下文。

16、每个正在系统上运行的程序都是一个进程。

17、在OSI中唯一负责总体的数据传输和数据控制的一层是传输层。 18、传输层有两个重要协议,分别是TCP和UDP。

19、TCP是面向连接的传输协议,UDP是面向无连接的传输协议。

20、根据参与一次通信的对象的多少,可将通信分为两大类:一类是点对点通信,也称其为单播通信;另一类是多点通信,也称为群或组通信。

21、UDP协议既支持单播通信方式,也支持多播通信方式。 22、用于指示网络中所有主机的地址称为广播地址。 23、向一个指定网络(已知网络号)发送数据包,使用的是直接广播地址,若不知道网络号,又要向本地网络发送广播数据包,就需要使用有限广播地址。 24、有线广播地址是255.255.255.255 25、在网络中,主机间可以用三种不同的地址进行通信,分别是单播地址、广播地址和多播地址。

26、操作注册表用的类是CRegKey。 27、注册表由键(项)、子健(子项)和值项构成。

28、在Windows下查看注册表可以在“开始”→“运行”中输入regedit命令,然后回车,会弹出注册表编辑器界面。

29、子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。

30、域名便于人们记忆,但机器之间只能互相认识IP地址,因此需要将域名与IP地址进行转换,称为域名解析。

31、在Windows操作系统中,“信使服务”在服务列表中名称为Messenger,该服务用来传

输客户端和服务器之间的Net Send和Alerter(报警器)服务消息。 32、能够负责创建子进程的函数是CreatProcess。

33、在Windows XP中,新增可一条命令行工具,起作用是关闭或重新启动本地或远程计算机,这条命令行工具是shutdown。

34、要修改一个进程的访问令牌,首先要获得进程访问令牌的句柄,这可以通过Open Process Token 35、要想使用远程唤醒功能,首先必须知道要唤醒机器的MAC地址。

36、远程唤醒需要向LAN中发送一个特定的封包,以便远程计算机能够接收到它,并且启动,该封包称为魔术包。

37、网卡通常有两种工作模式,即混杂模式和非混杂模式。 38、网卡在接收到目的地址是本地的数据包的时候才会接受,其他的数据包会丢弃,这个工作是网卡来完成的。

39、为了捕获网络中的所有数据包,我们需要将网络设置成混杂模式。 40、解析TCP包,检查封包的目的端口号,如果是端口号是21,则说明使用的是FTP协议。 二、选择题

1、TCP/IP协议簇中最核心的协议是A

A、IP协议 B、FTP协议 C、ICMP协议 D、TCP协议 2、传输层的协议有D

A、TCP协议和IP协议 B、FTP协议和IP协议 C、ICMP协议和ARP协议 D、TCP协议和UDP协议 3、以下协议不属于网络层的是B

A、IP协议 B、FTP协议 C、ARP协议 D、ICMP协议 4、在服务器端建立一个套接字,并进入实际的监听步骤的过程是B A、Socket()->listen()->accept() B、Socket()->bind()->listen()->accept() C、Socket()->create()->listen()->accept() D、Socket()->listen()->connect()->accept() 5、在客户端调用WinSock的过程是A

A、Socket()->connect()->send() B、Socket()->bind()->accept() C、Socket()->listen()->accept() D、Socket()->bind()->connect()

6、CAsyncSocket类和CSocket类定义在头文件B中

A、socket.h B、afxsock.h C、sock.h D、winsock.h 7、MFC中封装的文件操作类是B

A、FileOper B、CFile C、file D、File 8、CFile类中以只读方式打开文件的标志是B A、CFile::modeNoTruncate B、CFile::modeRead C、CFile::modeWrite D、CFile::modeReadWrite 9、传输文档时,应该以D方式打开文件。 A、CFile::modeNoTruncate B、CFile::modeRead C、CFile::modeWrite D、CFile::typeBinary 10、创建一个新线程可以私用函数C实现

A、Create B、Thread C、Create Thread D、Create Func

11、下面关于线程和进程的说法,错误的是B A、每个正在系统上运行的程序都是一个进程

B、线程是轻量级的进程,负责在单个程序里执行多任务

C、在单个程序中同时运行多个线程完成不同的工作,称为多线程 D、每个线程可以有一个主执行线程,也可以没有

12、创建套接字时,下面描述套接字的类型代表UDP协议传输的是C

A、SOCK_STREAM B、SOCK_RAW C、SOCK_DGRAM D、_ERROR

13、UDP是传输层协议,服务于很多知名的应用层协议,下面应用层协议不是UDP提供服务的是D

A、网络文件系统(NFS) B、简单网络管理协议(SNMP) C、域名系统(DNS) D、文件传输(FTP) 14、下面关于UDP的说法错误的是D

A、UDP传输数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步

B、不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息,而且报文不一定按顺序到达,所以接收端无从排起

C、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据

D、UDP传送数据较TCP慢,系统开销相对少

15、IP多播地址采用D类IP地址确定多播的组,地址的范围是B A、224.0.0.0~224.255.255.255 B、224.0.0.0~239.255.255.255 C、220.0.0.0~239.255.255.255 D、224.0.0.0~255.255.255.255 16、IPv4引入的管理多播客户和它们之间关系的协议是A

A、组管理协议(IGMP) B、动态主机配置协议(DHCP) C、网络控制信息协议(ICMP) D、域名解析协议(DNS) 17、关于计算机和IP地址的说法正确的是C

A、一台计算机,只有一个计算机名称和一个IP地址

B、一台计算机,只有一个IP地址,但是可以有多个计算机名称 C、一台计算机,只有一个计算机名称,但是可以有多个IP地址 D、一台计算机,可以有多个计算机名称,也可以由多个IP地址 18、可以获取计算机名的函数有A

A、gethostname、GetComputerName B、GetHostName、GetComputerName C、gethostname、getconputername D、gethost、GetComputer 19、关于网卡的说法错误的是D A、一个网卡对应唯一MAC地址

B、由于MAC地址的唯一性,因此它只要用来之别网络中用户的身份 C、一台主机可以有多个网卡

D、多个网卡可以设成相同的MAC地址

20、将IP地址转换成对应的计算机名用到的函数是A A、gethostbyaddr() B、gethostbyname() C、inet_ntoa() D、gethostbyip()

21、将主机名转换成该主机的IP地址使用的函数是B A、gethostbyaddr() B、gethostbyname() C、inet_ntoa() D、gethostname()

22、如果一个程序需要库文件mpr.lib的支持,那么添加该库文件的代码是C A、#pragma(lib,“mpr,lib”) B、#include C、#pragma comment(lib,“mpr.lib”) D、#include comment(lib,“mpr.lib”) 23、开始一个网络资源或存在的网络连接枚举值的函数是D A、WNetOpenResource() B、WNetEnumResource() C、WNetCloseEnum() D、WNetOpenEnum() 24、下面不是shutdown命令工具的功能的是D

A、关闭本地计算机 B、重启本地计算机 C、关闭远程计算机 D、开启远程计算机 25、实现关闭或重启计算机功能的函数是B

A、InitiateShutdown B、InitiateSystemShutdown C、InitiateSystemRestart D、InitiateSystemClose 26、魔术包以D方式发送出去

A、点对点通信 B、TCP数据包 C、IP多播 D、广播 27、关于ICMP报文的说法错误的是D A、ICMP就是网间控制报文协议

B、ICMP协议可以报告差错或提供有关意外情况的信息 C、ICMP报文需要封装在IP封包中 D、ICMP报文只能在同一网段内传输 三、简答题 1.

目前最为通用的网络编程接口是什么?可以分为哪几类?

目前最通用的网络编程接口是套接字(Socket), 套接字(Socket)是网络计算机与应用程序之间发送和接收数据的方式的一种抽象描述。它描述了两个通信点之间的连接。 主要可以分为三类,即流套接字,数据报套接字,和原始套接字。 2.

什么是套接字?它实现了什么功能?

套接字(Socket)是网络计算机与应用程序之间发送和接收数据的方式的一种抽象描述。它描述了两个通信点之间的连接。确切地说,套接字是用来实现主机和主机通信的一个接口,通过它可以完成主机间的通信操作。它位于协议之上,屏蔽了底层的协议,让用户能够实现各种类型的通信操。 3.

网络层提供的服务分为几类,分别是什么?

共分为两类,分别是面向连接和面向无连接的服务。面向连接使用TCP协议(对于服务器编程中最重要的一步等待并接受客户的连接请求, accept函数完成了这个功能;客户端完成面向连接的协议的请求连接功能的函数connect,面向无连接使用UDP协议无需此两个函数。 4.

线程和进程的区别是什么?

每个正在系统上运行的程序都是一个进程;而线程是程序中一个单一的顺序控制流程,是一组指令的集合,或者是程序的特殊段,它可以在程序中独立执行;子进程和父进程有不同的代码和数据空间(注意,其创建子进程使用函数CreateProcess),而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文 5.

什么是注册表,有何功能?

注册表是Windows中一个重要的信息数据库。在编程中,它使用类CRegKey来进行操作,我们也可以通过使用命令regedit 在Windows中来打开注册表编辑器。分层式,结构为主键、子键、键值(。作用为存放计算机的软硬件信息

6. 简述网络嗅探器的原理。

网络嗅探器具有两面,基本功能是捕获数据包。网卡模式需要设置成混杂模式,其主要功能是捕获并分析数据包。 7.

UDP协议有哪些特点?为什么即时通信类软件使用UDP协议传输数据?

UDP协议的特点:(1)UDP是无连接的;(2)UDP不对收到的数据进行排序;(3)UDP对接收到的数据报不发送确认信号;(4)UDP传送数据较TCP快速,系统开销也少;(5)UDP也提供复用和分解的功能。UDP适应于一次只传送少量数据、对可靠性要求不高的应用环境,么即时通信类软件正好符合这个特点。 8.

为什么即时通信类软件使用UDP协议传输数据?

UDP协议的特点:(1)UDP是无连接的;(2)UDP不对收到的数据进行排序;(3)UDP对接收到的数据报不发送确认信号;(4)UDP传送数据较TCP快速,系统开销也少;(5)UDP也提供复用和分解的功能。UDP适应于一次只传送少量数据、对可靠性要求不高的应用环境,么即时通信类软件正好符合这个特点。UDP协议符合应用环境,开发的程序效率高 9.

什么是广播?什么是多播?它们的区别是什么?

广播是指一种同时与网络中所有主机进行交互数据的通信方式,传输者通过一次数据传输就可以使网络上的所有主机接收到这个数据消息。 向一个已知网络号的指定网络发送数据包,使用直接广播地址,若不知道网络号,又要向本地网络发送广播数据包,则需要使用有限广播地址,其地址是255.255.255.255。

多播又称多点发送或群(组)播,是一种同时与多台主机进行交互数据的通信方式,传输者通过一次传输就将数据信息传送给一组接收者。它们的区别是:多播只向事先规划好的多播组(由多台主机组成)发送数据,而不是向某个网络的所有主机发送数据。 10.

什么是远程唤醒,需要怎样的硬件支持?

Wake on LAN(WOL),俗称远程唤醒,主要是通过向目标主机发送特殊格式的数据包(俗称魔术包)来实现的。它需要的硬件支持是:主板和网卡都必须支持远程唤醒功能;在CMOS中需作相应的设置;另外,必须要使用ATX电源 11.

简述路由跟踪的原理。

路由跟踪就是获取网络上到达特定主机所经过的路由器的IP地址。路由跟踪的原理:发送UDP封包到目的地址,递增TTL值,收集ICMP封包,获得所有经过的路由器信息。 12.

什么是远程关机?实现远程关机的命令是什么?需要调用哪个函数?

远程关机即通过网络关闭,重启,或注销远程主机。其命令是 shutdown, 在Visual Studio 中,我们可以调用InitiateSystemShutdown 来实现远程关机功能。


C++复习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第七章 力 思维导图

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: