关注我了解更多少儿编程内容

一、单选题(共20题,共80分)
1.Arduino UNO/Nano主控板,处理器的数据存储器(RAM)容量是?
A.2KB
B.32KB
C.2MB
D.32MB
解析:正确答案是 A. 2KB。
Arduino UNO 和 Nano(基于 ATmega328P 微控制器)的 SRAM(静态随机存取存储器)容量均为 2KB。
为了方便对比,以下是这两款开发板的主要存储器规格:
| SRAM (数据存储器) | 2 KB |
2.Arduino C语言,下列选项中,数值最小的是?
A.0b100
B.0x100
C.0100
D.100
解析:这道题考的是进制的转化。在四级的考察中主要就是考察二进制、八进制、十进制和十六进制。二进制前缀是0b;八进制前缀是0;十六进制前缀是0x;十进制则没有前缀。所以这里可以全部转化为10进制。
0b100=0*2^0+0*2^1+1*2^2=0+0+4=4;
0x100=0*16^0+0*16^1+1*16^2=0+0+256=256;
0100=0*8^0+0*8^1+1*8^2=64;
所以最小的是0b100,答案为A;
3.通常情况下,下列选项中属于闭环控制的是?
A.舵机的转动控制
B.按键控制LED灯亮灭
C.呼吸灯
D.红外遥控LED灯
解析:正确答案为A。闭环控制:系统必须包含反馈环节,能将输出量检测出来并回传给控制器,与目标值进行比较,利用偏差来修正控制作用。
A. 舵机的转动控制:虽然 Arduino 主控板只是给舵机发送 PWM(脉宽调制)信号,属于“开环指令”,但舵机内部集成有角度传感器(电位器)和控制电路板。舵机内部会实时检测当前实际转角,并反馈给内部电路与目标角度进行比较,直到消除偏差。因此,舵机自身的转动控制过程属于典型的闭环控制。
B. 按键控制 LED 灯亮灭:按下去就亮/灭,没有检测亮度或状态的反馈。
C. 呼吸灯:程序按照固定的时间规律改变 PWM 占空比,只是“按剧本执行”,不检测实际物理亮度。
D. 红外遥控 LED 灯:接收到红外指令就执行开关动作,不检测 LED 的实际状态是否切换成功。
4.Arduino UNO/Nano主控板的MCU中,上传的程序保存在?
A.串口
B.闪存(Flash)
C.主存(RAM)
D.EEPROM
解析:程序保存在flash中。
5.Arduino C语言,Serial类库的成员函数中,进行波特率设置的是?
A.Serial.begin()
B.Serial.print()
C.Serial.println()
D.Serial.printOut()
解析:以上属于Serial类库的成员函数,用于进行波特率设置的是选项A。B选项是用于输出(不换行);C选项是用于输出(换行);D选项不属于Serial类库。
6.Arduino UNO/Nano主控板,函数analogRead(AO)返回值的范围是?
A.0~1
B.0~ 255
C.0~1023
D.0~ 4095
解析:analogRead()函数是属于模拟输入函数,模拟输入的值是0~1023.所以答案为C选项。其中A选项可以理解为数字输入(digitalRead);B选项为模拟输出(analogWrite);D选项0~4095:这是 12 位 ADC 的返回值范围,常见于 Arduino Due 或 ESP32 等更高性能的开发板,不适用于 UNO/Nano。
7.Arduino UNO/Nano主控板,使用函数analogRead(A1)读取返回值,当引脚A1输入的电压是2.5V时,函数的返回值可能是?()
A.0或1
B.511
C.1023
D.不确定
解析:这里也是输入模拟输入,当电压为0v时,读取的返回值为0;当电压为5V时,读取的返回值为1023.这里问的是当电压为2.5V时,则返回值为1~1023的中间值,则为511.所以答案为B选项。
8.ArduinoUNO/Nano主控板,控制马达转向的变化,通常情况下,应使用的函数是?
A. digitalWrite()
B.digitalRead()
C.analogWrite()
D. analogRead()
解析:马达转向为一个H型电路,每个电路的支点都有一个开关,通过打开或者闭合开关来控制马达的转向。所以这里使用的是数字输出(digitalWrite)函数。答案为A选项。
9.欧姆定律I=U/R,描述错误的是?()
A.导体的电流随着导体两端电压的增大而增大。
B.流经导体的电流增大时,导体两端的电压增大
C.导体的电阻随着电压的增大而增大
D.欧姆定律表示的是纯电阻电路中,电压、电流和电阻之间的关系
解析:此题考查的就是欧姆定律中,电流、电阻和电压三者之间的关系。A选项中说的是电流会随着电压的增大而增大是符合的;B选项说的是电流增大,电压也会增大,这也是对的,电流和电压成正比;C选项不对,电阻是固有的,不会随着电流或电压的增大而增大;D选项对的。所以答案为C选项
10.NPN三极管标识如下图,图中A、B、C对应的引脚分别是?

