笔试强训(四十一)

news/2024/7/5 3:26:53

目录

  • 一、选择题
  • 二、编程题
    • 2.1 Emacs计算器
      • 2.1.1 题目
      • 2.1.1 题解

一、选择题

(1)某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0.若该主机向其所在子网发送广播分组,则目的地址可以是(D)
A.180.80.76.0
B.180.80.76.255
C.180.80.77.255
D.180.80.79.255

广播地址的主机号全为1,根据子网掩码得到前22位为网络号,后10位为主机号,因此将180.80.77.55的后10位全部改为1则得到广播地址

(2)下列关于路由器功能的描述中,正确的是(C)

  1. 运行路由协议,设置路由表
  2. 监测到拥塞时,合理丢弃IP分组
  3. 对收到的IP分组头进行差错控制,确保传输的IP分组不丢失
  4. 根据收到的IP分组的目的IP地址,将其转发到合适的输出路线上
    A.3.4
    B.1.2.3
    C.1.2.4
    D.1.2.3.4

差错检测已经由数据链路层实现,IP层没必要再进行一次校验

(3)主机甲和主机乙之间建立一个TCP连接,TCP最大报文段的长度是1000字节,当主机甲的当前拥塞窗口为4000字节,在主机甲和主机乙连续发送两个最大的报文段后,成功接收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口的大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是(A)
A.1000
B.2000
C.3000
D.4000

发送窗口=min{拥塞窗口,接收窗口},也就是min{4000,2000},为2000B,由于还未收到第二个最大段的确认,也就是主机乙还要为第二个报文段预留1000B的空间,所以此时主机甲还可以主机乙发送的最大字节数为2000-1000=1000

(5)某网络的IP地址空间为192.168.5.0,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网数、每个子网内的最大可分配地址个数为(B)
A.32,8
B.32,6
C.8,32
D.8,30

IP地址由网络号+子网号+主机号
由192.168.5.0可知为C类地址,由255.255.255.248可知将C类地址的主机号的前5位作为了子网号,所以子网的个数为32,每个子网内最大可分配地址个数为8-2=6

二、编程题

2.1 Emacs计算器

2.1.1 题目

在这里插入图片描述

2.1.1 题解

思路:借助栈辅助计算

  1. 遍历所给的字符串,遇到数字字符串,将该数字转成整数后入栈
  2. 遇到操作符时,从栈顶取两个数字,进行该操作符所对应的运算,将运算后的结果入栈
  3. 最后栈顶元素即为表达式结果

代码:

import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner scanner=new Scanner(System.in);
    while(scanner.hasNextInt()){
      int n=scanner.nextInt();
      Stack<Integer> stack=new Stack<>();
       for(int i=0;i<n;i++){
         String str=scanner.next();
         if(!(str.equals("+") ||str.equals("-") ||str.equals("*") ||str.equals("/") )){
            stack.push(Integer.parseInt(str)); 
         }else {
            int right=stack.pop();
            int left=stack.pop();
             switch(str.charAt(0)){
               case '+':
                   stack.push(left+right);
                 break;
               case '-':
                  stack.push(left-right);
                 break;
               case '*':
                 stack.push(left*right);
                 break;
               case '/':
                 stack.push(left/right);
                 break;
             }
         }
       }
      System.out.println(stack.peek());
    }
  }
}

http://lihuaxi.xjx100.cn/news/362289.html

相关文章

如何实现jwt鉴权机制?

一、是什么 JWT&#xff08;JSON Web Token&#xff09;&#xff0c;本质就是一个字符串书写规范&#xff0c;如下图&#xff0c;作用是用来在用户和服务器之间传递安全可靠的信息 在目前前后端分离的开发过程中&#xff0c;使用token鉴权机制用于身份验证是最常见的方案&…

周末福利 | 21天学通Python完整版,豆瓣评分9.6!

前言 又到了周末啦&#xff0c;小编例行给大家发福利&#xff01; 今天福利的内容是21天学通Python完整版&#xff0c;这是一本豆瓣评分9.6的人工智能入门书籍&#xff01;全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中&#xff0c;通过大量实际操作的…

MySQL 运算符

目录 1. 算术运算符&#xff1a; - * / div % mod 练习&#xff1a; 2. 比较运算符 2.1 <> <> ! < < > > 的使用 <> &#xff1a;安全等于。 记忆技巧&#xff1a;为NULL而生。 #练习&#xff1a;查询表中commission_pct为…

如何搭建SLAM开发环境?

1-1|安装ubuntu和ros 「Ubuntu&ROS」安装Ubuntu系统教程|1-1 「Ubuntu&ROS」Ubuntu系统下搭建深度学习和SLAM开发环境教程|1-2 1-2|g++编译流程 「Ubuntu&ROS」Ubuntu系统下CMake教程|1-5 1-3|CMake编译流程 1-4|Git代码版本控制 「Ubuntu&ROS」U…

crmeb接口未授权,您无法访问,解决方案[400012]Interface is not authorized, you cannot access

crmeb接口未授权,您无法访问,解决方案[400012]Interface is not authorized, you cannot access 报错代码[2021-08-09T10:52:34+08:00][error] [400012]Interface is not authorized, you cannot access[/www/wwwroot/XXXXX.com/app/services/system/admin/SystemRoleService…

产品经理如何有效处理需求变更

在项目立项后,进入需求的沟通,当需求确定后,难免会遇到需求频繁变更的现象,为了避免这样的事情发生,我们应当设立一套规范的需求变更管理。具体怎么做,一起来看看吧。项目立项之后,就进入需求分析阶段,需求变更随之而来。需求的变更是无法避免的,但我们可以通过制定一…

OPT(奥普特)工控机新品上市,产品矩阵再扩大

近日&#xff0c;OPT&#xff08;奥普特&#xff09;发布工控机新品&#xff0c;进一步扩展产品矩阵&#xff0c;为制造业数字化转型提供更为全面的机器视觉产品和服务。 OPT&#xff08;奥普特&#xff09;上市的工控机共有两大系列&#xff0c;分别是3U桌面式和4U上架式的设…

【经验版】Linux相关教程(二)

一、参考资料 【经验版】Linux相关教程&#xff08;一&#xff09; 二、常用指令 1. 安装run软件包 # 可执行权限 chmod x 软件包名.run# 校验软件包安装文件的一致性和完整性 ./软件包名.run --check# 指定安装路径 ./软件包名.run --install如果用户未指定安装路径&#…