信息学奥赛初赛天天练-42-CSP-J2020基础题-变量地址、编译器、逻辑运算、逻辑与运算、逻辑或运算、冒泡排序、递归应用

PDF文档公众号回复关键字:20240702

在这里插入图片描述

2020 CSP-J 选择题

单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)

1.在内存储器中每个存储单元都被赋予一个唯一的序号,称为( )

A.地址

B.序号

C.下标

D.编号

2.编译器的主要功能是( )

A.将源程序翻译成机器指令代码

B.将源程序重新组合

C.将低级语言翻译成高级语言

D.将一种高级语言翻译成另一种高级语言

3.设 x=true, y=true, z=false,以下逻辑运算表达式值为真的是( )

A.(y∨z)∧x∧z

B. x∧(z∨y) ∧z

C. (x∧y) ∧z

D.(x∧y)∨(z∨x)

4.现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )

A.16MB

B.4MB

C.8MB

D.2MB

5.冒泡排序算法的伪代码如下:

对 n 个数用以上冒泡排序算法进行排序,最少需要比较多少次?( )

A.n^2

B.n-2

C.n-1

D.n

6.设A是介个实数的数组,考虑下面的递归算法:

请问算法XYZ的输出是什么?( )

A.A数组的平均

B.A数组的最小值

C.A数组的中值

D.A数组的最大值

2 相关知识点

1) 内存地址

变量

变量代表内存中具有特定属性的一个存储单元。它是一个地址和一个值的统称

内存地址

C语言地址,是指内存地址的概念。计算机内存中的各个存储单元都是有序的,按字节编码

每个字节有一个唯一的编码

变量地址

获取变量地址,使用&

示例

#include <iostream>
using namespace std;
int main(){
	int a=5;
	cout<<&a<<endl;
	float b=4.15;
	cout<<&b;		
}
/*
输出结果 
0x70fe1c
0x70fe18
*/

2) 编译器

编译器(Compiler)是一种计算机程序,其主要功能是将高级程序语言(如C、C++、Java等)编写的源代码转换为底层可执行的机器代码

3) 逻辑运算

逻辑与运算规则

进行逻辑与运算的两位都是逻辑1,则结果是1;否则,结果是0。

0 与 0 = 0
0 与 1 = 0
1 与 0 = 0
1 与 1 = 1

符号

and

示例

逻辑或运算规则
进行逻辑或运算的两位都是逻辑0,则结果是0;否则,结果是1。

0 或 0 = 0
0 或 1 = 1
1 或 0 = 1
1 或 1 = 1

符号

or

示例

4) 图像存储

分辨率

分辨率是衡量显示系统对细节的分辨能力的指标,它决定了图像的清晰度和质量。分辨率越高,图像中的细节越丰富,存储的像素越多,但同时文件大小也会增加

每个像素需要一点存储空间,一般可以使用8位,16位,32位二进制表示

存储空间=像素个数*位数,单位为bit

计算机存储大多是Byte

1Byte=8bit

5) 递归

递归是一种解决问题的方法,它通过将问题分解为更小的子问题来解决。

一个递归函数会在其定义中直接或间接地调用自身

递归通常包括两个部分:基本情况(Base case)和递归步骤(Recursive step)。

基本情况是指当问题规模变得足够小时,可以直接得到解决方案的情况。

6) 冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端

n个元素的冒泡排序,需要n趟完成,

每趟进行逐一两两比较,进行n-1次比较,把最大(最小)元素比较出来,交换到最后

3 思路分析

1.在内存储器中每个存储单元都被赋予一个唯一的序号,称为( A )

A.地址

B.序号

C.下标

D.编号

分析

C语言地址,是指内存地址的概念。计算机内存中的各个存储单元都是有序的,按字节编码

每个字节有一个唯一的编码,对应一个内存地址

2.编译器的主要功能是( A )

A.将源程序翻译成机器指令代码

B.将源程序重新组合

C.将低级语言翻译成高级语言

D.将一种高级语言翻译成另一种高级语言

分析

编译器(Compiler)是一种计算机程序,其主要功能是将高级程序语言(如C、C++、Java等)编写的源代码转换为底层可执行的机器代码

3.设 x=true, y=true, z=false,以下逻辑运算表达式值为真的是( D )

A.(y∨z)∧x∧z

B. x∧(z∨y) ∧z

C. (x∧y) ∧z

D.(x∧y)∨(z∨x)

分析

//∨按位或 ,∧按位与
x=true,y=true,z=false
A:
(y∨z)=(true∨false)=true
(y∨z)∧x=true∧true=true
(y∨z)∧x∧z=true∧false=false
B:
(z∨y) =false∨true=true
x∧(z∨y)=true∧true=true
x∧(z∨y)∧z=true∧false=false
C:
(x∧y)=(true∧true)=true
(x∧y) ∧z = true∧false=false
D:
(x∧y)=(true∧true)=true
(z∨x)=(false∨true)=true
(x∧y)∨(z∨x)=true∨true = true
所以选D

4.现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )

A.16MB

B.4MB

C.8MB

