C++ Programming MCQ – Operators

This section on C++ language interview questions and answers focuses on “Operators”. One shall practice these interview questions to improve their C++ programming skills needed for various interviews (campus interviews, walk-in interviews, company interviews), placements, entrance exams and other competitive exams. These questions can be attempted by anyone focusing on learning C++ programming language. They can be a beginner, fresher, engineering graduate or an experienced IT professional. Our C++ language interview questions come with the detailed explanation of the answers which helps in better understanding of C++ concepts.

Here is a listing of C++ language interview questions on “Operators” along with answers, explanations and/or solutions:

1. Which operator is having the right to left associativity in the following?
a) Array subscripting
b) Function call
c) Addition and subtraction
d) Type cast
View Answer

Answer: d
Explanation: There are many rights to left associativity operators in C++, which means they are evaluation is done from right to left. Type Cast is one of them. Here is a link of the associativity of operators: https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/cpp/cpp-built-in-operators-precedence-and-associativity.md

2. Which operator is having the highest precedence?
a) postfix
b) unary
c) shift
d) equality
View Answer

Answer: a
Explanation: The operator which is having the highest precedence is postfix and lowest is equality.

3. What is this operator called ?:?
a) conditional
b) relational
c) casting operator
d) unrelational
View Answer

Answer: a
Explanation: In this operator, if the condition is true means, it will return the first operator, otherwise second operator.
advertisement
advertisement

4. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     int main()
  4.     {
  5.         int a;
  6.         a = 5 + 3 * 5;
  7.         cout << a;
  8.         return 0;
  9.     }

a) 35
b) 20
c) 25
d) 30
View Answer

Answer: b
Explanation: Because the * operator is having highest precedence, So it is executed first and then the + operator will be executed.
Output:

$ g++ op1.cpp
$ a.out
20

advertisement

5. What is the use of dynamic_cast operator?
a) it converts virtual base class to derived class
b) it converts the virtual base object to derived objects
c) it will convert the operator based on precedence
d) it converts the virtual base object to derived class
View Answer

Answer: a
Explanation: Because the dynamic_cast operator is used to convert from base class to derived class.
advertisement

6. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     int main()
  4.     {
  5.         int a = 5, b = 6, c, d;
  6.         c = a, b;
  7.         d = (a, b);
  8.         cout << c << ' ' << d;
  9.         return 0;
  10.     }

a) 5  6
b) 6  5
c) 6  7
d) 6  8
View Answer

Answer: a
Explanation: It is a separator here. In C, the value a is stored in c and in d the value b is stored in d because of the bracket.
Output:

$ g++ op3.cpp
$ a.out
5    6

7. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     int main()
  4.     {
  5.         int i, j;
  6.         j = 10;
  7.         i = (j++, j + 100, 999 + j);
  8.         cout << i;
  9.         return 0;
  10.     }

a) 1000
b) 11
c) 1010
d) 1001
View Answer

Answer: c
Explanation: j starts with the value 10. j is then incremented to 11. Next, j is added to 100. Finally, j (still containing 11) is added to 999 which yields the result 1010.
Output:

$ g++ op2.cpp
$ a.out
1010

8. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     int main ()
  4.     {
  5.         int x, y;
  6.         x = 5;
  7.         y = ++x * ++x;
  8.         cout << x << y;
  9.         x = 5;
  10.         y = x++ * ++x;
  11.         cout << x << y;
  12.         return 0;
  13.     }

a) 749735
b) 736749
c) 367497
d) 367597
View Answer

Answer: a
Explanation: Because of the precedence the pre-increment and post increment operator, we got the output as 749736.
Output:

$ g++ op.cpp
$ a.out
749735

9. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     int main()
  4.     {
  5.         int a = 5, b = 6, c;
  6.         c = (a > b) ? a : b;
  7.         cout << c;
  8.         return 0;
  9.     }

a) 6
b) 5
c) 4
d) 7
View Answer

Answer: a
Explanation: Here the condition is false on conditional operator, so the b value is assigned to c.
Output:

$ g++ op1.cpp
$ a.out
6

10. What will be the output of the following C++ code?

  1.     #include <iostream>
  2.     using namespace std;
  3.     main()
  4.     {
  5.         double a = 21.09399;
  6.         float b = 10.20;
  7.         int c ,d;
  8.         c = (int) a;
  9.         d = (int) b;
  10.         cout << c <<' '<< d;
  11.         return 0;
  12.     }

a) 20 10
b) 10 21
c) 21 10
d) 10 20
View Answer

Answer: c
Explanation: In this program, we are casting the operator to integer, So it is printing as 21 and 10.
Output:

$ g++ op5.cpp
$ a.out
21	10

More Operators MCQ in C++ Programming:

Sanfoundry Global Education & Learning Series – C++ Programming Language.

To practice all areas of C++ language, 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.