计算机网络基础(一)概述

2023-05-16

“计算机网络是一组自治(拥有独立的计算能力)计算机互联的集合”——IEEE高级委员会 坦尼鲍姆

本文参考书目为《计算机网络(第七版)》(谢希仁)
书中为方便,将计算机网络简称为“网络”,此“网络”不表示电信网或有线电视网

目录

    • 一、互联网概述
      • (一)网络的网络
      • (二)互联网基础结构发展的三个阶段
      • (三)互联网的标准化工作
    • 二、互联网的组成
      • (一)互联网的边缘部分
        • 1.客户-服务器方式
        • 2.对等连接方式(P2P方式)
      • (二)互联网的核心部分
    • 三、计算机网络在我国的发展
    • 四、计算机网络的类别
      • (一)计算机网络的定义
      • (二)几种不同类别的计算机网络
        • 1.按照网络的作用范围进行分类
        • 2.按照网络的使用者进行分类
        • 3.用来把用户接入到互联网的网络
    • 五、计算机网络的性能
      • (一)计算机网络的性能指标
        • 1.速率
        • 2.带宽(bandwidth)
        • 3.吞吐量(throughput)
        • 4.时延(delay or latency)
        • 5.时延带宽积
        • 6.往返时间RTT(Round-Trip Time)
        • 7.利用率
      • (二)计算机网络的非性能特征
        • 1.费用
        • 2.质量
        • 3.标准化
        • 4.可靠性
        • 5.可扩展性和可升级性
        • 6.易于管理和维护
    • 六、计算机网络体系结构
      • (一)协议的三要素
      • (二)具有五层协议的体系结构
      • 常用的计算机网络通信标准

一、互联网概述

(一)网络的网络

网络由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。网络之间还可以通过路由器互连起来,这就构成了一个覆盖范围更大的计算机网络。这样的网络称为互连网(internet或internetwork,此处单词开头字母小写以区别于互联网)。因此,互连网是“网络的网络”。习惯上,与网络相连的计算机被称为主机(host)。

(二)互联网基础结构发展的三个阶段

第一阶段是从单个网络ARPANET向互连网发展的过程。

ARPANET最初只是一个单个的分组交换网(并不是一个互连的网络)。所有要连接在ARPANET上的主机都直接与就近的结点交换机相连。后来,人们已经认识到不可能仅使用一个单独的网络来满足所有的通信问题。于是ARPA开始研究多种网络互连的技术,这就导致了互连网络的出现。这就成为了现今互联网(Internet)的雏形。1983年,TCP/IP协议成为ARPANET上的标准协议使得所有使用TCP/IP协议的计算机都能利用互连网相互通信,因而1983年被视为互联网的诞生时间。

分组交换(本章后续会讲述):
分组交换是一种存储转发的交换方式,它将用户的报文划分成一定长度的分组,以分组为存储转发。分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。

结点交换机:
一种用于电(光)信号转发的网络设备。

internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议可以任意选择,不一定非要使用TCP/IP协议。

