C++笔试强训4

文章目录

  • 一、选择题
    • 1-5题
    • 6-10题
  • 二、编程题
    • 题目一
    • 题目二


一、选择题

1-5题

在这里插入图片描述
%o就是输出八进制的无符号数,0123,,以0开头·,本来就是八进制,所以输出为123,123是十进制,转化为八进制就是173.
故选C。

  1. %d%i:用于输出 int 类型的整数。
  2. %u:用于输出无符号 int 类型的整数。
  3. %ld%li:用于输出 long int 类型的整数。
  4. %lld%lli:用于输出 long long int 类型的整数。
  5. %o:用于输出无符号整数,以八进制形式显示。
  6. %x%X:用于输出无符号整数,以十六进制形式显示(%x 生成小写字母,%X 生成大写字母)。
  7. %f:用于输出 floatdouble 类型的浮点数。
  8. %c:用于输出单个字符。
  9. %s:用于输出字符串。
  10. %p:用于输出指针变量的值。
  11. %e:用于输出浮点数,采用科学计数法。
  12. %g:根据数值和精度,自动选择 %f%e 格式。
  13. %%:用于输出 % 字符。

在这里插入图片描述
A选项,2二进制是10,~2是01,flag和它进行与运算,同1才是1,所以,第二位一定会被置0.
故选A。

  1. 位与(AND)&

    • 用法:result = a & b;
    • 功能:对ab中的每一位执行逻辑与操作。如果两位都是1,则结果的该位是1,否则是0。
  2. 位或(OR)|

    • 用法:result = a | b;
    • 功能:对ab中的每一位执行逻辑或操作。如果两位中至少有一位是1,则结果的该位是1,否则是0。
  3. 位非(NOT)~

    • 用法:result = ~a;
    • 功能:对a中的每一位执行逻辑非操作。如果某位是1,则结果的该位是0,如果某位是0,则结果的该位是1。
  4. 位异或(XOR)^

    • 用法:result = a ^ b;
    • 功能:对ab中的每一位执行逻辑异或操作。如果两位不同,则结果的该位是1,如果两位相同,则结果的该位是0。
  5. 左移<<

    • 用法:result = a << n;
    • 功能:将a的二进制表示向左移动n位。右边空出的位用0填充。
  6. 右移>>

    • 用法:result = a >> n;
    • 功能:将a的二进制表示向右移动n位。对于无符号数,左边空出的位用0填充;对于有符号数,具体行为(用0填充还是用符号位填充)取决于编译器。

使用位运算时,需要注意操作的数通常是整数类型,而且位运算直接对内存中的位进行操作,因此效率很高。同时,位运算也可以用于实现一些特定的算法,比如快速计算2的幂、交换两个数的值而不使用临时变量等。


在这里插入图片描述
指向内存地址不能改变,指针常量,const在*右边,故选B。
A:const都在*前都是指向可以修改,但指向空间的内容不能改。

B:x指针指向不能修改,但是指向空间中的内容是可以修改

C:x指向可以修改,但是指肉空间中的内容不能修改

D:x指向可以修改,但是指向空间中的内容不能修改

E:x指针的指向不能修改,指针指向空间中的内容也不能修改

const在*前:const修饰的是解引用的结果不能修改,即指向执行空间中的内容不能修改
const在*后:const修饰指针变量本身,即指针的值不能修改,指针的指向不能修改


在这里插入图片描述
a是数组名,&a表示数组的地址,&a+1表示指针偏移一个数组的大小,即5个int大小的字节数,因此&a+1指向数组最后一个元素的下一个元素,在强转为int*,进行±操作移动的步长就会改变成一个int大小,因此,p-1指向元素9,*(p-1)就是9。而a是数组首元素,a+1,指向数组第二个元素,解引用完就是3.
故选C。

知识点,数组名是数组首元素的地址,&数组名是数组的地址,相同点,都指向同一个位置,不同点±操作移动的步长不一样。


在这里插入图片描述
不知道总共有多少行,每行有多少列
假设:数组X的起始地址为start,总共有M行,N列

&x[4][4]= start+ 4N+4=0xf8b82140
&x[9][9]= start + 9
N+9 = 0xf8b8221c
上面这是个方程组嘛,两个方程组两个未知数,解一下,得到
start=0xF8B82090
N=43

&x[7][7]= start + 7*N+7=F8B821C4

故选A。

在这里插入图片描述


6-10题

在这里插入图片描述
如图2^4=16
故选D。
在这里插入图片描述


在这里插入图片描述数组名表示数组首元素的地址,只有在&和sizeof之后才表示数组的本身
"morning"的类型是char*
p=a;p就必须给成二级指针

p原先指向第一个字符串,++之后就是指向第二个字符串,故选A。
在这里插入图片描述


在这里插入图片描述
假设x=7---->111
x=7&6=111&110=110 x=6
第-次循环:count+±–>count:1
第二次循环:count+±–>count:2 x=6&5=110&101=100 x=4
第三次循环:count+±–>count:3 x=4&3=100&011=0
最终返回的就是3

