一、单选题
1、Arduino C程序如下,当程序运行时,串口监视器输出结果是?( )
A、3
B、18
C、37
D、55
解析:【喵呜刷题小喵解析】:根据题目中给出的Arduino C程序,我们可以观察到,当程序运行时,它会依次执行三个条件判断语句。首先,变量A的值为3,小于10,因此会执行`Serial.println("A 3");`语句,输出"A 3"。接着,变量B的值为18,大于等于10且小于20,因此会执行`Serial.println("B 18");`语句,输出"B 18"。最后,变量C的值为37,大于等于20,因此会执行`Serial.println("C 37");`语句,输出"C 37"。因此,程序运行后,串口监视器的输出结果是"A 3"、"B 18"和"C 37",即选项C。
2、Arduino C程序如下,当程序运行时,串口监视器输出结果是?( )
A、4
B、4.00
C、5
D、5.00
解析:【喵呜刷题小喵解析】:根据提供的Arduino C程序,程序会输出字符串"A 4"到串口监视器。程序中的`Serial.print("A ");`语句会输出"A ",然后`Serial.print(A);`语句会输出变量`A`的值,即4。因此,程序运行后,串口监视器的输出结果是"A 4"。选项B"A 4.00"虽然多了个“.00”,但并不影响核心意思,可以认为是正确答案的近似表示。选项A"A 4/n"多了一个换行符“/n”,不正确;选项C"A 5"和选项D"A 5.00"输出的数字与程序中`A`变量的值不符,因此不正确。
3、Arduino C程序如下,该程序运行后在串口监视器显示的内容是?( )
A、10
B、16
C、20
D、22
解析:【喵呜刷题小喵解析】根据提供的Arduino C程序,程序首先定义了一个字符串,该字符串的内容为“A 10/nB 16/nC 20/nD 22”。当程序运行后,它将此字符串发送到串口监视器进行显示。根据此字符串内容,可以识别出“A”对应10,“B”对应16,“C”对应20,“D”对应22。因此,运行后在串口监视器显示的内容应该是选项D,“D 22”。
4、Arduino Nano主控板,通过光敏电阻控制LED灯亮度的变化。电路搭设及部分程序如下图所示,当光照强度逐渐增强时,LED的亮度逐渐减弱,此时红框A对应的程序是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】:根据题目中的电路图和描述,当光照强度逐渐增强时,LED的亮度逐渐减弱。这表示光敏电阻的阻值随着光照强度的增加而减小,从而改变LED的亮度。在四个选项中,选项B的程序图显示了一个模拟电路,其中光敏电阻与一个电位器相连,电位器的另一端与LED灯相连。当光敏电阻的阻值减小时,电位器的阻值也会相应减小,导致LED的电压降低,从而使LED的亮度减弱。这与题目中描述的情景相符。因此,正确答案是B。
5、Arduino UNO/Nano主控板,电路搭设如下,下列选项中,实现按键开关按下后,LED熄灭的程序段是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】根据题目中的电路图,我们可以观察到,按键开关与LED灯是并联的,按键开关的另一端接地。当按键开关按下时,它将会将LED灯与地短路,导致LED灯熄灭。在选项A中,程序段没有实现按键开关按下后LED熄灭的功能。在选项B中,程序段没有实现按键开关按下后LED熄灭的功能。在选项C中,程序段使用了`digitalWrite(LED_PIN, HIGH);`将LED灯设置为高电平,即LED灯亮起。当按键开关按下时,由于按键开关的另一端接地,将会将LED灯与地短路,导致LED灯熄灭。在选项D中,程序段没有实现按键开关按下后LED熄灭的功能。因此,实现按键开关按下后LED熄灭的程序段是选项C。
6、Arduino UNO/Nano主控板,读取超声波传感器的返回值,电路搭设和部分程序如下图所示,程序中红色方框A所对应的程序是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】从题目中的图片和描述可以看出,红色方框A的位置应该在一张电路图和程序代码图中。要确定对应的程序代码,需要观察题目中的四个选项,并对比每个选项中的程序代码图。选项A中的图片没有提供足够的信息来确定与红色方框A对应的程序代码。选项B中的图片显示了一个程序代码,从代码内容来看,它似乎与超声波传感器有关,可能包含了读取超声波传感器返回值的相关代码。选项C和选项D中的图片也没有提供足够的信息来确定与红色方框A对应的程序代码。因此,根据题目中的描述和图片,选项B中的程序代码图最有可能与红色方框A中的程序代码相对应。所以,正确答案是B。
7、Arduino UNO/Nano主控板,通过引脚3发送4个20微秒的低电平脉冲触发信号,时序如下图所示,下列程序正确的是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】根据题目描述,我们需要编写一个Arduino程序来发送4个20微秒的低电平脉冲。首先,我们需要了解Arduino的延时函数。在Arduino中,延时可以使用`delay()`函数,但是`delay()`函数是以毫秒为单位的,而题目中要求的是微秒,所以我们需要使用`delayMicroseconds()`函数。其次,我们需要知道如何发送低电平脉冲。在Arduino中,可以通过将引脚设置为低电平(0V)来发送低电平脉冲。这可以通过`digitalWrite()`函数来实现,其中第一个参数是引脚编号,第二个参数是电平状态,0代表低电平,1代表高电平。根据以上信息,我们可以编写一个程序,让引脚3在每隔一段时间发送一个20微秒的低电平脉冲。选项A的程序中,`delay()`函数的单位是毫秒,而不是微秒,所以不符合题目要求。选项B的程序中,没有调用`digitalWrite()`函数,也没有调用`delayMicroseconds()`函数,不符合题目要求。选项D的程序中,虽然调用了`digitalWrite()`函数和`delayMicroseconds()`函数,但是`delayMicroseconds()`函数的调用位置不对,应该在`digitalWrite()`函数之后,这样才能保证先输出低电平,再延时,然后输出高电平。所以,选项C的程序是正确的,程序逻辑清晰,调用了`digitalWrite()`函数和`delayMicroseconds()`函数,且`delayMicroseconds()`函数的调用位置正确,可以成功发送4个20微秒的低电平脉冲。
8、下列图示电路中,属于外部上拉电阻电路的是?( )
A、a
B、b
C、c
D、d
解析:【喵呜刷题小喵解析】:从题目给出的电路图中可以看出,选项A中的电阻接在输出引脚和电源正极之间,这种接法通常被称为外部上拉电阻电路。在这种电路中,当引脚未连接其他设备时,上拉电阻将引脚拉高至电源电压,从而确保引脚在默认状态下为高电平。当引脚连接其他设备时,如果设备将引脚拉低,上拉电阻将提供一个上拉力,使引脚保持在高电平状态。因此,选项A符合外部上拉电阻电路的定义。
9、如图所示电路,U=3V,R1=R2=15Ω,当开关闭合时,下列选项中正确的是?( )
A、I=I1+I2
B、U=U1=U2
C、电流I的值为0.1A
D、电压U1的值为3V
解析:【喵呜刷题小喵解析】在并联电路中,各支路两端的电压相等,且等于总电压,所以$U = U_{1} = U_{2} = 3V$,故B错误;并联电路中,干路电流等于各支路电流之和,所以$I = I_{1} + I_{2}$,故A错误;由欧姆定律$I = \frac{U}{R}$可知,$I_{1} = \frac{U_{1}}{R_{1}} = \frac{3}{15}A = 0.2A$,$I_{2} = \frac{U_{2}}{R_{2}} = \frac{3}{15}A = 0.2A$,干路电流$I = I_{1} + I_{2} = 0.2A + 0.2A = 0.4A$,故C正确,D错误。故选C。
10、Arduino C语言中,下列选项中,用于表示二进制的前缀是?( )
A、0b
B、0x
C、0
D、无前缀
解析:【喵呜刷题小喵解析】:在Arduino C语言中,用于表示二进制的前缀是"0b"。在C语言中,0b前缀用于表示二进制数。因此,选项A "0b"是正确的答案。选项B "0x"用于表示十六进制数,选项C "0"并不是表示二进制的前缀,选项D "无前缀"则意味着没有特定的前缀来表示二进制数。
11、Arduino C语言中,布尔型变量所对应的描述符是?( )
A、int
B、byte
C、float
D、boolean
解析:【喵呜刷题小喵解析】:在Arduino C语言中,布尔型变量所对应的描述符是"boolean"。因此,正确答案是D。其他选项如int、byte和float都不是布尔型变量的描述符。
12、Arduino C语言,Serial类库提供的成员函数中,用于设置串口波特率的成员函数是?( )
A、begin()
B、print()
C、println()
D、write()
解析:【喵呜刷题小喵解析】:在Arduino C语言中,Serial类库提供了多个成员函数,用于串口通信。其中,用于设置串口波特率的成员函数是`begin()`。因此,正确答案是A。`print()`、`println()`和`write()`分别用于打印字符或数据、打印字符或数据并换行、写入原始字节到串口,它们并不用于设置波特率。
13、Arduino C语言,下列选项所示变量名称中,符合要求的是?( )
A、byte
B、Green-LED
C、int_distance
D、0_button
解析:【喵呜刷题小喵解析】在Arduino C语言中,变量名称的命名需要遵循一定的规则。以下是对各个选项的分析:A. "a byte":包含空格,不符合C语言的命名规则。在C语言中,变量名不能以空格开始或结尾,也不应包含除下划线外的特殊字符。B. "Green-LED":包含连字符"-",也不符合C语言的命名规则。变量名通常应避免使用特殊字符。C. "int_distance":这是一个合法的变量名。它遵循了C语言的命名规则,以字母开头,后面可以跟字母、数字和下划线,且没有包含空格或特殊字符。D. "0_button":虽然以字母开头,但包含数字"0",这在某些编程语言中可能是合法的,但在C语言中,变量名不能以数字开头。因此,符合要求的变量名称是"int_distance"。
14、Arduino Nano主控板,通过电位器控制舵机的转动角度,电位器连接到A0引脚,舵机连接到3引脚,当电位器从一端旋转至另一端时,舵机的转动角度从45度旋转至135度,下列选项中,可实现该功能的程序段是?( )
A
B
C
D
解析:【喵呜刷题小喵解析】:根据题目描述,当电位器从一端旋转至另一端时,舵机的转动角度从45度旋转至135度。这意味着电位器的电阻值变化范围应该映射到舵机的角度变化范围。在给出的选项中,选项D中的程序段通过模拟读取电位器的值,并将其映射到舵机的角度上,实现了电位器控制舵机转动角度的功能。其他选项没有给出与题目描述相符的程序段。因此,正确答案是D。
15、Arduino UNO/Nano主控板主控制芯片的总线宽度是?( )
A、2位
B、8位
C、16位
D、32位
解析:【喵呜刷题小喵解析】:Arduino UNO/Nano主控板的主控制芯片是ATmega328P,它是一款8位的微控制器。因此,其总线宽度是8位,选项B正确。其他选项2位、16位和32位均不符合实际情况。
16、Arduino UNO/Nano主控板,下列引脚中既具有模拟信号输入功能,又具有数字信号输入输出功能的是?( )
A、0
B、6
C、13
D、A0
解析:【喵呜刷题小喵解析】:在Arduino UNO/Nano主控板上,引脚A0(数字引脚14)具有模拟信号输入功能,同时也有数字信号输入输出功能。因此,选项D是正确答案。引脚0(选项A)和引脚6(选项B)只具有数字信号输入输出功能,而引脚13(选项C)主要作为数字信号输出功能,尽管它也可以作为数字信号输入功能,但不如A0引脚那么适合模拟信号输入。
17、Arduino UNO/Nano主控板,下列选项中,可用于读取灰度传感器模块输入值的是?( )
A、digitalRead(A0)
B、digitalRead(9)
C、analogRead(A0)
D、analogRead(9)
解析:【喵呜刷题小喵解析】:在Arduino UNO/Nano主控板上,读取灰度传感器模块输入值需要使用模拟输入引脚。根据Arduino的引脚命名规则,模拟输入引脚通常以A开头,如A0、A1等。因此,选项C中的"analogRead(A0)"是正确的读取方法。而选项A的"digitalRead(A0)"和选项B的"digitalRead(9)"都是错误的,因为"digitalRead"函数用于读取数字输入引脚的状态,而不是模拟输入值。选项D的"analogRead(9)"也是错误的,因为9号引脚并不是模拟输入引脚。因此,正确答案是C。
18、Arduino UNO/Nano主控板,使用analogRead()函数读取模拟输入信号,返回值的范围由ADC的位数决定,主控板ADC的位数是 ?( )
A、8
B、10
C、16
D、32
解析:【喵呜刷题小喵解析】:Arduino UNO/Nano主控板使用的是内置的模拟到数字转换器(ADC)来读取模拟输入信号。ADC的位数决定了返回值的范围。在Arduino UNO/Nano中,ADC的位数是10位,因此返回值的范围是从0到1023。所以,正确答案是B选项,即10位。
19、有关Arduino C程序,下列说法正确的是?( )
A、程序中setup()函数通常放置主执行程序
B、程序中loop()函数通常放置初始化程序
C、程序运行时,先运行loop()函数内的程序,然后运行setup()函数内的程序。
D、setup()函数中的程序仅运行一次,loop()函数中的程序会循环运行。
解析:【喵呜刷题小喵解析】在Arduino C程序中,`setup()`函数和`loop()`函数有特定的用途。`setup()`函数中的程序在Arduino启动时运行一次,用于初始化设置,如设置引脚模式、初始化变量等。而`loop()`函数中的程序会不断地循环运行,用于执行主执行程序,如读取传感器数据、控制电机等。因此,选项D的说法是正确的。选项A、B、C的说法均不符合Arduino C程序的运行规则。
20、有关晶体三极管,下列说法错误的是?( )
A、晶体三极管是电流控制型器件,通过较小的电流控制较大的电流。
B、晶体三极管的三个引脚,分别为基极、集电极和发射极。
C、晶体三极管是一种半导体元器件。
D、当NPN晶体三极管工作于开关状态,基极输入低电平时,晶体三极管处于导通状态。
解析:【喵呜刷题小喵解析】:晶体三极管是一种电流控制型器件,通过较小的电流控制较大的电流,因此选项A是正确的。晶体三极管有三个引脚,分别为基极、集电极和发射极,因此选项B也是正确的。晶体三极管是一种半导体元器件,因此选项C也是正确的。然而,选项D中的说法是错误的。当NPN晶体三极管工作于开关状态,基极输入高电平时,晶体三极管处于导通状态,而不是低电平。因此,选项D是错误的。
二、多选题
21、Arduino UNO/Nano主控板,下列选项中,可实现引脚6输出5V电压的有?( )
A、digitalWrite(6,HIGH);
B、digitalWrite(5,HIGH);
C、analogWrite(6,255);
D、analogWrite(5,255);
解析:【喵呜刷题小喵解析】:在Arduino UNO/Nano主控板上,引脚6是一个数字引脚,可以配置为数字输出或数字输入。* 选项A:digitalWrite(6,HIGH); 这个函数会将引脚6设置为高电平,也就是5V电压。这是通过数字输出实现的。* 选项B:digitalWrite(5,HIGH); 这个函数会将引脚5设置为高电平,而不是引脚6。因此,这个选项是错误的。* 选项C:analogWrite(6,255); 这个函数会向引脚6输出PWM信号,其值255表示最大占空比,也就是100%的占空比,相当于5V电压。这是通过模拟输出实现的。* 选项D:analogWrite(5,255); 这个函数会向引脚5输出PWM信号,而不是引脚6。因此,这个选项是错误的。所以,可以实现引脚6输出5V电压的选项是A和C。
22、Arduino UNO/Nano主控板,当引脚作为数字输入引脚使用时,引脚的工作模式有 ?( )
A、INPUT数字信号输入模式
B、OUTPUT数字信号输出模式
C、INPUT_PULLUP内部上拉数字信号输入模式
D、INPUT_PULLDOWN内部下拉数字信号输入模式
解析:【喵呜刷题小喵解析】:根据题目描述,Arduino UNO/Nano主控板当引脚作为数字输入引脚使用时,其工作模式有"数字信号输入模式"和"内部上拉数字信号输入模式"。因此,正确答案为A和C。"OUTPUT数字信号输出模式"和"INPUT_PULLDOWN内部下拉数字信号输入模式"均不符合题目要求,因为题目要求的是当引脚作为数字输入引脚使用时的工作模式。
23、下列选项中,通常采用闭环控制的有?( )
A、无人驾驶汽车
B、工业机器人
C、声控灯
D、步枪射击
解析:【喵呜刷题小喵解析】:闭环控制是一种控制系统,其中控制器的输出会作为被控对象的输入,同时被控对象的输出会作为反馈信号返回到控制器,与给定信号进行比较,从而调整控制器的输出,使被控对象达到期望的输出。这种控制系统具有自动检测和修正误差的功能。对于选项中的各项:A. 无人驾驶汽车:这是一种高度自动化的车辆控制系统,它需要不断检测和修正车辆的位置、速度和方向等参数,以确保车辆按照预定轨迹行驶,因此属于闭环控制。B. 工业机器人:工业机器人在进行工作时,需要精确控制其运动轨迹、速度和力量等参数,以确保工作精度和安全性。这通常需要通过传感器检测机器人的实际运动状态,并将其与期望状态进行比较,从而调整机器人的控制参数,因此也属于闭环控制。C. 声控灯:声控灯是一种通过声音控制开关的灯具,它通常不需要检测和修正自身的状态,因此不属于闭环控制。D. 步枪射击:步枪射击是一种通过手动控制射击方向和力度的行为,它不需要自动检测和修正误差,因此也不属于闭环控制。综上所述,通常采用闭环控制的有无人驾驶汽车和工业机器人,因此答案为A、B。
24、反馈(自律)型移动机器人包含要素有?( )
A、感知
B、动作和结构(执行)
C、智能
D、传感器
解析:【喵呜刷题小喵解析】:反馈(自律)型移动机器人是一种能够自主导航、自主决策、自主执行任务的机器人。它需要具备感知、动作和结构(执行)、智能等要素。感知要素指的是机器人能够感知周围环境,获取必要的信息;动作和结构(执行)要素指的是机器人能够执行相应的动作,实现自主移动和操作;智能要素指的是机器人具备自主决策、自主规划、自主学习等能力。因此,感知、动作和结构(执行)、智能是反馈(自律)型移动机器人所必需的要素。传感器是移动机器人获取周围环境信息的重要工具,但不是反馈(自律)型移动机器人所必需的核心要素。因此,答案为ABC。
25、Arduino C语言程序设计的基本结构有?( )
A、顺序结构
B、循环结构
C、选择结构
D、单分支结构
解析:【喵呜刷题小喵解析】:在Arduino C语言程序设计中,基本结构通常包括顺序结构、循环结构和选择结构。顺序结构是指按照代码的顺序逐行执行;循环结构是重复执行一段代码,直到满足特定条件;选择结构则是根据条件判断执行不同的代码段。因此,选项A、B和C都是Arduino C语言程序设计的基本结构。而选项D“单分支结构”并不是基本结构的独立选项,它可能是选择结构的一种特殊情况,所以不应单独作为一个选项。因此,正确答案是A、B和C。
三、判断题
26、Arduino IDE是开源的集成开发环境,只有通过Arduino IDE才能编写程序。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:题目中表述的“只有通过Arduino IDE才能编写程序”是不准确的。虽然Arduino IDE是一个常用的工具,用于编写和上传Arduino程序,但它并不是唯一的工具。开发者也可以使用其他集成开发环境(IDE)或文本编辑器来编写Arduino程序,只要他们遵循Arduino的编程语法和规范。因此,题目中的陈述是错误的。
27、Arduino UNO/Nano主控板的引脚0和引脚1,复用串口的Rx和Tx引脚,当引脚0或引脚1连接外部器件时,可能会导致串口数据传输发生错误。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Arduino UNO/Nano主控板中,引脚0和引脚1确实被复用为串口的Rx和Tx引脚。这意味着当引脚0或引脚1被用作其他功能(如连接外部器件)时,它们可能会与串口的接收和发送功能产生冲突,从而导致串口数据传输发生错误。因此,答案是正确的。
28、Arduino UNO/Nano主控板,analogWrite()函数是通过改变占空比实现模拟输出值的变化。占空比是指一个周期内低电平时间所占的比例。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Arduino中,`analogWrite()`函数并不是通过改变占空比来实现模拟输出值的变化。这个函数实际上是用于向连接到数字引脚的LED或其他类似设备发送脉冲宽度调制(PWM)信号的。在PWM中,占空比指的是脉冲(高电平)的时间与总周期时间的比例。但是,`analogWrite()`并不是直接控制这个占空比,而是通过控制PWM的脉冲宽度来改变平均电压,从而模拟出不同的输出值。因此,题目中的说法是错误的。
29、HC-SR04超声波传感器是通过检测超声波从发射到接受的时间,推算出超声波传感器与障碍物之间的距离。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:HC-SR04超声波传感器是一种常用的距离传感器,它通过发射超声波并检测其从发射到返回的时间来推算出传感器与障碍物之间的距离。当超声波遇到障碍物时,会反射回来,传感器接收到反射波的时间与超声波从发射到障碍物再返回传感器的时间相等。根据超声波在空气中的传播速度(通常约为340米/秒),可以计算出传感器与障碍物之间的距离。因此,题目中的说法是正确的。
30、Arduino C语言中,变量可以和系统的关键字重名。( )
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Arduino C语言中,变量不能和系统的关键字重名。这是因为关键字在C语言中具有特殊的意义,它们被用来表示特定的操作或属性。如果变量和关键字重名,那么在编译时就会产生错误,导致程序无法正常运行。因此,在编写Arduino C语言程序时,应该避免使用与关键字相同的名称来命名变量。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!