Internet(互联网/因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。

第二阶段的特点是建成了三级结构的互联网

1985年起,美国国家科学基金会(National Science Foundation, NSF)围绕六个大型计算机中心建设计算机网络NSFNET。它是一个三级计算机网络,分为主干网地区网校园网(企业网)。此种三级计算机网络覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。后来,随着互联网使用范围的扩大,网络上的通信量急剧增大,互联网的容量已经满足不了需要。美国政府决定将主干网转交给私人公司来经营,并开始对接入互联网的单位收费。1993年互联网主干网的速率提高到约45Mbits/s(T3速率)。

T3即广域网,是北美的重要广域网线路种类,是继T1后出现的专用电话连接线路。
T3速率是AT&T(美国电话电报公司)的数字传输术语,是以每秒44.7436Mbps的速度传输信号。

第三阶段的特点是逐渐形成了多层次ISP结构的互联网

从1993年开始,NSFNET逐渐被若干个商用的互联网主干网替代,而政府机构不再负责互联网的运营。这样就出现了一个新的名词:互联网服务提供者 ISP (Internet Service Provider)。

根据提供服务的覆盖面积大小以及拥有的IP地址数目的不同,ISP也分为不同层次的ISP:主干ISP、地区ISP和本地ISP。

主干ISP由几个专门的公司创建和维持,服务面积最大(一般能够覆盖国家范围),并且还拥有告诉主干网(例如10Gbit/s或更高)。有一些地区ISP网络也可直接与主干ISP相连。

地区ISP是一些较小的ISP。这些ISP通过一个或多个主干ISP连接起来,他们位于第二层,数据率也低一些。

本地ISP给用户提供直接的服务(这些用户有时也称为端用户,强调他们是末端的用户)。 本地ISP可以连接到地区ISP,也可以直接连接到主干ISP。绝大多数的用户都是直接连到本地ISP的。本地ISP可以是一个仅仅提供互联网服务的公司,也可以是一个拥有网络并向自己的雇员提供服务的企业,或者是一个运行自己的网络的非盈利机构(如大学)。

补充》
互联网交换点(Internet eXchange Point,又称互联网交换中心):
从原理上讲,只要每一个本地ISP都安装了路由器连接到某个地区ISP,而每一个地区ISP也有路由器连接到主干ISP,那么在这些互相连接的ISP的共同合作下,就可以完成互联网中所有的分组转发任务。但是随着互联网上数据流量的急剧增长,人们开始研究如何更快地转发分组,以及如何更加有效地利用网络资源。于是,互联网交换点IXP就应运而生了。
互联网交换点的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。

(三)互联网的标准化工作

1992年,由于互联网不再受美国管辖,因此成立了一个国际性组织叫做互联网协会(Internet Society,简称为ISOC)[W-ISOC],以便对互联网进行全面管理以及在世界范围内促进其发展和使用。

ISOC下设有一个技术组织叫做互联网体系结构委员会IAB(Internet Architecture Board),负责管理互联网有关协议的开发。IAB下面又设有两个工程部:互联网工程部IETF(Internet Engineering Task Force)和互联网研究部IRTF(Internet Research Task Force)。IETF是由许多工作组组成的论坛,主要是针对协议的开发和标准化。IRTF的任务是研究一些需要长期考虑的问题,包括互联网的一些协议、应用、体系结构等。

所有的互联网标准都是以RFC的形式在互联网上发表的。RFC(Request For Comments)的意思就是请求评论。这些文件中只有少部分会成为互联网标准,而且往往会花费漫长的时间。

制定互联网的正式标准要经过以下三个阶段:
(1)互联网草案(Internet Draft)——互联网草案的有效期只有六个月,在此阶段还不能算是RFC文档。
(2)建议标准(Proposed Standard)——从这个阶段开始就成为RFC文档。
(3)互联网标准(Internet Standard)

除建议标准、互联网标准外,
. 还有别的三种RFC文档,此处略。

二、互联网的组成

网络的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下两大块:
(1)边缘部分——由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2)核心部分——由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

(一)互联网的边缘部分

处在互联网边缘的部分就是连接在互联网上的主机。这些主机又称为端系统(end system),“端”就是“末端”的意思。端系统可以是PC,也可以是能上网的手机,网络摄像头,大型计算机等。端系统的拥有者可以是个人,也可以是单位或者ISP(即ISP不仅可以向端系统提供服务,也可以拥有一些端系统)。边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。

我们应当明确如下概念。当我们说:“主机A和主机B进行通信”,实际上是指:“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”。由于“进程”就是“运行着的程序”,因此这也是指:“主机A的某个进程和主机B上的另一个进程进行通信”。

在网络边缘的端系统之间的通信方式通常可以划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。

1.客户-服务器方式

这种方式是最常用,也是传统的方式。我们在网上发送电子邮件或者在网上查找资料时,都是使用客户-服务器方式。

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。主机A运行客户程序而主机B运行服务器程序,则主机A为客户端,主机B为服务器端。客户向服务器发出服务请求,而服务器向客户提供服务。客户是服务请求方而服务器是服务提供方,两者都要使用网络核心部分所提供的服务。

在实际应用中,客户程序和服务器程序通常还具有以下一些主要特点:
客户程序:
(1)被用户(user,使用计算机的人)调用后运行,在通信时主动地向远地服务器发起通信(请求服务)。因此,客户必须知道服务器程序的地址。
(2)不需要特殊的硬件和很复杂的操作系统。
服务器程序:
(1)是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的需求。
(2)系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户的地址。
(3)一般需要有强大的硬件和高级的操作系统支持。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接收数据。

上文的客户和服务器原指计算机进程(软件),在许多国外文献中,经常把客户端也称为client,服务器端称为server,我们可根据上下文来判断client和server是指软件还是硬件。

2.对等连接方式(P2P方式)

对等连接(peer-to peer,简写为P2P)是指两台主机在通信时并不区分哪一台是服务请求方哪一个是服务提供方。双方都可以下载对方已经存储在硬盘中的共享文档。