由此可以看出该函数的功能:返回x中总共有多少个1
因此把9999换算成二进制看它有几个1就好,把9999换成二进制就是10011100001111一共有8个1,所以选A。


在这里插入图片描述
FO递归1次
F1递归1次
F2:FO+F1=递归3次
F3:F2+F1=1+3+1 =5
F4:F3+F2=1+5+3=9
F5:F4+F3=1+9+5=15
F6:F5+F4=1+15+9=25
F7:F6+F5=1+25+15=41
F8:F7+F6=1 + 41 + 25 =67

故选B。


在这里插入图片描述
1.结构体为什么要对齐?
2.结构体是如何进行对齐?
3.如果想要让结构体按照任意字节对齐该如何处理?

结构体对齐:
1.保证每个成员都放在一个对齐的地址上=== min(该成员类型大小 , 对齐参数) 能否被偏移量整除
如果可以被整除,则在对齐的地址上
如果不可以被整除,则需要补一些字节让其可以整除
第一步算完之后,结构体已经有了一个总的大小
2.对结构体整体来对齐:min(在数组中找类型最大的成员所占字节,对齐参数)看能否被第一步算出来的结构体的大小整除
如果可以被整除,则在对齐的地址上
如果不可以被整除,则需要补一些字节让其可以整除

故选C。


二、编程题

题目一

题目链接:
计算糖果

在这里插入图片描述

提交代码:

