Arduino Questions and Answers – Operators

This set of Arduino Multiple Choice Questions & Answers (MCQs) focuses on “Operators”.

1. What is the output of the following program if ‘a’ and ‘b’ are both supplied with 5V?

  1. int a=9;
  2. int b=10;
  3. void setup() {
  4.     Serial.begin(9600);
  5.     pinMode(a,INPUT);
  6.     pinMode(b,INPUT);
  7. }
  8. void loop() {
  9.     int x=digitalRead(a);
  10.     int y=digitalRead(b);
  11.     if(a!=b){
  12.         Serial.println(“Not Equal”);
  13.     }
  14.     else {
  15.         Serial.println(“Equal”);
  16.     }
  17. }

a) Equal
b) Not Equal
c) Runtime Error
d) Compilation Error
View Answer

Answer: a
Explanation: In the program above, we use a simple Boolean operator to demonstrate the “not equal to” operator. Since values of ‘x’ and ‘y’ are exactly 1 as stored by the Arduino, the ‘else’ case of the program runs and prints the output to the Serial Monitor.
advertisement
advertisement

2. What is the difference between ternary operators and unary operators?
a) Ternary Operators work with 1 operand while unary operators work with 3 operands
b) Ternary Operators work with 3 operands while unary operators work with 1 operand
c) Ternary Operators work with 2 operands while unary operators work with 3 operands
d) Ternary Operators work with 4 operands while unary operators work with 1 operand
View Answer

Answer: b
Explanation: The term “ternary” depicts three and the term “unary” depicts the term one. So therefore, ternary operators need 3 operands and unary operators use 1 operand.
Eg:-

  1. int a=10, b=20, c;
  2. c=(a<b)?a:b;

The above code will make c=10 since ‘a’ is lesser than ‘b’.

Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!
  1. a++;

The above code will increment the value of ‘a’ by 1.

advertisement

3. What will be the output of the following code?

advertisement
  1. void setup() {
  2.     Serial.begin(9600);
  3. }
  4. void loop() {
  5.     int a=92;
  6.     int b=101;
  7.     int c=a&b;
  8.     Serial.println(c);
  9. }

a) 100
b) 69
c) 68
d) 40
View Answer

Answer: c
Explanation: The above code uses the ‘&’ symbol to perform a bitwise AND operation on ‘a’ and ‘b’ which serve as the operands. It performs an AND operation on each bit starting from the most significant bit to the least significant bit. The resulting binary number is then converted to int and then printed on the serial monitor.

4. What is the output of the following code?

  1. void setup() {
  2.     Serial.begin(9600);
  3. }
  4. void loop() {
  5.     int *pointer;
  6.     int val=100;
  7.     pointer=&val;
  8.     Serial.println(*pointer);
  9. }

a) 100
b) 2e444ad233
c) cc10091a2
d) a99102123
View Answer

Answer: a
Explanation: The above code plays around with a feature called pointers. In line 5 we create a pointer to an integer datatype. Then in the next line we initialize a variable with a value. Then we store the address of that variable to the pointer. And finally, we access the value of the pointer using the “*” operator.

5. What is the name of the | operator?
a) Logical OR
b) Bitwise OR
c) Logical AND
d) Bitwise AND
View Answer

Answer: b
Explanation: The ‘|’ operator is used to perform a bitwise OR operation on any two numbers which serve as the operands. It performs an OR operation on each bit starting from the most significant bit to the least significant bit.

6. What is the name of the ~ operator?
a) Bitwise NOT
b) Logical NOT
c) Bitwise SHIFT
d) Pointer Address
View Answer

Answer: a
Explanation: The ~ operator is used to perform a bitwise NOT operation on any two numbers which serve as the operands. It performs a NOT operation on each bit starting from the most significant bit to the least significant bit.

7. What is the name of the ^ operator?
a) Bitwise XNOR
b) Bitwise NAND
c) Bitwise XOR
d) Bitwise AND
View Answer

Answer: c
Explanation: The ^ operator is used to perform a bitwise XOR operation on any two numbers which serve as the operands. It performs an XOR operation on each bit starting from the most significant bit to the least significant bit.

8. What is the purpose of the << operator?
a) Bitwise AND
b) Bitwise Right Shift
c) Bitwise Left Shift
d) Bitwise OR
View Answer

Answer: c
Explanation: The << operator takes two numbers as operands. Then it shifts the bits of the first operand by the value present in the second operand from right to left. The second operand however has to be a number less than 32 only. Otherwise the operation will not work.

9. Is there a difference between the = and the == operators?
a) Yes
b) No
View Answer

Answer: a
Explanation: Yes, there is a difference between those two operators. The = operator signifies any assignment of values to some variable or data storage, while the == operator is a comparison operator which checks the equality of the operands it works with.

10. How many operands does the >= operator require?
a) 1
b) 2
c) 3
d) 4
View Answer

Answer: b
Explanation: The >= operator is a binary operator and it requires only 2 operands. The operator takes the two operands as input which should be 2 numbers and then it outputs a Boolean True or a False depending upon whether the operand 1 is greater than or equal to operand 2.

Sanfoundry Global Education & Learning Series – Arduino.

To practice all areas of Arduino, here is complete set of 1000+ Multiple Choice Questions and Answers.

If you find a mistake in question / option / answer, kindly take a screenshot and email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.