A.基极集电极发射极
B.集电极基极发射极
C.发射极基极集电极
D.集电极发射极基极
解析:答案为B选项。这道题就是考查的三极管每一个的对应。简单。
11.Arduino C语言中,描述符int表示的是?
A.整型
B.字符型
C.单精度浮点型
D.字节型
解析:此题考查的是属于对C语言中各个数据类型的表现形式。A选项为int;B选项为char;C选项为float;D选项为byte。所以答案为A选项。
12.Arduino C语言,下列选项所列变量名正确的是?
A. 0_button
B.case
C._int
D.Serial
解析:此题考查的是变量的合法性。变量是否合法:
1.只能由数字、字母和下划线组成;2.不能以数字开头;3.不能是关键字。
A选项以数字开头不符合;B选项和D选项都是属于关键字。所以答案为C选项。
13.Arduino C程序部分如下,当变量num的值为2时,该段程序运行后,串口监视器输出结果是?()
switch(num) {case 1:Serial.print(1);case 2:Serial.print(2);case 3:Serial.print(3);default:Serial.print(4);}
A.2
B.23
C.234
D.1234
解析:此题考查的是switch...case的用法,是一个多分支结构。一般来说switch...case会和break结合起来,如果没有break的情况下,满足其中一个条件之后,是不会跳出的,还会继续执行下去,所以这里当num为2时,满足了,但是没有break,所以后面还会继续,则会输出2,3,4。所以答案为C选项。
14.Arduino C程序部分如下,该段程序运行后,下列选项中,在串口监视器输出“B”所对应的条件是?()
if (score < 60)Serial.print ("D");else if (score < 75)Serial.print ("C");else if (score < 90)Serial.print ("B");elseSerial.print ("A");
A.score < 75
B.score<90
C.75< score <90
D.75<=score <90
解析:此题考查的也是代码理解题。是一个多分支结构。要求的是找出输出B所对应的条件。所以这里需要小于90的同时还需要大于等于75.所以答案为D。这道题很容易错,极大可能性去选择B。
15.ArduinoC程序部分如下,该段程序运行后,串口监视器输出结果是?
for (int i = 1; i < 10; i++) {if (i % 3)Serial.print ("*") ;elseSerial.println ("");
A.

B.

C.

D.

16.读取当前环境光数据,电路如下图所示,当analogRead(A0)的返回值减小时,光敏电阻上的光照强度变化是?

A.增强
B.减弱
C.不变
D.不确定
解析:这里可以看到的是光敏电阻是位于正极,此时返回值减小时,光敏电阻光照也减弱。
17.Arduino UNO/Nano主控板,通过按键开关切换高低电平,电路搭设如下,该电路是?()

A.外部上拉电阻电路
B.外部下拉电阻电路
C.内部上拉电阻电路
D.内部下拉电阻电路
解析:此电路中没有电阻,所以可以理解为内部上拉电阻。答案为C选项。
18.Arduino C程序如下,该段程序运行后,变量sum的值是?
int sum = 0;for (int i = 1; i <= 3; i++) {for (int j= 1;j<= i;j++){if ((i % 2) || (j % 2))sum += j;}}
A.5
B.6
C.8
D.12
解析:此题考查的是for循环的双嵌套。i能够取到的值有1,2,3;j是跟随着i变化。
当i=1时,j=1;此时为真,sum=1;
当i=2时,j=1,2;此时只有当j=1时才为真,sum=1+1;
当i=3时,j=1,2,3;此时都能为真,sum=1+1+1+2+3=8;
所以答案为C选项
19.ArduinoUNO/Nano主控板,电路搭设及部分程序如下,当实现按键开关按下后,LED熄灭时,程序块中A和B的值分别是?

A.HIGH/HIGH
B.HIGH/LOW
C.LOW/HIGH
D.LOW/LOW
解析:LED灯的连接为负极连接的端口,所以只有当为HIGH时才能熄灭。按键为下拉电阻,所以要执行时要为HIGH才会执行。所以都为HIGH,答案为A选项。
20.下列关于函数pulseln(pin,val)描述错误的是?()
A.该函数的功能是返回pin引脚的脉冲时长
B.参数val是读取脉冲的类型
C.返回值的单位是毫秒
D使用该函数读取超声波传感器echo引脚的高电平脉冲时长
解析:返回值为微妙,所以只有C选项是错的。
二、多选题(共5题,共10分)
21.Arduino UNO/Nano主控板,引脚A0具有的功能有?
A.数字信号输入
B.数字信号输出
C.模拟信号输入
D.模拟信号输出
解析:引脚A0具有的功能有数字输入或输出和模拟输入。所以答案为ABC选项
22.Arduino C程序中必须包含的函数有?()
A.setup()函数
B.loop()函数
C.digitalRead()函数
D.Serial.begin()函数
解析:必须包含的函数有AB选项。
23.Arduino UNO/Nano主控板,下列引脚中,具有数字信号读写及模拟信号输出功能的引脚有?()
A.3
B.5
C.A4
D.A5
解析:具有模拟信号输出的有3,5,6,9,10,11这6个引脚。所以答案为AB选项
24.关于光敏电阻,下列选项中描述正确的是?()
A.光敏电阻的阻值随着光照强度的增大而减小
B.光敏电阻的阻值随着光照强度的减小而增大
C.使用光敏电阻,读取环境光的返回值,通常需要串联一个分压电阻
D.光敏电阻的感光元件采用半导体材料制作而成
解析:以上都对。全选
25.Arduino C语言,下列选项中,属于逻辑运算符的有?
A. &&
B.||
C.==
D.!=
解析:逻辑运算符有三个:&&、||、!;关系运算符有:==、!=、<、>、<=、>=;所以答案为AB选项。
三、判断题(共5题,共10分)
26.Arduino起源于意大利,并以开源的方式进行推广(√)
27.Arduino UNO/Nano主控板有20个数字信号输入输出引脚。(√)
28.Arduino UNO/Nano主控板,函数pinMode()用于设置模拟引脚的工作模式。(×)
解析:pinMode()函数用于设置数字引脚的工作模式。
29.在串联电路中的电阻一般起到分流的作用。(×)
解析:在串联电路中,电阻主要起到 分压 的作用;而电阻起到 分流 作用的电路是 并联电路。串联分压,并联分流。
30.Arduino C语言中,do...while 语句属于循环结构。(√)
如果你觉得陈老师写的对你有帮助,可以点赞关注额。感谢大家的支持。

也可以添加陈老师的微信(rtc_100)。陈老师会为你解答疑惑。
夜雨聆风