计网选择题part

1.下列哪种介质(信号)的无中继传输距离最大?(   )

A 双绞线    B 光纤    C 同轴电缆    D 卫星微波

无中继传输距离???

就是一段连续的距离。(不使用中继器来继续传递信号)

不懂。。。

双绞线和同轴电缆应该干不过光纤。

1. 以下传输介质,哪一种无中继传输距离最长。 A光导纤维 B 屏蔽双绞线 C 同轴电缆 D 无屏蔽双绞线_百度知道 (baidu.com)

p48

双绞线:大的是100m的距离

p52:光纤传输损耗小,中继距离长。

p53:无线电微波传播距离可以达到100KM。

不知道,我选D。

2.以太网MAC层提供的传输服务是(  A  )。

A无连接不可靠的      B无连接可靠的

C有连接不可靠的      D有连接可靠的

不可靠。因为如果数据报校验出错,就会被丢弃。

有连接,因为可以想到,网卡与路由器间的连接是连线的。

想错了。这是连线,不是连接。

【计算机网络】数据链路层 : 以太网 ( 无连接、不可靠服务 | 以太网发展 | 10BASE-T 以太网 | MAC 地址 | 以太网 MAC 帧 | 高速以太网 )_以太网不可靠服务_韩曙亮的博客-CSDN博客

因为发送方,接受方没有握手过程,所以是无连接。 

3.在下列几组协议中,哪一组属于网络层协议。(  D )

A IP和TCP          B ARP和TELNET

C FTP和UDP         D IP和ICMP

网络层:IP,ARP,ICMP

运输层:TCP,UDP

应用层:FTP,TELNET

4.VLAN划分是基于(  B )实现的。

A 集线器    B 交换机    C 路由器    D 网关

p104

在以太网的帧格式中插入一个4字节的标识符,称为VLAN标签(tag)。

交换机会负责给帧插入VLAN标签。

交换机必须能够识别和处理虚拟局域网。

5.路由器把IP分组封装到帧中时,应该( D )。

A 选择足够长的帧,可以封装一个特定IP分组

B 选择足够长的帧,可以封装所有的IP分组

C 选择最大帧长,如果不能够封装下,就将剩余部分丢弃

D 选择最大帧长,如果不能够封装下,就将IP分组分片

6.对于无法转发而丢弃的普通IP分组,路由器会给源主机发送(  C )报文来报告错误。

A IP     B TCP    C ICMP    D UDP

7.某网络的网络地址为192.168.5.0/24,进行子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内的最大可分配地址个数为( B  )。

A 32,8    B 32,6    C 8,32    D 8,30

248=256-8=2^8-2^3=10000 000 - 0000 1000=1111 1000

29位

2^(29-24)=2^5=32

8.下列哪个不是TCP拥塞控制使用的算法?( D  )

A 慢开始    B 快重传    C 快恢复    D 滑动窗口 

A.B.C都是用于拥塞控制的。

D是用于流量控制的。

9.对实时性要求比较高,但对可靠性要求相对较低的应用(如在线电影),一般可使用传输层的

(  A )协议。

A UDP    B TCP    C FTP    D IP

10.为主机网卡配置的参数中有一项是“DNS服务器地址”,此DNS服务器指(  D  )。

A根域名服务器  B顶级域名服务器  C权威域名服务器  D本地域名服务器

依稀记得老师说是这个答案。

p264

我的理解:

为主机提供服务的是本地域名服务器