#include <iostream>
using namespace std;int main() {int a,b,c,d;while(cin>>a>>b>>c>>d){//A-B=a//B-C=b//A+B=c//B+C=dint A=(a+c)/2;int B1=(c-a)/2;int B2=(b+d)/2;int C=(d-b)/2;if(B1!=B2){cout<<"No";}else {{cout<<A<<" "<<B1<<" "<<C;}}}}
// 64 位输出请用 printf("%lld")

运行结果:
在这里插入图片描述


题目二

题目链接:
进制转换
在这里插入图片描述

提交代码:

#include <algorithm>
#include <string>
#include <iostream>
using namespace std;int main() {string s,table="0123456789ABCDEF";int m,n;bool flag=false;cin>>m>>n;if(m==0){cout<<0;}if(m<0){m=0-m;flag=true;}while(m!=0){s+=table[m%n];m/=n;}if(flag) s+='-';reverse(s.begin(), s.end());cout<<s;return 0;}
// 64 位输出请用 printf("%lld")

运行结果:
在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python基础教程】制作一个宿舍管理系统,数据库宿舍管理系统代码!(完整版,附源码)

今天我们一起学习一个新的小案例——宿舍管理系统。主要涉及列表、字典的初始化、增加、删除、修改和查询操作&#xff0c;以及函数的定义和调用。 一、需求&#xff1a; 有操作指引界面&#xff0c;显示操作号 能添加一个新的入住学生信息&#xff0c;包括学生姓名、宿舍号床…

如何让员工在培训后持续应用六西格玛工具?

要让员工在培训后持续应用六西格玛工具&#xff0c;首先需要明确六西格玛的核心价值及其在企业中的应用意义。六西格玛是一种数据驱动的管理方法论&#xff0c;旨在通过减少变异和浪费&#xff0c;提高流程效率和质量&#xff0c;进而提升企业的竞争力。然而&#xff0c;仅仅通…

JRebelXRebel在线激活(亲测可用)

包含所有新旧版本&#xff0c;包括2023.4.2、2023.4.1、2023.4.0、2023.3.2、2023.3.1、2023.3.0、2023.2.2、2023.2.1、2023.2.0、2023.1.2、2023.1.1 等以及所有2022版本 JRebel&XRebel激活服务器地址 激活服务器地址&#xff08;路线1,推荐&#xff09;&#xff0c;可…

走进NoSql

一、引入 1.1什么是NoSql NoSQL&#xff08;Not Only SQL&#xff09;是一组非关系型数据库&#xff08;或称为非SQL数据库&#xff09;的统称&#xff0c;它们提供了与传统的关系型数据库不同的数据存储和检索方式。NoSQL数据库通常用于处理大量的、分布式的、非结构化或半结…

数据精度丢失

js数据精度丢失 最近看面试题想到了之前在开发钟遇到过的问题&#xff0c;现总结一下 在开发过程中&#xff0c;发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查&#xff0c;怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为…

快手开源LivePortrait,实现表情姿态极速迁移,GitHub 6.5K Star

近日&#xff0c;快手可灵大模型团队开源了名为LivePortrait的可控人像视频生成框架&#xff0c;能够准确、实时地将驱动视频的表情、姿态迁移到静态或动态人像视频上&#xff0c;生成极具表现力的视频结果。如下动图所示&#xff1a; 来自网友测试LivePortrait 来自网友测试Li…

2.I/O口

I/O输出(点灯) 分析电路 看电路图&#xff0c;元器件形成电压差&#xff0c;即可点亮LED灯 代码编写 使用不同操作进行LED控制 #include "reg52.h" //51单片机头文件 #include <intrins.h> sbit LED1 P1^0; //引脚初始化&#xff1a;P1^0&#xff1a;对应引脚…

<Rust>egui部件学习:如何在窗口及部件显示中文字符?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析&#xff0c;主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;rust 库&#xff1a;egui、eframe 概述 本文是本专栏的第一篇博…

应用实践之基于MobileNetv2的垃圾分类

MobileNetv2模型原理介绍 前言 MobileNet是2017年由Google团队提出的轻量级CNN网络&#xff0c;专注于移动端、嵌入式或IoT设备。它使用深度可分离卷积的思想来减小模型参数与运算量&#xff0c;同时引入宽度系数和分辨率系数以满足不同应用场景的需求。MobileNetV2则采用倒残…

STM32智能交通灯系统教程

目录 引言环境准备智能交通灯系统基础代码实现&#xff1a;实现智能交通灯系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;交通管理与优化问题解决方案与优化收尾与总结 1. 引言 智能交通灯系统通过STM…

Hadoop3:HDFS-存储优化之纠删码

一、集群环境 集群一共5个节点&#xff0c;102/103/104/105/106 二、纠删码原理 1、简介 HDFS默认情况下&#xff0c;一个文件有3个副本&#xff0c;这样提高了数据的可靠性&#xff0c;但也带来了2倍的冗余开销。Hadoop3.x引入了纠删码&#xff0c;采用计算的方式&#x…

【Python实战因果推断】37_双重差分8

目录 Diff-in-Diff with Covariates Diff-in-Diff with Covariates 您需要学习的 DID 的另一个变量是如何在模型中包含干预前协变量。这在您怀疑平行趋势不成立&#xff0c;但条件平行趋势成立的情况下非常有用&#xff1a; 考虑这种情况&#xff1a;您拥有与之前相同的营销数…

c语言唯一一个三目运算符

条件表达式由两个符号&#xff08;&#xff1f;和&#xff1a;&#xff09;组成&#xff0c;必须一起使用。要求有三个操作对象&#xff0c;称为三目运算符。 一般形式为 表达式1&#xff1f;表达式2&#xff1a;表达式3 理解如下&#xff1a; a>b?(maxa):(maxb); //相当…

Apache trino的ldap认证开启

作者&#xff1a;櫰木 1、背景 由于trino 默认没有开启用户认证体系&#xff0c;需要ldap用户进行认证。开启tls和ldap用户认证&#xff0c;提高安全性。 2、配置 前置条件。 trino 集群已经部署完成 ldap 服务 openjdk 版本大于11.0.17 生成证书 keytool -genkeypair…

【动态规划1】斐波那契数列模型篇

文章目录 声明动态规划介绍1137.第N个泰波那契数题目描述分析代码 面试题 08.01. 三步问题题目描述分析代码 746.使用最小花费爬楼梯题目描述分析代码 91.解码⽅法题目描述分析代码 声明 本篇博客为动态规的基础篇&#xff0c;从零开始学习动态规划&#xff0c;如有错误&#…

AGI 之 【Hugging Face】 的【问答系统】的 [评估并改进问答Pipeline] / [ 生成式问答 ] 的简单整理

AGI 之 【Hugging Face】 的【问答系统】的 [评估并改进问答Pipeline] / [ 生成式问答 ] 的简单整理 目录 AGI 之 【Hugging Face】 的【问答系统】的 [评估并改进问答Pipeline] / [ 生成式问答 ] 的简单整理 一、简单介绍 二、构建问答系统 三、评估并改进问答pipeline 1…

[k8s源码]4.informer

Informer 是 client-go 库中的一个核心组件,它提供了一种高效的方式来监视 Kubernetes 集群中资源的变化。Informer 通过 Watch 机制与 API Server 建立长连接&#xff0c;初次同步时会获取资源的完整列表&#xff0c;之后只接收增量更新,大大减少了网络流量。 使用informer可…

Java常用排序算法

算法复杂度 详解Java常用排序算法&#xff08;10种&#xff0c;含演示动画&#xff09; 冒泡排序&#xff08;Bubble Sort&#xff09; arr[0] 与 arr[1]比较&#xff0c;如果前面元素大就交换&#xff0c;如果后边元素大就不交换。然后依次arr[1]与arr[2]比较&#xff0c;第…

可视化工具选择指南:助力企业数字化转型和新质生产力发展

随着信息技术的快速发展和新质生产力概念的兴起&#xff0c;可视化工具在各个行业中的作用日益凸显。这些工具不仅能够帮助用户更直观地理解和分析数据&#xff0c;还能提升团队的协作效率和决策质量。 在当今数字化转型迅速发展的背景下&#xff0c;新质生产力的概念正在成为…

SpringBoot使用开发环境的application.properties

在Spring Boot项目中&#xff0c;application.properties 或 application.yml 文件是用于配置应用程序外部属性的重要文件。这些文件允许定制你的应用&#xff0c;而无需更改代码。根据不同的运行环境&#xff0c;可以通过创建以application-{profile}.properties格式命名的文件…