【C/C++笔试练习】OSI分层模型、源端口和目的端口、网段地址、SNMP、状态码、tcp报文、域名解析、HTTP协议、计算机网络、美国节日、分解因数

文章目录

  • C/C++笔试练习
  • 选择部分
    • (1)OSI分层模型
    • (2)源端口和目的端口
    • (3)网段地址
    • (4)SNMP
    • (5)状态码
    • (6)tcp报文
    • (7)域名解析
    • (8)HTTP协议
    • (9)计算机网络
    • (10)状态码
  • 编程题 day31
    • 美国节日
    • 分解因数

C/C++笔试练习

选择部分

(1)OSI分层模型

  在OSI分层模型中,把传输的比特流划分为帧,是哪一层的功能()

  A.物理层
  B.网络层
  C.数据链路层
  D.传输层

  答案:C

在这里插入图片描述

  

(2)源端口和目的端口

  下面关于源端口地址和目标端口地址的描述中,正确的是()

  A.在TCP/UDP传输段中,源端口地址和目的端口地址是不能相同的
  B.在TCP/UDP传输段中,源端口地址和目的端口地址必须是相同的
  C.在TCP/UDP传输段中,源端口地址和目的端口地址是可以相同的
  D.以上描述均不正确

  答案:A

  数据的五元组信息:{源IP,源端口,目的IP,目的端口,协议}。

  源IP:描述数据从那个主机上产生

  目的IP:描述数据去往那个主机。

  源端口:描述数据从源主机的那个进程产生

  目的端口:描述数据去往目的主机那个进程

  协议:双方网络通信使用的网络协议。

  

(3)网段地址

  网段地址154.27.0.0的网络。若不做子网划分,能支持()台主机

  A.254
  B. 1024
  C.65534
  D.16777206

  答案:C

  154.27.0.0 是B类IP地址,则有16位主机号 ,不做子网划分,则主机号个数为2^16个(65536),除去全0(网段号)和全1号码(广播号)可以支持65534台主机。 故选C。

  

(4)SNMP

  SNMP使用UDP161和162端口,则该协议属于TCP/IP模型中的()

  A.网络层
  B.数据链路层
  C.应用层
  D.传输层

  答案:C

  简单网络管理协议(SNMP) 是TCP/IP协议簇的一个应用层协议。

在这里插入图片描述

  

(5)状态码

  HTTP协议中,状态码500的意思为()

  A.重定向
  B.访问被拒绝
  C.未找到请求的内容
  D.服务器内部有错误

  答案:D

在这里插入图片描述
在这里插入图片描述

  

(6)tcp报文

  主机A向主机B连续发送了两个TCP报文段,其序号分包是70和100,如果A发送的第一个报文段丢失了,但第二个报文段达到了B,B在第二个报文段到达后向A发送确认,那么这个确认号是多少?

  A.100
  B. 101
  C.70
  D.71

  答案:C

在这里插入图片描述

  

(7)域名解析

  每个IP地址都可以有一个主机名,通过主机名得到该主机对应ip地址的过程叫()

  A. ip地址解析
  B.域名解析
  C.域名编译
  D. ip地址编译

  答案:B

  主机名本质上就是域名,例如:www.baidu.com,本质上该域名会被解析成为IP地址, 这个过程称之为域名解析

在这里插入图片描述

  

(8)HTTP协议

  以下说法不正确的是()

  A.HTTP是一种请求/响应式的协议
  B.HTTP请求消息中Accept表示浏览器可接受的MIME类型
  C.HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式
  D.HTTP请求消息中Css表示初始URL中的主机和端口

  答案:D

在这里插入图片描述