好的,这是一个比较复杂的程序,需要较长的时间和代码来实现。下面是一个初步的思路和伪代码: 1. 定义一个Operator类,包含加减乘除四种运算方法。这个类可以作为父类,子类Year1和Year3分别继承该类,Year1只实现加减,Year3实现全部四则运算。 2. 定义一个Question类,包含两个变量和一个方法:num1, num2, and operator。这个类可以用来生成随机的四则运算题目。 3. 定义一个判断对错的类AnswerChecker,包含一个方法checkAnswer,用来判断用户输入的答案是否正确。 4. 定义一个分的类ScoreCounter,包含一个方法addScore,用来记录用户得分。 5. 定义一个User类,包含用户名和密码两个属性,以及一个记录历史得分的方法。 6. 定义一个Menu类,用来显示主菜单和用户登录界面。 7. 在主程序中,使用Menu类显示主菜单,用户登录后选择年级,根据选择的年级实例化对应的Year1或Year3类,生成10个随机的四则运算题目,用户输入答案后,使用AnswerChecker类判断并记录得分,最后将得分保存到对应的User对象中。 8. 在程序结束时,将User对象的历史得分保存到IO文件或数据库中。 下面是一个伪代码实现: ```python class Operator: # 父类,包含加减乘除四种运算方法 def add(self, num1, num2): pass def sub(self, num1, num2): pass def mul(self, num1, num2): pass def div(self, num1, num2): pass class Year1(Operator): # 子类,只实现加减 def add(self, num1, num2): return num1 + num2 def sub(self, num1, num2): return num1 - num2 class Year3(Operator): # 子类,实现全部四则运算 def add(self, num1, num2): return num1 + num2 def sub(self, num1, num2): return num1 - num2 def mul(self, num1, num2): return num1 * num2 def div(self, num1, num2): if num2 == 0: raise ValueError("除数不能为零") elif num1 < num2: raise ValueError("结果不能为负数") else: return num1 / num2 class Question: # 四则运算题目类 def __init__(self, num1, num2, operator): self.num1 = num1 self.num2 = num2 self.operator = operator def get_question(self): # 生成题目 if self.operator == "+": return f"{self.num1} + {self.num2} = ?" elif self.operator == "-": return f"{self.num1} - {self.num2} = ?" elif self.operator == "*": return f"{self.num1} * {self.num2} = ?" elif self.operator == "/": return f"{self.num1} / {self.num2} = ?" class AnswerChecker: # 判断对错类 def check_answer(self, question, user_answer): # 判断用户输入的答案是否正确 if question.operator == "+": correct_answer = question.num1 + question.num2 elif question.operator == "-": correct_answer = question.num1 - question.num2 elif question.operator == "*": correct_answer = question.num1 * question.num2 elif question.operator == "/": correct_answer = question.div(question.num1, question.num2) return user_answer == correct_answer class ScoreCounter: # 分类 def __init__(self): self.score = 0 def add_score(self, is_correct): # 根据答题情况记录得分 if is_correct: self.score += 1 class User: # 用户类 def __init__(self, username, password): self.username = username self.password = password self.scores = [] def add_score(self, score, time): # 记录得分 self.scores.append((len(self.scores)+1, score, time)) def get_scores(self): # 返回历史得分 return self.scores class Menu: # 菜单类 def show_menu(self): # 显示主菜单 print("1. 登录") print("2. 退出") def show_login(self): # 显示用户登录界面 username = input("请输入用户名:") password = input("请输入密码:") return User(username, password) def show_year_level(self): # 显示年级选择界面 print("请选择年级:") print("1. 一年级") print("2. 三年级") level = input("请选择:") if level == "1": return Year1() elif level == "2": return Year3() else: return None def main(): menu = Menu() user = None while True: menu.show_menu() choice = input("请选择:") if choice == "1": user = menu.show_login() year_level = menu.show_year_level() if year_level is None: print("年级选择错误") continue elif choice == "2": break else: print("请选择正确的选项") continue # 生成随机题目 questions = [] for i in range(10): try: num1 = random.randint(1, 99) num2 = random.randint(1, 99) if num1 > 10 and num2 > 10: operator = random.choice(["+", "-", "*", "/"]) else: operator = random.choice(["+", "-"]) questions.append(Question(num1, num2, operator)) except ValueError as e: print(e) continue # 回答问题并分 score_counter = ScoreCounter() for i, question in enumerate(questions): print(f"第{i+1}题:{question.get_question()}") try: user_answer = int(input("请输入答案:")) except ValueError: print("请输入数字") continue try: is_correct = AnswerChecker().check_answer(question, user_answer) except ValueError as e: print(e) continue score_counter.add_score(is_correct) user.add_score(score_counter.score, time.strftime("%Y-%m-%d %H:%M:%S")) print(f"您的得分是:{score_counter.score}") # 保存历史得分 with open("scores.txt", "a") as f: for score in user.get_scores(): f.write(f"{user.username},{score[0]},{score[1]},{score[2]}\n") ``` 这是一个比较简单的实现,还有很多可以优化的地方,比如增加注册功能、使用数据库存储等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伸头看云朵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值