D.2MB

分析

分辨率2048*1024像素,每个像素32位,总共需要
2048*1024*32位存储,由于需要单位为字节,因此把位转换为字节
2048*1024*32/8
=2048*1024*4
=1024*1024*4*2
=8MB

5.冒泡排序算法的伪代码如下:

对 n 个数用以上冒泡排序算法进行排序,最少需要比较多少次?( )

A.n^2

B.n-2

C.n-1

D.n

分析

伪代码,一般需要看结构,看主要部分
有代码可以看出,冒泡排序的基本思路,进行n趟排序,每趟两两比较,找出最大的
在一趟中循环为1~k,每次循环通过FLAG-1对k进行赋值,然后FLAG赋值为1,如果前面一轮FLAG值不变则后面一轮循环从1~1不进行循环
考虑一种情况,如果顺序本身就是从小到大排好序的
第1轮排序为1~n-1次,顺序不需要交换,FLAG为1不被改变,则后续while FLAG > 1不满足,退出循环
所以只进行了n-1次循环,所以选C

6.设A是介个实数的数组,考虑下面的递归算法:

请问算法XYZ的输出是什么?( B )

A.A数组的平均

B.A数组的最小值

C.A数组的中值

D.A数组的最大值

分析

递归
取A[n]和A[1]...A[n-1]中最小的,其实从大看这个问题不容易看出
从小范围往大范围看
XYZ(A[1,2]) 比较A[2]和A[1]大小,并返回最小的
XYZ(A[1..3]) 比较A[3]和A[1,2]最小temp,并返回A[3]和temp最小的
XYZ(A[1..4]) 比较A[4]和A[1..3]最小temp,并返回A[4]和temp最小的
XYZ(A[1..n]) 比较A[n]和A[1..n-1]最小temp,并返回A[n]和temp最小的
可以看出返回的是A数组中最小的那个数
所以选B

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

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

相关文章

pandas数据分析(4)

修改DataFrame数据的最简单的方法是通过loc和iloc属性为某些元素赋值。 首先构造一组数据 通过标签或位置设置值 也可以一次修改多个值&#xff1a; 通过布尔索引设置数据 将所有来自China&#xff0c;或者年龄20以下的人名字设置为匿名&#xff1a; 通过替换值设置数据 如果…

粤港联动,北斗高质量国际化发展的重要机遇

今年是香港回归27周年&#xff0c;也是《粤港澳大湾区发展规划纲要》公布5周年&#xff0c;5年来各项政策、平台不断为粤港联动增添新动能。“十四五”时期的粤港澳大湾区&#xff0c;被国家赋予了更重大的使命&#xff0c;国家“十四五”《规划纲要》提出&#xff0c;以京津冀…

EEPROM内部原理

A2, A1, A0是EEPROM的地址引脚&#xff0c;用于设置设备地址。它们的作用如下&#xff1a; 设备寻址&#xff1a; 这三个引脚允许在I2C总线上唯一地标识EEPROM芯片。通过不同的连接方式&#xff08;接高、接低或悬空&#xff09;&#xff0c;可以为同一类型的EEPROM芯片设置不同…

[PyTorch]:加速Pytorch 模型训练的几种方法(几行代码),最快提升八倍(附实验记录)

本篇文章转自&#xff1a;Some Techniques To Make Your PyTorch Models Train (Much) Faster 本篇博文概述了在不影响 PyTorch 模型准确性的情况下提高其训练性能的技术。为此&#xff0c;将 PyTorch 模型包装在 LightningModule 中&#xff0c;并使用 Trainer 类来实现各种训…

Ubuntu开通5005端口 记录

Ubuntu版本&#xff1a;20.04 使用systemctl status firewalld查看防火墙状态&#xff0c;报错Unit firewalld.service could not be found 报错的原因是没有安装firewall&#xff0c;安装命令为sudo apt install firewalld&#xff0c;然后进行安装 安装完成后输入systemctl…

【日常记录】【JS】动态执行JS脚本

文章目录 1、第一种方式&#xff1a;eval2、第二种方式&#xff1a;setTimeout3、第三种方式&#xff1a;创建script 标签插入body4、第四种方式&#xff1a;创建 Function5、对比6、 参考链接 1、第一种方式&#xff1a;eval 语法 eval(string)参数 string&#xff1a;一个…

Windows编程上

Windows编程[上] 一、Windows API1.控制台大小设置1.1 GetStdHandle1.2 SetConsoleWindowInfo1.3 SetConsoleScreenBufferSize1.4 SetConsoleTitle1.5 封装为Innks 2.控制台字体设置以及光标调整2.1 GetConsoleCursorInfo2.2 SetConsoleCursorPosition2.3 GetCurrentConsoleFon…

DLS-42/5-5双位置继电器 DC220V 板后接线 约瑟JOSEF

DLS-40系列双位置继电器型号&#xff1a; DLS-41/10-2双位置继电器&#xff1b; DLS-41/9-3双位置继电器 DLS-41/8-4双位置继电器&#xff1b; DLS-41/6-6双位置继电器&#xff1b; DLS-42/9-1双位置继电器&#xff1b; DLS-42/8-2双位置继电器&#xff1b; DLS-42/7-3双位…

