400 Câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải chi tiết
Tổng hợp câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức đã ôn.
Chọn hình thức trắc nghiệm (50 câu/60 phút)
Chọn phần
-
Câu 1:
Class members are public by default.
A. TRUE
B. FALSE
-
Câu 2:
Friend functions have access only to public members of the class.
A. TRUE
B. FALSE
-
Câu 3:
A function designed as public can be accessible by non-members of a class.
A. TRUE
B. FALSE
-
Câu 4:
Friendship is commutative.
A. TRUE
B. FALSE
-
Câu 5:
New and delete are operators.
A. TRUE
B. FALSE
-
Câu 6:
We can implement generic classes using templates
A. TRUE
B. FALSE
-
Câu 7:
Using operator overloading we can invent new operators.
A. TRUE
B. FALSE
-
Câu 8:
Inheritance helps in making a general class into a more specific class.
A. TRUE
B. FALSE
-
Câu 9:
A base class is never used to create objects.
A. TRUE
B. FALSE
-
Câu 10:
Classes can be inherited privately.
A. TRUE
B. FALSE
-
Câu 11:
It Is legal to return local variables from a function which returns by reference.
A. TRUE
B. FALSE
-
Câu 12:
Constructors can be virtual like virtual destructors
A. TRUE
B. FALSE
-
Câu 13:
C++ is a pure object oriented programming language.
A. TRUE
B. FALSE
-
Câu 14:
In C++ one can define a function within another function.
A. TRUE
B. FALSE
-
Câu 15:
A class encapsulates the implementation and interface of a user-defined data type and constitutes an abstract data type.
A. TRUE
B. FALSE
-
Câu 16:
In c++ an identifier can begin with a $ sign.
A. TRUE
B. FALSE
-
Câu 17:
“My Variable” is a valid identifier in C++.
A. TRUE
B. FALSE
-
Câu 18:
In C++ one can get the memory addresses of variables and functions.
A. TRUE
B. FALSE
-
Câu 19:
%= is not a operator in C++
A. TRUE
B. FALSE
-
Câu 20:
std::cout is a standard input stream.
A. TRUE
B. FALSE
-
Câu 21:
Preprocessor #define macro and inline functions use the same mechanism.
A. TRUE
B. FALSE
-
Câu 22:
All C++ functions are recursive.
A. TRUE
B. FALSE
-
Câu 23:
The ‘break’ keyword is only used in the switch..case statement.
A. TRUE
B. FALSE
-
Câu 24:
The new operator returns the address and size of the memory block that it allocates.
A. TRUE
B. FALSE
-
Câu 25:
The heap storage is used for local objects.
A. TRUE
B. FALSE
-
Câu 26:
It is not necessary to initialize a reference to real object when it is declared.
A. TRUE
B. FALSE
-
Câu 27:
There can be a null reference.
A. TRUE
B. FALSE
-
Câu 28:
One can reassign reference after it is initialized.
A. TRUE
B. FALSE
-
Câu 29:
It is nothing wrong that a function returning a reference to an automatic variable.
A. TRUE
B. FALSE
-
Câu 30:
One can apply pointer arithmetic with reference variables.
A. TRUE
B. FALSE
-
Câu 31:
The preprocessor processes source code before the compiler does.
A. TRUE
B. FALSE
-
Câu 32:
A class is a basic unit of object-oriented programming.
A. TRUE
B. FALSE
-
Câu 33:
A function template defines a parameterized nonmember function, which enables a program to call the same function with different types of arguments.
A. TRUE
B. FALSE
-
Câu 34:
Destructors can be overloaded.
A. TRUE
B. FALSE
-
Câu 35:
Static data members cannot be private.
A. TRUE
B. FALSE
-
Câu 36:
Static member functions can use this pointer.
A. TRUE
B. FALSE
-
Câu 37:
One cannot use enumerations in a class.
A. TRUE
B. FALSE
-
Câu 38:
One cannot create an object of a virtual class.
A. TRUE
B. FALSE
-
Câu 39:
A class that builds a linked list should destroy the list in the class destructor.
A. TRUE
B. FALSE
-
Câu 40:
Once an exception has been thrown, it is not possible for the program to jump back to the throw point.
A. TRUE
B. FALSE
-
Câu 41:
In C++, only one catch block can handle all the exceptions.
A. TRUE
B. FALSE
-
Câu 42:
There can be only one catch block in a program.
A. TRUE
B. FALSE
-
Câu 43:
When an exception if throw, but not caught, the program ignores the error.
A. TRUE
B. FALSE
-
Câu 44:
A class object passed to a function template must overload any operators used on the class object by the template.
A. TRUE
B. FALSE
-
Câu 45:
In the function template definition it is not necessary to use each type parameter declared in the template prefix.
A. TRUE
B. FALSE
-
Câu 46:
It is possible to overload a function template and an ordinary (non-template) function.
A. TRUE
B. FALSE
-
Câu 47:
A class template may not be used as a base class.
A. TRUE
B. FALSE
-
Câu 48:
When declaring an iterator from the STL, the compiler automatically creates the right kind, depending upon the container it is used with.
A. TRUE
B. FALSE
-
Câu 49:
‘ios’ stream is derived from iostream.
A. TRUE
B. FALSE
-
Câu 50:
What is the output of the following code?
#include <iostream> using namespace std; int main() { int a = 20; int &n = a; n = a++; a = n++; cout << a << "," << n << endl; system("pause"); }
A. 20,21
B. 20,20
C. 21, 22
D. none of above