在这里插入图片描述

  MIME(Multipurpose lnternet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开D选项: html本身就有一个href标签可以实现,href标签为页面上的所有链接规定默认地址或默认目标。

在这里插入图片描述

  

(9)计算机网络

  关于计算机网络,下列描述当中,正确的是()

  A.在同一信道上同一时刻,可进行双向数据传送的通信方式是半双工
  B. TCP协议是无连接的;UDP协议是面向连接的
  C.假设一个主机的ip地址为192.168.8.123,而子网掩码为255.255.255.248,那么该主机的网络号是192.168.8.120
   D.计算机网络中的OSI结构分别是:物理层,数据链路层,传输层,会话层,表示层,应用层

  答案:C

  A 在同一信道上同一时刻,可进行双向数据传送的通信方式是全双工

  B TCP是面向连接,UDP是无连接

  C网络号=ip地址 &子网掩码

192.168.9.123(01111011)
&
255.255.255.248(11111000)
=
192.168.9.120 (01111000)

  D 计算机网络中的OSI结构分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

  

(10)状态码

  下列关于http状态码描述正确的是()

  A.404读取浏览器缓存,502错误网关
  B. 404找不到资源,403服务器错误
  C.500服务器错误,304读取浏览器缓存
  D.304服务器错误,200请求成功

  答案:C

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

            

编程题 day31

美国节日

  解题思路:题目表述很明白,难点在于我们要求一个月第N个星期W。那么面对这个问题,我们拆解的思路是,首先,我们要想找到一个月第N个星期W,一定需要一个参照物,最好的目标当然是这个月的第一天。拿到参照物后,我要能得到参照物的星期数,然后就能得到结果了。所以这个题有两个难点:判断某个月的1号到底是周几,然后根据这个星期数得到这个月第N个星期W。这两个功能写成函数,即可通过反复调用拿到结果。问题被拆解成如下:
  (1)如何根据(年、月、日)计算出这天是星期几
  (2)根据每月的1号是星期几,找到本月的第 n 个星期 X
  (3)根据 6月1日星期几,找到五月的最后一个星期一
  (4)输入有多组
  (5)每组输出之后都需要跟一个空行

美国节日

#include <iostream>
#include <cstdio>
using namespace std;

bool isLeapYear(int y) 
{
    return y % 400 == 0 || (y % 100 != 0 && y % 4 == 0);
}

int DAYS[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 求解 y,m,d 这一年过了多少天
int nDays(int y, int m, int d) 
{
    int n = d;
	// m = 10
	// [1, 9]
	// [0, 8]
    for (int i = 0; i < m - 1; i++) 
    {
        n += DAYS[i];
    }
    if (m > 2 && isLeapYear(y)) 
    {
        n++;
    }
    return n;
}

// 传入 y,m,d 计算从基准日期,到带计算日期过了多少天。
// 算出这个天数的 MOD 7 的同余数
int diff(int y, int m, int d) 
{
    return (y - 1) + (y - 1) / 4 - (y - 1) / 100 + (y - 1) / 400 + nDays(y, m, d);
}

// 传入 y,m,d,计算周几
int week(int y, int m, int d) 
{
    int w = diff(y, m, d) % 7;
    if (w == 0) 
    {
        w = 7;
    }
    return w;
}

// 已知当月1日是星期 w,计算第 n 个星期 e 是几号
int m1(int w, int n, int e) 
{
    return 1 + (n - 1) * 7 + (7 - w + e) % 7;
}

// 已知6月1日是星期w,计算5月的最后一个星期一
int m2(int w) 
{
    int d = (w == 1 ? 7 : w - 1);
    return 32 - d;
}

int main() {
    int y;
    while (cin >> y) 
    {
        /*
        * 1月1日:元旦
        * 1月的第三个星期一:马丁·路德·金纪念日
        * 2月的第三个星期一:总统节
        * 5月的最后一个星期一:阵亡将士纪念日
        * 7月4日:美国国庆
        * 9月的第一个星期一:劳动节
        * 11月的第四个星期四:感恩节
        * 12月25日:圣诞节
        */
        printf("%d-01-01\n", y);
        int w;
        w = week(y, 1, 1);
        printf("%d-01-%02d\n", y, m1(w, 3, 1));
        w = week(y, 2, 1);
        printf("%d-02-%02d\n", y, m1(w, 3, 1));
        w = week(y, 6, 1);
        printf("%d-05-%02d\n", y, m2(w));
        printf("%d-07-04\n", y);
        w = week(y, 9, 1);
        printf("%d-09-%02d\n", y, m1(w, 1, 1));
        w = week(y, 11, 1);
        printf("%d-11-%02d\n", y, m1(w, 4, 4));
        printf("%d-12-25\n\n", y);
    }
}

  

分解因数

分解因数
在这里插入图片描述

  解题思路:看到短除法后,我们很清楚的知道,要想求出它的每一个质因数,我们需要用质数去试除。90能被2整除,那就拿商继续除以2,除不尽就换3,一直到除到质数为止。基础代码框架类似判断质数,只是被判断的数字在过程中不断被除,最终循环结束的时候,那个被处理过的数字,就是最后一个质因数。以下代码注释以90为例。

#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;

void factorization(int a, vector<int>& factors) 
{
    factors.clear();
    for (int i = 2; a > 1 && i * i <= a; i++) 
    {
        while (a % i == 0) {
            factors.push_back(i);
            a = a / i;
        }
    }
    if (a > 1) 
    {
  		// 处理素数的情况
        factors.push_back(a);
    }
}

int main() 
{
    vector<int> factors;
    int a;
    while (cin >> a) 
    {
        factorization(a, factors);
        printf("%d = ", a);
        for (vector<int>::const_iterator p = factors.begin(); p != factors.end(); ++p) 
        {
            printf("%d", *p);
            if (p != factors.end() - 1) 
            {
                printf(" * ");
            }
        }
        printf("\n");
    }
}

            

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573799.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GRASSHOPPER电池Expression

Grasshopper中如果要实现简单的条件if语句的效果&#xff0c;可以使用电池Expression。 举例&#xff1a;获取两个数的差值&#xff0c;永远用大数减去小数

Geoserver中点击切片图层报错问题

最近想试试wmts&#xff0c;其中有一步需要用到切片图层 但是点击页面老是报错&#xff0c; 于是乎想断点&#xff0c;可惜代码太复杂 弃了&#xff0c;所以想重新部署一下新版本&#xff0c;结果还是报错&#xff0c;想着可能tomcat有缓存吧&#xff0c;在换个tomcat还是报错…

《QT实用小工具·四十二》圆形发光图像

1、概述 源码放在文章末尾 该项目实现了图像的发光效果&#xff0c;特别适合做头像&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; import QtQuick 2.7 import QtGraphicalEffects 1.12Item {id: rootwidth: 80height: 80property int ra…

【JVM】java内存区域

目录 一、运行时数据区域 1、方法区 2、堆 3、虚拟机栈 4、本地方法栈 5、程序计数器 6、运行时常量池 二、HotSpot虚拟机的对象 1、对象的创建 指针碰撞&#xff1a; 空闲列表&#xff1a; 2、对象的内存布局 对象头 实例数据 对齐填充 3、对象的访问定位 句…

一种基于 RFID 技术的养老院人员定位解决方案

在今日的中国社会结构老龄化日趋增长&#xff0c;带来了一系列的社会问题。社会老龄化、高龄化、空巢化和病残化的迅速发展&#xff0c;将使得越来越多的老人住进养老院。养老院主要为老人提供集体居住&#xff0c;并具有相对完整的配套服务设施。养老院管理的最终目的就是为老…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 输入类控件 | Combo Box的使用及说明 文章编号&#xff…

张大哥笔记:普通人如何搞钱?

追求短期利润和长期价值相结合的创业方式&#xff0c;是我一直倡导的。短期内寻求盈利的项目进行快速变现&#xff0c;比如各种小风口项目&#xff0c;而长期项目则需保持数年乃至10年不变&#xff0c;比如自媒体内容输出&#xff0c;做有长期价值的事情&#xff01; 短期项目通…

详解MySQL C API 相关接口(大白话就是:MySQL的c语言怎么写)

文章目录 1、C API 官方文档2、初始化 MYSQL3、连接 MySQL设置连接字符集&#xff08;使得客户端编码方式匹配&#xff09; 4、下发 mysql 指令5、获取 mysql 查询结果(保存起来)获取行与列遍历存储结果 6、释放 MYSQL\_RES 对象7、关闭 MySQL 连接8、总结 1、C API 官方文档 …

Linux安装Docker的多版本PHP和多版本MySQL共存

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

(一)Amira入门实例

1.打开Amira安装目录下的数据Foam.am图片&#xff0c;打开之后选择“um”选项。 2. 添加一个2D和3D显示组件&#xff0c;即Ortho Slice和Volume Rendering&#xff0c;分别为2D显示和3D显示&#xff08;模块左侧绿点控制是否显示&#xff09;&#xff1a; 颜色反转之后&#xf…

C# GetField 方法应用实例

目录 关于 C# Type 类 GetField 方法应用 应用举例 心理CT设计题 类设计 DPCT类实现代码 小结 关于 C# Type 类 Type表示类型声明&#xff1a;类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义&#xff0c;以及开放或封闭构造的泛型类型。调用 t…

第十五届蓝桥杯省赛第二场C/C++B组G题【最强小队】题解

20pts 枚举所有可能的左端点、右端点&#xff0c;时间复杂度 O ( n 2 ) O(n^2) O(n2)。 对于每个区间进行遍历检测&#xff0c;时间复杂度 O ( n 3 ) O(n^3) O(n3)。 100pts 由于数据范围为 1 0 5 10^5 105&#xff0c;所以肯定只能进行一次枚举。 我们尝试枚举右端点&…

winform实现的调用bartender打印工具-标签模版管理

生产型企业基本都有条码追溯管理的需求&#xff0c;不同的产品有不同的标签样式规格以及内容&#xff0c;打印的条码往往需要追溯以及防重校验&#xff0c;因此市面有很多打印软件&#xff0c;今天分享基于winform开发的调用bartender标签的工具。 先上效果图 /// <summary…

软考 - 系统架构设计师 - 设计模式

目录 概念 创建型设计模式 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09; 优点 缺点 应用场景 总结 构建器模式&#xff08;Builder Pattern&#xff09; 优点 缺点 应用场景 工厂方法模式&#xff08;factory method&#xff09; 优点 缺点 应…

AES 加解密(包含JS、VUE、JAVA、MySQL)工具方法

介绍 AES 是 Advanced Encryption Standard 的缩写&#xff0c;是最常见的对称加密算法。AES 在密码学中又称 Rijndael 加密法&#xff0c;是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES&#xff0c;已经被多方分析且广为全世界所使用。 基本原理&#…

3.8设计模式——State 状态模式(行为型)

意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 结构 Context&#xff08;上下文&#xff09;定义客户感兴趣的接口&#xff1b;维护一个ConcreteState子类的实例&#xff0c;这个实例定义当前状态。State&#xff08;状态&#xff09;定义…

微软发布!提示工程进化为位置工程,有效提升RAG与上下文学习

别再光顾着优化提示工程啦&#xff01;微软最近推出位置工程研究思路&#xff0c;只需调整token的索引位置&#xff0c;而不修改文本本身&#xff0c;就能显著提高任务性能。 提示工程通过添加、替换或删除段落和句子改变提示&#xff0c;调整语义信息&#xff0c;激发LLMs的推…

Leetcode刷题之——队列Queue|先入先出FIFO|广度优先搜索BFS|栈Stack|后入先出LIFO|深度优先搜索DFS

Leetcode刷题之——队列Queue|先入先出FIFO|广度优先搜索BFS|栈Stack|后入先出LIFO|深度优先搜索DFS 1. 队列(Queue)——FIFO&#xff0c;先入先出的数据结构1.1 循环队列1.2 内置队列的常用方法&#xff08;C&#xff09;1.3 广度优先搜索&#xff08;BFS&#xff09; 2.栈(St…

Unity Meta Quest MR 开发(七):使用 Stencil Test 模板测试制作可以在虚拟与现实之间穿梭的 MR 传送门

文章目录 &#x1f4d5;教程说明&#x1f4d5;Stencil Test 模板测试&#x1f4d5;Stencil Shader&#x1f4d5;使用 Unity URP 渲染管线设置模板测试⭐Render Pipeline Asset 与 Universal Renderer Data⭐删除场景中的天空盒⭐设置虚拟世界的层级 Layer⭐设置模板测试 &#…

详解Qt中的鼠标事件

在Qt中&#xff0c;处理鼠标事件是构建交互式界面的关键。Qt提供了一系列与鼠标相关的事件处理函数&#xff0c;允许开发者捕获鼠标的各种动作&#xff0c;如按下、释放、移动、双击等。以下是鼠标事件的使用方法、技巧以及注意事项&#xff0c;并附带C代码示例。 基础使用方法…