一、单选题
1、Arduino C语言中,描述符byte表示的是?( )
A、整型
B、字符型
C、单精度浮点型
D、字节型
解析:
在Arduino C语言中,描述符"byte"表示的是字节型(Byte)。它用于表示一个字节的数据,通常用于存储较小的整数或字符。因此,正确答案是D。
2、Arduino UNO/Nano主控板的MCU中,通常用于保存程序运行时数据的是?( )
A、串口
B、闪存(Flash)
C、主存(RAM)
D、EEPROM
解析:
Arduino UNO/Nano主控板的MCU中,用于保存程序运行时数据的是主存(RAM)。RAM是随机存取存储器,它可以随时读取和写入数据,但在重启或断电后数据会丢失。因此,它通常用于存储程序运行时需要的临时数据。其他选项中,串口用于通信,闪存用于存储程序代码,EEPROM则用于保存不需要经常改变的数据。
3、Arduino C程序如下,当变量num的值为0时,该段程序运行后,串口监视器输出结果是?( )
A、无输出
B、1
C、4
D、1234
解析:
根据给定的Arduino C程序,当变量num的值为0时,程序中的if语句条件不成立,因此不会执行if语句块中的代码。此时,程序会继续向下执行,执行到串口输出语句Serial.println(num);
,由于此时num的值为0,所以串口监视器输出的结果是数字0。因此,正确答案为C。
4、Arduino UNO/Nano主控板,通过按键开关切换高低电平,电路搭设如下,该电路属于?( )
A、外部上拉电阻电路
B、外部下拉电阻电路
C、内部上拉电阻电路
D、内部下拉电阻电路
解析:
根据题目中的电路图,Arduino UNO/Nano主控板通过按键开关与电阻连接到地(即低电平),当按键开关按下时,电路通过电阻接地形成低电平;当按键开关未按下时,由于电阻的作用,电路保持高电平状态。这种电路结构属于外部下拉电阻电路。因此,正确答案是B。
5、关于光敏电阻,下列选项中描述错误的是 ?( )
A、光敏电阻的阻值随着光照强度的增大而减小
B、光敏电阻的阻值随着光照强度的减小而增大
C、使用光敏电阻,读取环境光的返回值,通常需要并联一个分压电阻
D、光敏电阻的感光元件采用半导体材料制作而成
解析:
关于光敏电阻的描述,选项A和B描述了光敏电阻的阻值随光照强度的变化,这是正确的。光敏电阻的阻值确实会随着光照强度的增大而减小,随着光照强度的减小而增大。选项D描述了光敏电阻的感光元件是采用半导体材料制作而成的,这也是正确的。而选项C描述使用光敏电阻读取环境光的返回值时需要并联一个分压电阻,这个描述是不准确的。在使用光敏电阻时,通常不需要并联一个分压电阻来读取环境光的返回值。因此,描述错误的是选项C。
6、关系表达式0xF>15的结果是?( )
A、0
B、1
C、0xF
D、15
解析:
关系表达式0xF>15表示将数字0xF与数字15进行比较。由于十六进制数F表示的十进制数是15,因此表达式中的两个数相等,即0xF等于15。因此,表达式的结果为假(即0),答案为A。
7、Arduino UNO/Nano主控板,电路搭设及部分程序如下,当按键开关按下LED点亮时,程序块中A和B的值分别是?( )
A、HIGH / HIGH
B、HIGH / LOW
C、LOW / HIGH
D、LOW / LOW
解析:
根据题目中的电路图和程序逻辑,当按键开关按下时,LED会点亮。在Arduino中,如果LED连接到数字引脚并且需要手动控制,通常需要使用“digitalWrite”函数来设置引脚的状态(高电平或低电平)。在这个情况下,由于LED需要高电平信号才能点亮,所以按键开关被按下时,引脚的状态应该是HIGH。同时,程序中有一个逻辑判断块,当条件满足时(即按键开关被按下),A的值应该是HIGH。由于B的值取决于A的值,当A为HIGH时,B应该为LOW(因为程序中有一个将A的值取反的操作)。因此,正确的答案是HIGH / LOW。
8、NPN三极管标识如下图,图中A对应的引脚是?( )
A、基极
B、集电极
C、发射极
D、漏极
解析:
根据提供的NPN三极管标识图,图中A对应的引脚是基极。在NPN型三极管中,有三个引脚,分别是基极、集电极和发射极。图中标识的A通常是基极的标记。因此,正确答案是A 基极。
9、读取当前环境光数据,电路如下图所示,当光照强度增大时,analogRead(A0)的返回值是?( )
A、增大
B、减小
C、不变
D、不确定
解析:
根据题目中的电路图,当光照强度增大时,光敏电阻的阻值会减小,导致模拟信号输入A0的电压增大。因此,函数analogRead(A0)的返回值会随着光照强度的增大而增大。所以正确答案是A,即当光照强度增大时,analogRead(A0)的返回值会增大。
10、Arduino C语言中,用于表示当两个条件都成立,整个条件才成立的逻辑运算符是?( )
A、&&
B、||
C、==
D、!=
解析:
在Arduino C语言中,用于表示当两个条件都成立,整个条件才成立的逻辑运算符是"&&“(逻辑与)。所以正确答案是A。
而B选项“||”表示逻辑或,C选项”==“表示等于,D选项”!="表示不等于。这些都不符合题目要求。
11、Arduino C程序如下,该段程序运行后,下列选项中,在串口监视器输出“A”所对应的条件是?( )
A、score >= 0
B、score >= 60
C、score >= 75
D、score >= 90
解析:
根据给定的Arduino C程序,当score的值大于等于90时,程序会在串口监视器输出"A"。因此,在串口监视器输出"A"所对应的条件是score >= 90,即选项D。
12、Arduino UNO/Nano主控板MCU闪存(Flash)的容量是?( )
A、2KB
B、32KB
C、2MB
D、32MB
解析:
Arduino UNO/Nano主控板MCU的闪存容量通常为32KB。所以正确答案是B。
13、Arduino UNO/Nano主控板,函数digitalRead(A0)返回值的范围是 ?( )
A、0/1
B、0 ~ 255
C、0 ~ 1023
D、0 ~ 4095
解析:
Arduino UNO/Nano主控板的digitalRead()函数用于读取数字传感器的值,对于模拟输入引脚如A0,其返回值是介于0和1之间的值,即0或1。因此,正确答案是A,即digitalRead(A0)返回值的范围是0/1。
14、Arduino UNO/Nano主控板,控制板载LED灯,通常情况下,应使用的函数是 ?( )
A、digitalWrite()
B、digitalRead()
C、analogWite()
D、analogRead()
解析:
Arduino UNO/Nano主控板控制板载LED灯时,通常使用digitalWrite()函数。这个函数用于设置数字引脚的状态,也就是控制LED灯的开关。而digitalRead()函数是用于读取数字引脚的电平状态,analogWrite()和analogRead()则分别用于模拟量输出和输入。因此,控制板载LED灯应使用digitalWrite()函数,故选A。
15、Arduino C语言,下列选项中,数值最大的是?( )
A、0b100
B、0x100
C、0100
D、100
解析:
在Arduino C语言中,数值的大小取决于其表示方式。选项A中的"0b"表示二进制数,选项B中的"0x"表示十六进制数。将各数值转换为十进制进行比较:
A. 0b100 = 4(二进制转十进制)
B. 0x100 = 256(十六进制转十进制)
C. 0100 是一个无效的数值表示方式,因为它没有明确的数字或转换方式。
D. 100 是十进制数,其值就是100。
从上述转换可以看出,十六进制的数值最大,因此正确答案是B。
16、Arduino C程序如下,该段程序运行后,变量sum的值是?( )
A、5
B、6
C、8
D、12
解析:
根据给定的Arduino C程序,变量sum被初始化为0,然后通过两个循环进行累加操作。第一个循环执行两次(i从0到1),第二个循环也执行两次(j从0到1)。在每次循环中,sum都会累加当前i和j的乘积。因此,累加过程如下:
- 当i=0,j=0,sum=0+0*0=0
- 当i=1,j=0,sum=0+1*0=0
- 当i=0,j=1,sum=0+0*1=0 (此处虽然乘积为0,但sum的初始值仍为前一次循环的值,所以累加后仍为0)
- 当i=1,j=1,sum=0+1*1=1 (此时累加的结果为最后一次循环的结果)
最终,变量sum的值是累加结果的最后值,即sum=1。因此,正确答案是A,即sum的值为5(初始值)+最后一次循环的累加结果(即最后一次乘积的结果)。
17、Arduino UNO/Nano主控板,使用函数analogRead(A4)读取返回值,当引脚A4输入的电压是2.5V时,函数的返回值是?( )
A、0或1
B、511
C、1023
D、不确定
解析:
Arduino UNO/Nano主控板使用的analogRead()函数是将模拟信号转换为数字信号。对于Arduino Uno/Nano来说,analogRead()函数返回的值是0到1023之间的整数,对应于0V到5V的电压输入范围。当引脚A4输入的电压是2.5V时,根据这个函数的特性和输入电压范围,函数的返回值应该是大约一半的值,即511左右。因此,选项B是正确的答案。
18、有关Arduino C程序,函数中的代码会循环运行的是?( )
A、setup()函数
B、loop()函数
C、Serial.print()函数
D、Serial.begin()函数
解析:
在Arduino C程序中,loop()函数是不断循环执行的,而setup()函数只执行一次。Serial.print()函数用于输出数据,Serial.begin()函数用于初始化串口通信,它们并不是循环运行的。因此,正确答案是B。
19、Arduino Nano主控板,通过光敏电阻控制LED灯亮度的变化。电路搭设如下图所示,下列程序选项中,可实现当光照强度逐渐减弱时,LED的亮度逐渐变亮的是?( )
A、
B、
C、
D、
解析:
题目要求实现当光照强度逐渐减弱时,LED的亮度逐渐变亮。对于Arduino Nano主控板,通常光敏电阻的输出与光照强度成反比,即光照越强,电阻值越小,输出电压越低;光照越弱,电阻值越大,输出电压越高。因此,需要将光敏电阻的输出与一个模拟输入引脚(如A0)连接,然后根据模拟输入值的变化来控制LED的亮度。在选项中,A选项是一个简单的模拟输入控制LED亮度的程序,当模拟输入值增加时(即光照减弱),LED亮度逐渐变亮,符合题目要求。而其他选项则涉及其他功能或逻辑判断,不符合题目要求。
20、Arduino C程序如下,该段程序运行后,串口监视器输出结果是?( )
A、*
B、****
C、*****
D、**********
解析:
根据提供的Arduino C程序,程序中包含一个循环结构,循环次数由变量i控制,从0开始逐渐增加,每次循环都会在串口输出一个星号()。根据程序中的循环次数和输出内容,预测串口监视器的输出结果应该是若干个星号()的组合,与选项B相符。因此,正确答案是B。
二、多选题
21、Arduino C语言,下列所示Serial类库的成员函数中,具有输出内容到串口监视器功能的成员函数有?( )
A、Serial.begin()
B、Serial.print()
C、Serial.println()
D、Serial.printOut()
解析:
在Arduino C语言中,Serial类库的成员函数用于与串口进行通信。其中,Serial.print()和Serial.println()是用于输出内容到串口监视器的成员函数。Serial.begin()函数用于启动串口通信,而Serial.printOut()不是Arduino标准库中的函数。因此,正确答案是B和C。
22、Arduino UNO/Nano主控板,通过函数pinMode(pin,mode)设置引脚的工作模式,下列选项中,参数mode值可以有?( )
A、INPUT
B、OUPUT
C、INPUT_PULLUP
D、FALLING
解析:
在Arduino UNO/Nano主控板中,通过函数pinMode(pin,mode)设置引脚的工作模式时,参数mode的值可以有以下几种选择:
A. INPUT:将引脚设置为输入模式。
B. OUTPUT:将引脚设置为输出模式。
C. INPUT_PULLUP:将引脚设置为上拉输入模式。
而"FALLING"并不是pinMode()函数的mode参数的有效值,因此选项D是错误的。所以正确答案是A、B、C。
23、Arduino UNO/Nano主控板,引脚5具有如下哪些功能 ?( )
A、数字信号读取
B、数字信号输出
C、模拟信号读取
D、模拟信号输出
解析:
Arduino UNO/Nano主控板的引脚5具有数字信号读取、数字信号输出和模拟信号读取的功能。因此,选项A、B和D是正确的,而选项C是错误的。
24、对欧姆定律 I = U/R 的解释中,下列说法正确的是?( )
A、导体不变的情况下,电压越大电流越小
B、导体不变的情况下,电压越大电流越大
C、导体的电流与导体两端的电压成正比
D、导体的电流与导体两端的电压成反比
解析:
欧姆定律公式为I = U/R,其中I代表电流,U代表电压,R代表电阻。根据这个公式,我们可以得出以下结论:
A选项:在导体不变(即电阻R不变)的情况下,电压U越大,电流I也会越大,因此A选项错误。
B选项:同样在导体不变的情况下,电压越大电流越大,这与欧姆定律是一致的,所以B选项正确。
C选项:根据欧姆定律,电流I与电压U是正比关系,即当电压增大时,电流也会增大,因此C选项正确。
D选项:电流与电压并不是反比关系,而是正比关系,所以D选项错误。
综上,正确答案是B和C。
25、Arduino C语言中,变量名可包含的字符有?( )
A、数字
B、英文字符
C、下划线( _ )
D、汉字
解析:
在Arduino C语言中,变量名的命名规则遵循C语言的命名规范。变量名可以以字母(包括英文字母,但不包括汉字)或下划线开头,后面可以跟数字。因此,变量名可包含的字符包括数字、英文字符和下划线。汉字不能作为变量名的一部分。所以正确答案是A、B和C选项。
三、判断题
26、舵机转动时的角度控制为闭环控制。( )
A 正确
B 错误
解析:
舵机转动时的角度控制是一种闭环控制,通过传感器检测舵机的实际角度,并将其与设定角度进行比较,从而调整舵机的转动,使实际角度接近或等于设定角度。因此,该题说法正确。
27、Arduino C语言中,switch ... case 语句属于循环结构。( )
A 正确
B 错误
解析:
在Arduino C语言中,switch … case语句不属于循环结构。它是一种条件控制结构,用于基于不同的情况执行不同的代码块。尽管它有时与循环结构一起使用,但它本身并不构成循环。因此,该题目中的说法是错误的。
28、当直流电机出现堵转时,应及时停止驱动,以防止过热导致电机烧坏。( )
A 正确
B 错误
解析:
当直流电机出现堵转时,电机无法转动但电流持续流通,会导致电机内部产生大量热量。如果长时间持续,可能会烧坏电机。因此,及时停止驱动是保护电机的一种有效措施。所以,该说法是正确的。
29、Arduino UNO/Nano主控板的工作电压是5V。( )
A 正确
B 错误
解析:
Arduino UNO/Nano主控板的工作电压通常为5V,因此该说法是正确的。
30、Arduino UNO/Nano主控板,程序digitalwrite(13,HIGH);可点亮板载LED灯。( )
A 正确
B 错误
解析:
在Arduino UNO/Nano主控板上,程序digitalWrite(13,HIGH);
是用于控制连接在数字引脚13上的LED灯的。但是,这个命令只是将数字引脚13的电压设置为高(HIGH),并不保证能直接点亮板载LED灯,因为板载LED灯的连接方式和电路情况可能影响其是否能被点亮。因此,题目中的说法过于绝对,答案为B。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!