2024护网整体工作预案示例

目录 第1章 HW整体工作工作部署 1.1 工作组织架构 1.2 各部门工作职责 1.3 演练期间工作机制 1.3.1 工作汇报机制 1.3.2 应急响应机制 第2章 系统资产梳理整改 2.1 敏感信息梳理整改 2.2 互联网资产发现 2.3 第三方供应商梳理 2.4 业务连接单位梳理 第3…

【C++】main函数及返回值深度解析

一.main函数介绍 1.main函数怎么写 #include <iostream>int main() {// 程序的代码放在这里std::cout << "Hello, World!" << std::endl;return 0; }在这个例子中&#xff1a; #include <iostream> 是预处理指令&#xff0c;它告诉编译器…

入门Axure:快速掌握原型设计技能

2002 年&#xff0c;维克托和马丁在旧金山湾区的一家初创公司工作&#xff0c;发现自己一再被软件开发生命周期的限制所困扰&#xff0c;而且产品团队在编写规范之前很难评估他们的解决方案&#xff0c;开发人员经常不理解&#xff08;或不阅读&#xff09;给出的规范&#xff…

02.C1W1.Sentiment Analysis with Logistic Regression

目录 Supervised ML and Sentiment AnalysisSupervised ML (training)Sentiment analysis Vocabulary and Feature ExtractionVocabularyFeature extractionSparse representations and some of their issues Negative and Positive FrequenciesFeature extraction with freque…

前端人注意了!Nuxt 的服务器专用组件应该引起你的关注!!

大家好&#xff0c;我是CodeQi&#xff01; 前几天&#xff0c;我和同事们在讨论 Nuxt.js 的一些新特性时&#xff0c;突然发现一件有趣的事情&#xff1a;Nuxt 的服务器专用组件&#xff08;Server-only Components&#xff09;引起了大家的极大兴趣。 为了不显得太落伍&am…

【unity实战】使用旧输入系统Input Manager 写一个 2D 平台游戏玩家控制器——包括移动、跳跃、滑墙、蹬墙跳

最终效果 文章目录 最终效果素材下载人物环境 简单绘制环境角色移动跳跃视差和摄像机跟随效果奔跑动画切换跳跃动画&#xff0c;跳跃次数限制角色添加2d物理材质&#xff0c;防止角色粘在墙上如果角色移动时背景出现黑线条方法一方法二 墙壁滑行实现角色滑墙不可以通过移动离开…

MySQL——事务ACID原则、脏读、不可重复读、幻读

什么是事务 要么都成功&#xff0c;要么都失败 一一一一一一一 1. SQL执行&#xff1a;A给B转账 A 1000 ---->200 B 200 2. SQL执行&#xff1a;B收到A的钱 A 800 B 400 一一一一一一一 将一组SQL放在一个批次中去执行~ 事务原则&#xff1a;ACI…

SolidWorks教育版:丰富的教学资源

在当今日新月异的工程教育领域中&#xff0c;一款强大的教学工具对于提高学生的学习效果和创新能力至关重要。SolidWorks教育版凭借其丰富的教学资源&#xff0c;不仅满足了教师的教学需求&#xff0c;也为学生提供了一个全方面、深入的学习平台。本文将深入探讨SolidWorks教育…

[DataWhale大模型应用开发]学习笔记1-尝试搭建向量数据库

1.词向量 1.定义 词向量&#xff08;Word Vector&#xff09;是将单词表示为向量形式的技术&#xff0c;是自然语言处理&#xff08;NLP&#xff09;中的一种常用方法。通过将单词转化为向量&#xff0c;计算机能够更好地理解和处理语言。简单来说&#xff0c;词向量就是将单…

Cocos制作抖音小游戏接入侧边栏复访接口实例

本篇文章主要讲解&#xff0c;使用cocos接入抖音小游戏侧边栏接口的实例教程。 日期&#xff1a;2024年7月1日 作者&#xff1a;任聪聪 教程实例&#xff1a;https://download.csdn.net/download/hj960511/89509196 下载后可直接导入运行 上传游戏后抖音预审不通过 注意&#x…

win10下安装PLSQL14连接Oracle数据库

问题背景 在使用Oracle开发过程中&#xff0c;经常会使用工具来连接数据库&#xff0c;方便查询、处理数据。其中有很多工具可以使用&#xff0c;比如dbeaver、plsql等。本文主要介绍在win10环境下&#xff0c;plsql14的安装步骤以及安装过程中遇到的一些问题。 安装步骤及问题…

TensorRT学习(二)TensorRT使用教程(Python版)

本文适合快速了解TensorRT使用的整体流程,具体细节还是建议参考TensorRT的官方文档。 加速原理: 加速原理比较复杂,它将会根据显卡来优化算子,以起到加速作用(如下图所示)。简单的来说,就是类似于你出一个公式1+1+1,而你的显卡支持乘法,直接给你把这个公式优化成了1*…