实际上,对等连接方式从本质上看仍然是客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。例如主机C,当C请求D的服务时,C是客户,D是服务器。但如果C又同时向E提供服务,那么C又同时起着服务器的作用。

(二)互联网的核心部分

互联网的核心部分是互联网中最复杂的部分,因为核心部分要向互联网边缘部分的大量主机提供连通性,使得边缘部分的任何一台主机都能向其他主机通信。

在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不叫作主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。为了弄清分组交换,我们需要了解电路交换的基本概念。

1.电路交换的主要特点

在电话机问世后不久,人们意识到让所有的电话机两两相连是不现实的。人们将每一部电话机连接到交换机上,使用许多彼此连接起来的交换机来完成全网的交换任务。这就构成了覆盖全世界的电信网。

从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。在使用电路交换通话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条通路连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源) → \rightarrow 通话(一直占用通信资源) → \rightarrow 释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。

电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。例如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时,或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是被白白浪费了。

2.分组交换的主要特点

分组交换采用存储转发技术。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,例如,每个数据段为1024 bit。在每一个数据段前面,加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组又称为“包”,而分组的首部也可以称为“包头”。分组是在互联网中传送的数据单元。分组的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。

互联网的核心部分是由许多网络和把他们互连起来的路由器组成的,而主机处在互联网的边缘部分。在互联网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。

位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但是他们的作用却很不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的,即进行分组交换的

应当注意,分组交换在传送数据之前不必先占用一条端到端的链路通信资源。分组在哪段链路上传送才占用这段链路的通信资源。分组到达一个路由器后,先暂时将这一个个短分组在内存(而不是磁盘)中存储下来,查找转发表,按照首部中的目的地址,找到合适的链路转发出去。分组在传输时就这样一段一段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高。

互联网采取了专门的措施,保证了数据的传送具有非常高的可靠性。当网络中的某些结点或链路突然出现故障时,在各路由器中运行的路由选择协议(protocol)能够自动找到转发分组最合适的路径。

采用存储转发的分组交换,实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。这对传送突发式的计算机数据非常合适,使得通信线路的利用率大大提高了。

综上所述,分组交换的主要优点如下
(1)高效:在分组传输的过程中动态分配传输带宽,对通信线路是逐段占用
(2)灵活:为每一个分组独立地选择最合适的路由
(3)迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
(4)可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络具有很好的生存性

分组交换也带来一些新的问题,例如,分组在各路由器存储转发时需要排队,这就会造成一些时延。因此,必须尽量设法减少这种时延。此外,分组交换也不能确保端到端的带宽。

分组交换带来的另一个问题是各分组必须携带的控制信息也造成了一定的开销(overhead)。

若是要传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。

三、计算机网络在我国的发展

最早着手建设专用计算机广域网的是铁道部。其于1980年即开始进行计算机联网实验。

1994年4月20日我国用 64 kbit/s 专线正式连入互联网。同年9月,中国公用计算机互联网 CHINANET 正式启动。

2004年2月,我国的第一个下一代互联网 CNGI 的主干网 CERNET2 试验网正式开通。

四、计算机网络的类别

(一)计算机网络的定义

