Basics of C++ - Objective Questions MCQs | 80 C++ MCQ (Multiple Choice Questions)
80+ C++ (MCQ) questions with qusetion and answers are available for placement test and job interview. MCQs book with answers covers basic concepts, analytical and practical assessment tests. These objective type questions include lots of code based examples for exam preparation students and C++ programmers preparing for various online tests .

Basics of C++ - Objective Questions and Answer {MCQs 1-40}
1. What is the correct value to return to the operating system upon the successful completion of a program?
A. -1
B. 1
C. 0
D. Programs do not return a value.
ANS. C. 0
2. What is the only function all C++ programs must contain?
A. start()
B. system()
C. main()
D. program()
ANS. C. main()
3. What punctuation is used to signal the beginning and end of code blocks?
A. { }
B. -> and -
C. BEGIN and END
D. ( and )
ANS. A. { }
4. What punctuation ends most lines of C++ code?
A. . (dot)
B. ; (semi-colon)
C. : (colon)
D. ' (single quote)
ANS. B. ;
5. Which of the following is a correct comment?
A. */ Comments */
B. ** Comment **
C. /* Comment */
D. { Comment }
ANS. C. /* Comment */
6. Which of the following is not a correct variable type?
A. float
B. real
C. int
D. double
ANS. B. real
7. Which of the following is the correct operator to compare two variables?
A. :=
B. =
C. equal
D. ==
ANS. D. ==
8. Which of the following is true?
A. 1
B. 66
C. .1
D. -1
E. All of the above
ANS. E. All of the above
9. Which of the following is the boolean operator for logical-and?
A. &
B. &&
C. |
D. |&
ANS. B. &&
10. Evaluate !(1 && !(0 || 1)).
A. True
B. False
C. Unevaluatable
D. Evaluatable
ANS. A. True
11. Identify the correct statement
a. Programmer can use comments to include short explanations within the source codeitself.
b. All lines beginning with two slash signs are considered comments.
c. Comments very important effect on the behaviour of the program
d. both
ANS. b. All lines beginning with two slash signs are considered comments.
12. The directives for the preprocessors begin with
a. Ampersand symbol (&
b. Two Slashes (//)
c. Number Sign (#)
d. Less than symbol (
ANS. c. Number Sign (#)
13. The file iostream includes
a. The declarations of the basic standard input-output library.
b. The streams of includes and outputs of program effect.
c. Both of these
d. None of these
ANS. a. The declarations of the basic standard input-output library.
14. There is a unique function in C++ program by where all C++ programs start their execution
a. Start()
b. Begin()
c. Main()
d. Output()
ANS. c. Main()
15. Every function in C++ are followed by
a. Parameters
b. Parenthesis
c. Curly braces
d. None of these
ANS. b. Parenthesis
16. Which of the following is false?
a. Cout represents the standard output stream in c++.
b. Cout is declared in the iostream standard file
c. Cout is declared within the std namespace
d. None of above
ANS. d. None of above
17. Every statement in C++ program should end with
a. A full stop (.)
b. A Comma (,)
c. A Semicolon (
d. A colon (
ANS. c. A semicolon
18. Which of the following statement is true about preprocessor directives?
a. These are lines read and processed by the preprocessor
b. They do not produce any code by themselves
c. These must be written on their own line
d. They end with a semicolon
ANS. d. They end with a semicolon
19. A block comment can be written by
a. Starting every line with double slashes (//)
b. Starting with /* and ending with */
c. Starting with //* and ending with *//
d. Starting with !- and ending with -!>
ANS. b. Starting with /* and ending with */
20. When writing comments you can
a. Use code and /* comment on the same line
b. Use code and // comments on the same line
c. Use code and //* comments on the same line
d. Use code and !- comments on the same line
ANS. b. Use code and // comments on the same line
21. A variable is/are
a. String that varies during program execution
b. A portion of memory to store a determined value
c. Those numbers that are frequently required in programs
d. None of these
ANS. b. A portion of memory to store a determined value
22. Which of the following cannot be used as identifiers?
a. Letters
b. Digits
c. Underscores
d. Spaces
ANS. d. Spaces
23. Which of the following identifiers is invalid?
a. papername
b. writername
c. typename
d. printname
ANS. c. Typename
24. Which of the following can not be used as valid identifier?
a. bitand
b. bittand
c. biand
d. band
ANS. a. Bitand
25 The difference between x and ‘x’ is
a. The first one refers to a variable whose identifier is x and the second one refers to the character
constant x
b. The first one is a character constant x and second one is the string literal x
c. Both are same
d. None of above
ANS. a. The first one refers to a variable whose identifier is x and the second one refers to the character constant x
26. Which of the following is not a valid escape code?
a. \t
b. \v
c. \f
d. \w
ANS. d. \w
27. Which of the following statement is true?
a. String Literals can extend to more than a single line of code by putting a backslash sign at the end of
each unfinished line.
b. You can also concatenate several string constants separating them by one or several blank spaces,
tabulators, newline or any other valid blank character
c. If we want the string literal to explicitly made of wide characters, we can precede the constant with
the L prefix
d. All of above
ANS. d. All of above
28. Regarding #difine which of the following statement is false?
a. It is not C++ statement but the directive for the preprocessor
b. This does not require a semicolon at the end of line
c. It is a C++ statement that declares a constant in C++
d. None of the above
ANS. c. It is a C++ statement that declares a constant in C++
29. Regarding following statement which of the statements is true?
a. Declares a variable pathwidth with 100 as its initial value
b. Declares a construction pathwidth with 100 as its initial value
c. Declares a constant pathwidth whose value will be 100
d. Constructs an integer type variable with pathwidth as identifier and 100 as value
ANS. c. Declares a constant pathwidth whose value will be 100
30. In an assignment statement
a. The lvalue must always be a variable
b. The rvalue might be a constant, a variable, an expression or any combination of these
c. The assignment always takes place from right to left and never the other way
d. All of above
ANS. d. All of above
31. In an assignment statement
a=b;
Which of the following statement is true?
a. The variable a and the variable b are equal.
b. The value of b is assigned to variable a but the later changes on variable b will not effect the value
of variable a
c. The value of b is assigned to variable a and the later changes on variable b will effect the value of
variable a
d. The value of variable a is assigned to variable b and the value of variable b is assigned to variable
ANS. b. The value of b is assigned to variable a but the later changes on variable b will not effect the value of variable a
32. All of the following are valid expressions in C++
a = 2 + (b = 5);
a = b = c = 5;
a = 11 % 3
a. True
b. False
ANS. a. True
33.To increase the value of c by one which of the following statement is wrong?
a. c++;
b. c = c + 1;
c. c + 1 => c;
d. c += 1
ANS. c. c + 1 => c;
34. When following piece of code is executed, what happens?
b = 3;
a = b++;
a. a contains 3 and b contains 4
b. a contains 4 and b contains 4
c. a contains 4 and b contains 3
d. a contains 3 and b contains 3
ANS. a. a contains 3 and b contains 4
35. The result of a Relational operation is always
a. either True or False
b. is less than or is more than
c. is equal or less or more
d. All of these
ANS. a. either True or False
36. Which of the following is not a valid relational operator?
a. ==
b. =>
c. >=
d. >=
ANS. b. =>
37. What is the final value of x when the code int x; for(x=0; x10; x++) {} is run?
A. 10
B. 9
C. 0
D. 1
ANS. A. 10
38. When does the code block following while(x100) execute?
A. When x is less than one hundred
B. When x is greater than one hundred
C. When x is equal to one hundred
D. While it wishes
ANS.A. When x is less than one hundred
39. Which is not a loop structure?
A. for
B. do while
C. while
D. repeat until
ANS. D. Repeat Until
40. HoBasics of C++ - Objective Questions and Answer {MCQs 1-40}w many times is a do while loop guaranteed to loop?
A. 0
B. Infinitely
C. 1
D. Variable
ANS. C. 1
Basics of C++ - Objective Questions and Answer {MCQs 41-80}
41. Streams are
a. Abstraction to perform input and output operations in sequential media
b. Abstraction to perform input and output operations in direct access media
c. Objects where a program can either insert or extract characters to and from it
d. Both a and c
ANS. d. Both a and c
42.Which of the following is known as insertion operator?
a. ^
b. v
c.
d. >>
ANS. c.
43. Regarding the use of new line character (/n) and endl manipulator with cout statement
a. Both ways are exactly same
b. Both are similar but endl additionally performs flushing of buffer
c. endl can’t be used with cout
d. \n can’t be used with cout
ANS. b. Both are similar but endl additionally performs flushing of buffer
44. Which of the following is output statement in C++?
a. print
b. write
c. cout
d. cin
ANS. d. c. Cout
45. Which of the following is input statement in C++?
a. cin
b. input
c. get
d. none of above
ANS. a. Cin
46. By default, the standard output device for C++ programs is
a. Printer
b. Monitor
c. Modem
d. Disk
ANS. b. Monitor
47. By default, the standard input device for C++ program is
a. Keyboard
b. Mouse
c. Scanner
d. None of these
ANS. a. Keyboard
48. Which of the following statement is true regarding cin statement?
a. cin statement must contain a variable preceded by >> operator
b. cin does not process the input until user presses RETURN key
c. you can use more than one datum input from user by using cin
d. all of above
ANS. d. All of above
49. Which of the following is extraction operator in C++?
a. ^
b. v
c.
d. >>
ANS. d. >>
50. When requesting multiple datum, user must separate each by using
a. a space
b. a tab character
c. a new line character
d. all of above
ANS. d. all of above
51. cin extraction stops execution as soon as it finds any blank space character
a. true
b. false
ANS. a. True
52. Observe the following statements and decide what do they do.
string mystring;
getline(cin, mystring);
a. reads a line of string from cin into mystring
b. reads a line of string from mystring into cin
c. cin can’t be used this way
d. none of above
ANS. a. Reads a line of string from cin into mystring
53. Regarding stringstream identify the invalid statement
a. stringstream is defined in the header file sstream>
b. It allows string based objects treated as stream
c. It is especially useful to convert strings to numerical values and vice versa.
d. None of above
ANS. d. None of above
54. Which of the header file must be included to use stringstream?
a. iostream>
b. string>
c. sstring>
d. sstream>
ANS. d. sstream>
55. Which of the following header file does not exist?
a. iostream>
b. string>
c. sstring>
d. sstream>
ANS. c. sstring>
56. If you use same variable for two getline statements
a. Both the inputs are stored in that variable
b. The second input overwrites the first one
c. The second input attempt fails since the variable already got its value
d. You can not use same variable for two getline statements
ANS b. The second input overwrites the first one
57. The “return 0;” statement in main function indicates
a. The program did nothing; completed 0 tasks
b. The program worked as expected without any errors during its execution
c. not to end the program yet.
d. None of above
ANS. b. The program worked as expected without any errors during its execution
58. Which of the following is not a reserve keyword in C++?
a. mutable
b. default
c. readable
d. volatile
ANS. c. readable
59. The size of following variable is not 4 bytes in 32 bit systems
a. int
b. long int
c. short int
d. float
ANS. c. short int
60. Identify the correct statement regarding scope of variables
a. Global variables are declared in a separate file and accessible from any program.
b. Local variables are declared inside a function and accessible within the function only.
c. Global variables are declared inside a function and accessible from anywhere in program.
d. Local variables are declared in the main body of the program and accessible only from functions.
ANS. b. Local variables are declared inside a function and accessible within the function on
61. Find out the error in following block of code.
If (x = 100)
Cout “x is 100”;
a. 100 should be enclosed in quotations
b. There is no semicolon at the end of first line
c. Equals to operator mistake
d. Variable x should not be inside quotation
ANS. c. Equals to operator mistake
62. Looping in a program means
a. Jumping to the specified branch of program
b. Repeat the specified lines of code
c. Both of above
d. None of above
ANS, b. Repeat the specified lines of code
63. The difference between while structure and do structure for looping is
a. In while statement the condition is tested at the end of first iteration
b. In do structure the condition is tested at the beginning of first iteration
c. The do structure decides whether to start the loop code or not whereas while statement decides
whether to repeat the code or not
d. In while structure condition is tested before executing statements inside loop whereas in do structure
condition is tested before repeating the statements inside loop
ANS. In while structure condition is tested before executing statements inside loop whereas in do structure condition is tested before repeating the statements inside loop
64. Which of the following is not a looping statement in C?
a. while
b. until
c. do
d. for
ANS. b. Until
65. Which of the following is not a jump statement in C++?
a. break
b. goto
c. exit
d. switch
ANS. d. Switch
67. Which of the following is selection statement in C++?
a. break
b. goto
c. exit
d. switch
ANS. d. Switch
67. The continue statement
a. resumes the program if it is hanged
b. resumes the program if it was break was applied
c. skips the rest of the loop in current iteration
d. all of above
ANS. c. skips the rest of the loop in current iteration
68. Consider the following two pieces of codes and choose the best answer
Code 1
switch (x) {
case 1
cout ”x is 1”;
break;
case 2
cout ”x is 2”;
break;
default
cout ”value of x unknown”;
}
Code 2
If (x==1){
Cout ”x is 1”;
}
Else if (x==2){
Cout “x is 2”;
}
Else{
Cout ”value of x unknown”;
}
a. Both of the above code fragments have the same behaviour
b. Both of the above code fragments produce different effects
c. The first code produces more results than second
d. The second code produces more results than first.
ANS. a. Both of the above code fragments have the same behaviour
69. Observe the following block of code and determine what happens when x=2?
switch (x){
case 1
case 2
case 3
cout "x is 3, so jumping to third branch";
goto thirdBranch;
default
cout"x is not within the range, so need to say Thank You!";
}
a. Program jumps to the end of switch statement since there is nothing to do for x=2
b. The code inside default will run since there is no task for x=2, so, default task is run
c. Will display x is 3, so jumping to third branch and jumps to thirdBranch.
d. None of above
ANS. C. Will display x is 3, so jumping to third branch and jumps to thirdBranch
70. Which of the following is false for switch statement in C++?
a. It uses labels instead of blocks
b. we need to put break statement at the end of the group of statement of a condition
c. we can put range for case such as case 1..3
d. None of above
ANS. c. we can put range for case such as case 1..3
71. The void specifier is used if a function does not have return type.
a. True
b. False
ANS. a. True
72. You must specify void in parameters if a function does not have any arguments.
a. True
b. False
ANS. b. False [ parameters can be empty without void too!]
73. Type specifier is optional when declaring a function
a. True
b. False
ANS. b. False
74. Study the following piece of code and choose the best answer
int x=5, y=3, z;
a=addition(x,y)
a. The function addition is called by passing the values
b. The function addition is called by passing reference
ANS. a. The function addition is called by passing the values
75. In case of arguments passed by values when calling a function such as z=addidion(x,y),
a. Any modifications to the variables x & y from inside the function will not have any effect outside
the function.
b. The variables x and y will be updated when any modification is done in the function
c. The variables x and y are passed to the function addition
d. None of above are valid.
ANS. a. Any modifications to the variables x & y from inside the function will not have any effect outside the function
76 If the type specifier of parameters of a function is followed by an ampersand (& , that function call is
a. pass by value
b. pass by reference
ANS. b. pass by reference
77. In case of pass by reference
a. The values of those variables are passed to the function so that it can manipulate them
b. The location of variable in memory is passed to the function so that it can use the same memory
area for its processing
c. The function declaration should contain ampersand (& in its type declaration
d. All of above
ANS. b. The location of variable in memory is passed to the function so that it can use the same memory area for its processing
78. Overloaded functions are
a. Very long functions that can hardly run
b. One function containing another one or more functions inside it.
c. Two or more functions with the same name but different number of parameters or type.
d. None of above
ANS. d. None of above
79. Functions can be declared with default values in parameters. We use default keyword to specify the value of such parameters.
a. True
b. False
ANS. b. False
80. Examine the following program and determine the output
#include iostream
using namespace std;
int operate (int a, int b)
{
return (a * b);
}
float operate (float a, float b)
{
return (a/b);
}
int main()
{
int x=5, y=2;
float n=5.0, m=2.0;
cout operate(x,y) "\t";
cout operate (n,m);
return 0;
}
a. 10.0 5.0
b. 5.0 2.5
c. 10.0 5
d. 10 2.5
ANS. d. 10 2.5