【C++笔试强训】第三十一天 小灰灰 2024-04-20 06:52 70阅读 0赞 > **?C++笔试强训** > > -------------------- > > * **博客主页:**[一起去看日落吗][Link 1] > * **分享博主的C++刷题日常,大家一起学习** > * **`博主的能力有限,出现错误希望大家不吝赐教`** > * **分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光** ?。 > > -------------------- > > ![在这里插入图片描述][047d8ad26e314dc7bc7aa19a6ce9ccb0.jpeg_pic_center] -------------------- ## 选择题 ## ### ?第一题 ### 在 OSI 分层模型中,把传输的比特流划分为帧,是哪一层的功能() A 物理层 B 网络层 C 数据链路层 D 传输层 ![在这里插入图片描述][a5c630a1f28a4fd0bcb596b9c985a849.png] > **这道题的答案是`C`** -------------------- ### ?第二题 ### 下面关于源端口地址和目标端口地址的描述中,正确的是( ) A 在TCP/UDP传输段中,源端口地址和目的端口地址是不能相同的 B 在TCP/UDP传输段中,源端口地址和目的端口地址必须是相同的 C 在TCP/UDP传输段中,源端口地址和目的端口地址是可以相同的 D 以上描述均不正确 **基础概念:** 数据的五元组信息: * 源ip:描述数据从哪个主机上产生 * 目的ip:描述数据去往哪个主机 * 源端口:描述数据从源主机的哪个进程产生 * 目的端口:描述数据去往目的主机的哪个进程 * 协议:双方网络通信使用的网络协议 > **这道题的答案是`A`** -------------------- ### ?第三题 ### 网段地址 154.27.0.0 的网络。若不做子网划分,能支持()台主机 A 254 B 1024 C 65534 D 16777206 **216 \- 1 - 1** ![在这里插入图片描述][dc365668361f4b699e2d69c00207e760.png] > **这道题的答案是`C`** -------------------- ### ?第四题 ### SNMP 使用 UDP 161 和 162 端口,则该协议属于 TCP/IP 模型中的() A 网络层 B 数据链路层 C 应用层 D 传输层 ![在这里插入图片描述][f320951d399f4b75bd9bd5044ee29a6b.png] > **这道题的答案是`C`** -------------------- ### ?第五题 ### http 协议中,状态码 500 的意思为() A 重定向 B 访问被拒绝 C 未找到请求的内容 D 服务器内部有错误 ![在这里插入图片描述][d3ca7716a42d40fdad2331eed0cbce76.png] ![在这里插入图片描述][ebe17b6ca4b0407581e6f84435977fc5.png] 服务器处理请求出错,一般都是内部错误 > **这道题的答案是`D`** -------------------- ### ?第六题 ### 主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号分包是 70 和 100 ,如果 A 发送的第一个报文段丢失了,但第二个报文段达到了 B , B 在第二个报文段到达后向 A 发送确认,那么这个确认号是多少? A 100 B 101 C 70 D 71 ![在这里插入图片描述][f7202d4cc1f443198ed7ea67b2c4c0a2.png] > **这道题的答案是`C`** -------------------- ### ?第七题 ### 每个 IP 地址都可以有一个主机名,通过主机名得到该主机对应 ip 地址的过程叫() A ip地址解析 B 域名解析 C 域名编译 D ip地址编译 实际上就是我们上网的访问过程,例如我们访问百度就是访问百度的ip,我们访问的域名会被转化为ip地址,称为域名解析 > **这道题的答案是`B`** -------------------- ### ?第八题 ### 以下说法不正确的是() A HTTP是一种请求/响应式的协议 B HTTP请求消息中Accept表示浏览器可接受的MIME类型 C HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D HTTP请求消息中Css表示初始URL中的主机和端口 ![在这里插入图片描述][2ac89e7ffabc4cea9fa4bee4473bc0c3.png] ![在这里插入图片描述][b05ebf91354346369f19827fe171a9ce.png] > **这道题的答案是`D`** -------------------- ### ?第九题 ### 关于计算机网络,下列描述当中,正确的是() A 在同一信道上同一时刻,可进行双向数据传送的通信方式是半双工 B TCP协议是无连接的;UDP协议是面向连接的 C 假设一个主机的ip地址为192.168.8.123,而子网掩码为255.255.255.248,那么该主机的网络号是 192.168.8.120 D 计算机网络中的OSI结构分别是:物理层,数据链路层,传输层,会话层,表示层,应用层 ![在这里插入图片描述][dbd8f74272734039813a8fa51e7b788e.png] > **这道题的答案是`C`** -------------------- ### ?第十题 ### 下列关于 http 状态码描述正确的是() A 404读取浏览器缓存,502错误网关 B 404找不到资源,403服务器错误 C 500服务器错误,304读取浏览器缓存 D 304服务器错误,200请求成功 ![在这里插入图片描述][5cd7dc44d8f74a5bad10d5346578abff.png]![在这里插入图片描述][9e6b268b2cd64fd7897a6d15754b901b.png] ![在这里插入图片描述][8ecc48bbd4544900b57133ee98c936c4.png] ![在这里插入图片描述][f68e3bceae264a999efa8853c94fde7f.png] > **这道题的答案是`C`** -------------------- ## 编程题 ## ### ?第一题 ### 题目:[美国节日][Link 2] 和中国的节日不同,美国的节假日通常是选择某个月的第几个星期几这种形式,因此每一年的放假日期都不相同。具体规则如下: * 1月1日:元旦 * 1月的第三个星期一:马丁·路德·金纪念日 * 2月的第三个星期一:总统节 * 5月的最后一个星期一:阵亡将士纪念日 * 7月4日:美国国庆 * 9月的第一个星期一:劳动节 * 11月的第四个星期四:感恩节 * 12月25日:圣诞节 现在给出一个年份,请你帮忙生成当年节日的日期。 ![在这里插入图片描述][57e3ec76a3d044ba948a2c95b8e422ce.png] ![在这里插入图片描述][a6a59ca4d6c844508ee0cfa9e950d21d.png] * **题目解析** 题目表述很明白,难点在于我们要求一个月第N个星期W。那么面对这个问题,我们拆解的思路是,首先,我们要想找到一个月第N个星期W,一定需要一个参照物,最好的目标当然是这个月的第一天。拿到参照物后,我要能得到参照物的星期数,然后就能得到结果了。所以这个题有两个难点:判断某个月的1号到底是周几,然后根据这个星期数得到这个月第N个星期W。这两个功能写成函数,即可通过反复调用拿到结果。 * **解题思路** 问题被拆解成如下: 1. 如何根据(年、月、日)计算出这天是星期几 2. 根据每月的1号是星期几,找到本月的第 n 个星期 X 3. 根据 6月1日星期几,找到五月的最后一个星期一 最后,注意下输入输出的问题: 1. 输入有多组 2. 每组输出之后都需要跟一个空行 * **代码演示** // write your code here cpp #include <iostream> 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}; //求解ymd这一年过了多少天 int nDays(int y,int m,int d) { int n = d; for(int i = 0;i < m - 1;i++) { n += DAYS[i]; } if (m > 2 && isLeapYear(y)) { n++; } return n; } //传入ymd,计算从基准日期,到待计算日期过了多少天。 //算出这个天数 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); } //传入ymd,计算周几 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月最后一个星期1 int m2(int w) { int d = (w==1 ? 7 : w-1); return 32-d; } int main() { int y; while (cin >> y) { 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); } return 0; } -------------------- ### ?第二题 ### 题目:[分解因数][Link 3] ![在这里插入图片描述][74bcfe28fe5643dcaf6561b7bfa43b17.png] ![在这里插入图片描述][6a7c83114603401bb51199ca5026c171.png] * **题目解析** **注:题目中没有说明的是:如果出现了质数,需要打印成13 = 13的形式。** ![在这里插入图片描述][e993162b3ec54a5e95d04906b55ec5f7.png] * **解题思路** 看到短除法后,我们很清楚的知道,要想求出它的每一个质因数,我们需要用质数去试除。90能被2整除,那就拿商继续除以2,除不尽就换3,一直到除到质数为止。基础代码框架类似判断质数,只是被判断的数字在过程中不断被除,最终循环结束的时候,那个被处理过的数字,就是最后一个质因数。以下代码注释以90为例。 * **代码演示** // write your code here #include <iostream> #include <vector> #include <cmath> 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"); } return 0; } -------------------- [Link 1]: https://blog.csdn.net/m0_60338933?type=blog [047d8ad26e314dc7bc7aa19a6ce9ccb0.jpeg_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/c1ab600024a6401091a6dc3ca004861d.jpeg [a5c630a1f28a4fd0bcb596b9c985a849.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/0d69caa22d3a462681e09da99849ec59.png [dc365668361f4b699e2d69c00207e760.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/8596bcffe060489d9fbfee0a113bcce4.png [f320951d399f4b75bd9bd5044ee29a6b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/6b6aee3d57764faaacda4de56429ec49.png [d3ca7716a42d40fdad2331eed0cbce76.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/9b066b86edaf4d178005d884708fff2d.png [ebe17b6ca4b0407581e6f84435977fc5.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/3c65e1734e7444dda7ac5077062cb8fc.png [f7202d4cc1f443198ed7ea67b2c4c0a2.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/d956fca2a1174f658d6dcf0715540047.png [2ac89e7ffabc4cea9fa4bee4473bc0c3.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/b34a7f6f839c468aaa9caa263b192197.png [b05ebf91354346369f19827fe171a9ce.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/dc94cfc040c245ef8a5c94e7a09e10ab.png [dbd8f74272734039813a8fa51e7b788e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/e709002997514a89bb0fa9a078b822d7.png [5cd7dc44d8f74a5bad10d5346578abff.png]: https://img-blog.csdnimg.cn/5cd7dc44d8f74a5bad10d5346578abff.png [9e6b268b2cd64fd7897a6d15754b901b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/0d4fbbe4e1a744b39ab401358e919266.png [8ecc48bbd4544900b57133ee98c936c4.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/7570d6525fe440eeb90b9446c8e64a67.png [f68e3bceae264a999efa8853c94fde7f.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/74b7c0f528e0482e9854caf92f04c604.png [Link 2]: https://www.nowcoder.com/questionTerminal/d95d98a2f96e49078cd7df84ba0c9d79 [57e3ec76a3d044ba948a2c95b8e422ce.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/9fe9e24af25f48f3a8c3b9c7f0a99d82.png [a6a59ca4d6c844508ee0cfa9e950d21d.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/3256542b220840caa3a9b2092e05e6f6.png [Link 3]: https://www.nowcoder.com/questionTerminal/0f6976af36324f8bab1ea61e9e826ef5 [74bcfe28fe5643dcaf6561b7bfa43b17.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/4c7b592f915d4e12b89699eff7aa1e82.png [6a7c83114603401bb51199ca5026c171.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/6d678f49aa274948b6a50c33366d1258.png [e993162b3ec54a5e95d04906b55ec5f7.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/20/6a6b03e41f414a2eba849054307d5c9b.png
还没有评论,来说两句吧...