计算机网络的精确定义并未统一。一个较好的定义是这样的[PETE11]:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定的目的(如传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

根据这个定义:(1)计算机网络所连接的硬件,并不限于一般的计算机,而是包括智能手机。(2)计算机网络并非专门用来传送数据,而是能够支持很多种的应用。

注:上述“可编程的硬件”表明这种硬件一定包含有CPU。

我们知道,起初,计算机网络的确是用来传送数据的。但随着网络技术的发展,计算机网络的应用范围不断增大,不仅能够传送音频和视频文件,而且应用的范围已经远远超过一般通信的范畴。

有时我们也能见到“计算机通信网”这一名词。但这个名词容易使人误认为这是一种专门为了通信而设计的计算机网络。计算机网络显然应具有通信的功能,但这种通信功能并非计算机网络最主要的功能。因此本书不使用“计算机通信网”这一名词。

(二)几种不同类别的计算机网络

1.按照网络的作用范围进行分类

(1)广域网 WAN(Wide Area Network)
(2)城域网 MAN(Metropolitan Area Network)
(3)局域网 LAN (Local Area Network)
(4)个人区域网 PAN(Personal Area Network)

2.按照网络的使用者进行分类

(1)公用网(public network)
(2)专用网(private network)

3.用来把用户接入到互联网的网络

接入网(Access Network)

五、计算机网络的性能

(一)计算机网络的性能指标

1.速率

网络数据中的速率指的是数据的传送速率,也称为数据率(data rate)或比特率(bit rate)。

比特(bit)来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个1或0.

速率的单位是bit/s(或b/s,有时也写为bps,即bit per second)。

当提到网络的速率时,往往指的是额定速率标称速率,而不是网络实际上运行的速率。

2.带宽(bandwidth)

带宽有一下两种不同的意义:
(1)【频域】带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。这种意义的带宽的单位是赫兹。在过去的很长一段时间内,通信的主干线路传送的是模拟信号(即连续变化的信号)。
(2)【时域】在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能够通过的“最高数据率”。在本书中提到“带宽”时,主要是指这个意思。这种意义的带宽的单位就是数据率的单位 bit/s ,比特每秒。

3.吞吐量(throughput)

表示在单位时间内通过某个网络的实际的数据量。

4.时延(delay or latency)

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
(1)发送时延
主机或路由器发送数据帧所需要的时间。
(2)传播时延
电磁波在信道中传播一定的距离需要花费的时间。
(3)处理时延
主机或路由器在收到分组后用于处理的时间。
(4)排队时延
分组在路由器中排队的时间。

5.时延带宽积

以比特为单位的链路长度。
时延带宽积=时延*带宽

6.往返时间RTT(Round-Trip Time)

7.利用率

(1)信道利用率:某信道被利用的时间占比。
(2)网络利用率:全网络的信道利用率的加权平均值。

(二)计算机网络的非性能特征

1.费用

2.质量

3.标准化

4.可靠性

5.可扩展性和可升级性

6.易于管理和维护

六、计算机网络体系结构

(一)协议的三要素

1.语法:数据与控制信息的结构或格式;
2.语义:需要发出何种控制信息,完成何种动作以及做出何种响应;
3.同步:事件实现顺序的详细说明。此处同步有时序的意思。

(二)具有五层协议的体系结构

(实际应用中,我们采用四层的结构,即将数据链路层和物理层合为网络接口层)
1.应用层(Application Layer):通过应用进程间的交互来完成特定网络应用
2.运输层(Transport Layer):负责向两台主机中进程之间的通信提供通用的数据传输服务。主要使用以下两种协议:传输控制协议TCP和用户数据报协议UDP。
3.网络层(Network Layer):为分组交换网上的不同主机提供通信服务。使用网际协议IP。
4.数据链路层(Data Link Layer)
5.物理层(Physical Layer)

常用的计算机网络通信标准

IEEE 802.16 (WiMAX)
IEEE 802.11(WiFi)
IEEE 802.3 (以太网)
IEEE 802.15.4(蓝牙)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络基础(一)概述 的相关文章

随机推荐

  • VTK三维重建面绘制算法之MC表面重建

    面绘制 面绘制算法是基于表面实现的一种三维重建算法 该类算法实现的响应速度快 xff0c 对于一些实时的交互操作中不存在卡顿问题 xff0c 在日常使用中有助于提高处理效率 xff0c 但该算法在细节特征上的重建效果是不如体绘制方法 基于算
  • git clone 换源 / GitHub 国内镜像

    由于国内政策原因 xff0c 访问 GitHub 会被限制速度 xff0c 在 clone GitHub 上的代码时很容易出现连接超时的情况 xff0c 给无法翻墙的同学造成了很多困扰 xff0c 本博客旨在提供有效的国内镜像 xff0c
  • 安卓与串口通信-实践篇

    前言 在上一篇文章中我们讲解了关于串口的基础知识 xff0c 没有看过的同学推荐先看一下 xff0c 否则你可能会不太理解这篇文章所述的某些内容 这篇文章我们将讲解安卓端的串口通信实践 xff0c 即如何使用串口通信实现安卓设备与其他设备例
  • STM32复习之路——按键控制流水灯中断

    stm32复习之路1 STM32性能与结构 这里介绍的是STM32F103VET6 价格便宜 xff0c 实用性强 xff0c 其中的V为100引脚 xff0c E表示512K的FLASH xff0c T表示封装形式为LQFP xff0c
  • NXP LPC1768最小系统板Keil开发环境流程演示

    关键字 xff1a NXP LPC1768 最小系统 Keil MDK 开发环境 J Link 仿真器 概述 xff1a 以 MDK4 74版本配合 J Link 仿真器为例演示一下最小系统板的调试过程 首先运行 J Link Comman
  • ubuntu 下查看conda镜像源配置文件并修改

    查看源 xff1a conda config show sources root condarc为配置文件所在位置 xff0c 可以对其进行备份 cp condarc condarc bkp 然后修改 ls a vim condarc添加各
  • vscode+cmake配置普通c++项目

    目录 写在前面代码命令行编译与运行vscode配置编译与调试调试参考 写在前面 1 本文内容 vscode 43 cmake配置普通c 43 43 项目 2 平台 ubuntu vscode 3 转载请注明出处 xff1a https bl
  • Vscode 使用Remote-SSH 连接到虚拟机ubuntu18.04(以及遇到的错误和解决办法)

    vscode版本 xff1a 1 40 0 ubuntu xff1a 18 04 一 vscode安装remote ssh插件 二 设置要连接的主机IP地址和用户名 1 Crtl 43 P呼出命令栏 xff0c 输入 gt Remote S
  • 7、结构体之结构体数组

    结构体这块本来学着没有什么问题的 xff0c 但是 xff0c 有时候的学习不知道怎么的 xff0c 可能是课程进度有点快 xff0c 会让自己把前面的知识点与现学的联系起来 xff0c 从而使自己迷惑起来 好了 xff0c 先说问题 xf
  • 输入n个数字,并求出它们中间的最大值与最小值

    做题觉得简单 xff0c 拿着编译器一编程就各种小毛病出来了 xff0c 这样下去的进度就太慢了 既然是n个数 xff0c 那么肯定就要有输入 xff0c 定义一个数组a 5 来接收从键盘输入的数字 xff0c 怎么将接收的数值依次传入数组
  • 二叉树和堆(理论)

    树 1 树其实就是不包含回路的连通无向图 2 一棵树中的任意两个结点有且仅有唯一的一条路径连通 3 一棵树如果有n个结点 xff0c 那么它一定恰好有n 1条边 二叉树 二叉树是一种特殊的树 二叉树的特点是每个结点最多有两个儿子 xff0c
  • 十进制转八进制

    给一个十进制数 xff0c 输出它的八进制数 由于取余所得得到数需要逆序输出 xff0c 符合栈的特征 xff08 后进先出 xff09 xff0c 所以使用栈来完成 源代码 xff1a include lt stdio h gt incl
  • 矩阵各项求和

    include span class token generics function span class token punctuation lt span stdio span class token punctuation span
  • 简单易理解的做法:有n个人围成一圈,顺序从1开始排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。简单的循环做法。

    写在前面 xff1a 这个方法用到很简单的指针与循环 xff0c 以方便新手上手该题 xff0c 并且通过直接模拟的方式理解这一过程 很多同学看懂题目意思而无法实现 xff0c 不妨看看我的方法 上代码 xff1a include lt i
  • switch中的i++与++i

    for 语句1 语句2 语句3 在上式for循环的语句3中 xff0c i 43 43 与 43 43 i都是在完成一次循环后执行 xff0c 无论使用哪一种 xff0c 输出结果都是一样的 因为i 43 43 是在使用当前值之后再 43
  • 东北大学秦皇岛分校通信工程中外合作2020级C语言实验5

    1 编写程序 xff0c 定义整型指针变量p xff0c 初始化整型一维数组a的首地址 xff08 数组a的长度为10 xff09 xff0c 利用指针变量p实现从键盘输入10个整型数据到一维数组a中 xff0c 并输出该数组中最大值和最大
  • 东北大学秦皇岛分校通信工程中外合作2020级C语言实验6

    1 定义结构体类型 xff0c 包括候选人名和选票两个成员 xff0c 编程实现对候选人得票的统计 1 Write a C program that implements the statistics of the candidate vo
  • C/CPP三种排序算法

    一 简单选择排序 span class token keyword void span span class token function sort span span class token punctuation span span c
  • ACLGUI IN SSTC(PIA)2020中可能遇到的一些知识点

    文章目录 xff08 一 xff09 条件编译 xff08 二 xff09 部分头文件 xff08 三 xff09 空指针具体操作示例常见问题1 xff1a 空指针指向了内存的什么地方 xff1f 常见问题2 xff1a 在实际的操作中 x
  • 计算机网络基础(一)概述

    计算机网络是一组自治 xff08 拥有独立的计算能力 xff09 计算机互联的集合 IEEE高级委员会 坦尼鲍姆 本文参考书目为 计算机网络 xff08 第七版 xff09 xff08 谢希仁 xff09 书中为方便 xff0c 将计算机网