lOMoARcPSD| 58490434
Câu 1:Khi đa năng hóa toán t nhp (trích dòng) cho lp SP ta khai báo dòng
tiêu đề như sau:
A. friend istream & operator >>(istream & istr, SP &a);
B. friend void istream & operator >>(istream & istr, SP
&a);
C. friend istream & operator >>(istream istr, SP
&a); D. friend istream & operator >>(istream &
istr, SP a); u 2: Lập trình hướng đối tượng là gì?
A. Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các đối tượng,
nó không cho phép d liu chuyn động mt cách t do trong h thng; d
liệu được gn vi các hàm thành phn
B. Lập trình hướng đối tượng là phương pháp lập trình cơ bản gn vi mã máy
C. Lập trình hướng đối tượng là phương pháp mới ca lp trình máy tính, chia
chương trình thành các hàm; quan tâm đến chức năng của h thng
D. Lập trình hướng đối tượng là phương pháp đặt trng tâm vào các chức năng,
cấu trúc chương trình được xây dng theo cách tiếp cn hướng chức năng
Câu 3: Đặc điểm cơ bản ca lập trình hướng đối tượng th hin
A. Tính đóng gói, tính kế thừa, tính đa hình, tính đặc bit hóa
B. Tính đóng gói, tính kế thừa, tính đa hình, tính trừu tượng
C. Tính chia nh, tính kế tha
D. Tính đóng gói, tính trừu tượng
Câu 4: OOP là viết tt ca:
A. Object Oriented Programming
B. Object Open Programming
C. Open Object Programming
D. Object Oriented Proccessing
lOMoARcPSD| 58490434
Câu 5: Chọn câu đúng về thành phn public ca lp:
A. Tại chương trình chính chỉ có th truy cập đến thành phn public ca lp
B. Tại chương trình chính chỉ có th truy cập đến thành phn private ca lp
C. Tại chương trình chính có thể truy cập đến bt kì thành phn nào ca lp
D. Tại chương trình chính không thể truy cập đến thành phn nào ca lp
Câu 6:Cho đoạn chương trình sau:
A. Li ti dòng obj1.x=10;
B. Li ti dòng obj2.y=8;
C. Li ti dòng A.obj1;
D. Li ti dòng int x;
Câu 7: Cho đoạn chương trình sau:
lOMoARcPSD| 58490434
A. Chưa khai báo x
B. Không th truy cp vào thành phn private ca lp
C. Không xác định được giá tr x
D. Phi gi thông quan tên lớp không được gọi thông qua tên đối tượng
Câu 8: Khi khai báo lp trong các ngôn ng lập trình hướng đối tượng phi s
dng t khóa:
A. Object.
B. Record
C. File
D. Class
Câu 9: Thành phn private ca lp là thành phn:
A. Không cho phép truy xut t bên ngoài ca lp ch có các phương thức bên
trong lp mi có th truy xuất được
lOMoARcPSD| 58490434
B. Không cho phép truy xut tn ngoài ca lớp nhưng cho phép lớp kế tha
truy xut ti
C. Cho phép truy xut t bên ngoài lp
D. Cho phép truy xut t bên ngoài lp và cho phép kế tha
Câu 10:Hàm hu trong ngôn ng C++ có cú pháp:
A. ~Tên_lp{ //ni dung}
B. Destructor Tên_hàm {//nôi dung}
C. Tên_lp{//ni dung}
D. Done {//ni dung}
Câu 11: Cho đoạn chương trình sau: class
A{ private: int x,y; public:
A(int x=0,int y=0); void
xuat();
~A();
};
A(int x=0,int y=0); được gi là:
A. Hàm to
B. Hàm hu
C. Hàm bn
D. Hàm thông thường
Câu 12: Cho đoạn chương trình: class A
{
private:
int x,y; };
Làm nhim v:
A. Khai báo A là mt lp vi hai thành phn thuc tính là x, y kiu s nguyên
B. Khai báo A là một đối tượng vi hai thành phn thuc tính x, y kiu integer
C. Đoạn chương trình trên bị li
lOMoARcPSD| 58490434
D. Khai báo lp A vi hai thành phn thuc tính x,y kiu s nguyên cho phép
truy cp tn ngoài lp
Câu 13: Xây dng lớp Time trong java như hình trên, phương thc là:
A. Phương thức khi to ca lp Time
B. Phương thức nhp d liu cho lp Time
C. Phương thức kim tra thi gian ca lp Time
Câu 14:Xây dng lớp Time trong java như hình trên, phương thức khi to
public Time() làm nhim v:
lOMoARcPSD| 58490434
A. Gi tới hàm setTime để thiết lp giá tr khi to cho gi, phút, giây
B. Gi tới hàm setTime để hy b toàn b d liu thuc tính ca lp hour
C. Khi to giá tr ban đầu cho d liu ca lp
Câu 15: Cho đoạn chương trình trên, câu nhận định đúng cho đoạn chương trình
trên là:
lOMoARcPSD| 58490434
A. DisplayData() không th đưc khai báo vi t khóa private
B. DisplayData() không th truy cp vào j
C. ShowData() không th truy cp vào i
D. Đoạn chương trình không lỗi
Câu 16: Khi khai báo dùng toán t nhp (trích dòng) cho lp SP ta khai báo
dòng tiêu đề như sau:
A. friend istream & operator >>(istream & istr, SP &a);
B. friend void istream & operator >>(istream & istr, SP &a);
C. friend istream & operator >>(istream istr, SP &a);
D. friend istream & operator >>(istream & istr, SP a);Câu 17: Hàm fabs() trong
đon sau có tác dng gì?
ostream&operator<<(ostream &xuat, SoPhuc a)
{
if(a.pa>=0)
xuat<<a.pt<<"+j"<<a.pa<<
endl;
else xuat<<a.pt<<"-
j"<<fabs(a.pa)<<endl;
lOMoARcPSD| 58490434
return xuat;
}
A. Tr v tr tuyệt đối ca a.pa
B. Đặt c cho a.pa
C. Định dng s phc
D. Tr v phn o ca s phc
Câu 18: Đoạn lnh sau sai ch nào?
int DTB(double a, double b)
{
return (a+b)/2;
}
A. Giá tr tr v
B. Tham s trong hàm
C. Thiếu lnh
D. Không sai.
Câu 19: Đoạn lnh sau th hiện tính năng gì của hàm??
double DTB(double a, double b)
{
return (a+b)/2;
}
double DTB(double a, double b,double c)
{
return (a+b+c)/3;
}
A. Np chng hàm
B. Np chng toán t
C. Hàm to
D. Hàm khi to
Câu 20: Cho đoạn lnh sau:
double DTB(double a, double b)
{ return (a-b)/2;
}
double DTB(double a, double b,double c)
lOMoARcPSD| 58490434
{ return (a+b-c)/3;
}
Nếu trong hàm main gi hàm DTB(5,3,4) thì kết qu ra bao nhiêu??
A. 4/3
B. 1
C. 3
D. Không ra kết qusai
Câu 21: Định nghĩa toán tử xuất (<<) sau đây đúng hay sai:
friend ostream& operator<<(ostream xuat,
SoPhuc a);
A. Đúng
B. Sai
Câu 22: Đoạn lnh sau sai dòng nào?
1. istream& operator>>(istream &nhap, SoPhuc &a)
{
//pt la phan thuc, pa la phan ao cua so phuc
a. cout<<"Nhap phan thuc:";
b. nhap>>a.pt;
c. cout<<"Nhap phan ao:";
d. nhap>>pa;
e. return nhap;
}
A. 1
B. a
C. d
D. Không sai
Câu 23: Kết qu in ra của đoạn mã sau là gì? (Nếu nó được gn trong mt
chương trình hoàn chỉnh).
For(int count=1;count<5;count++)
Cout<<(2*count)<<” “;
A. 2 4 6 8
B. 1 2 3 4 5
C. 1234
D. 123456
Câu 24: Một định nghĩa cho mt hàm có th xut hin bên trong thân của định
nghĩa hàm khác hay không?
lOMoARcPSD| 58490434
A. Không được
B. Đưc
Câu 25: Viết 1 định nghĩa hàm void cho một hàm có tên A, hàm này có 2 tham
s (x và y), c 2 đều là các biến có kiu int và hàm này thiết lp giá tr c 2 biến
bng 0
A. void A(int &x,int &y)
{
x=0;
y=0;
}
B. void A(int &x int &y)
{
x=0
y=0; }
C. void A(int &x,int y)
{
X=0;
Y=0;
}
D. void A(int x,int &y)
{
X=0;
Y=0;
}
Câu 26: Gi s rng bạn có hai định nghĩa hàm với các khai báo sau đây:
double score (double time, double
distance); int score(double points);
Định nghĩa hàm nào sẽ đưc s dng trong li gi hàm sau
double
昀椀
nalScore=score(x);
A. double score (double time, double distance)
B. int score(double points)
C. Không có, vì li gi hàm sai
Câu 27: Gi s rng bạn có 2 định nghĩa hàm với các khai báo sau đây:
double A(double x, double y);
double A(int z, int yt);
lOMoARcPSD| 58490434
Định nghĩa hàm nào sẽ đưc s dng trong li gi hàm sau:
X=A(y, 6.0);
A. Double A(double x, double y)
B. Double A(int z, int yt)
C. Không có, vì lnh gi hàm sai
Câu 28: Định nghĩa cấu trúc dưới đây có lỗi gì?
struct stuff
{
Int b;
Int
c; }
Int main()
{ stuff x;
//phn mã khác
}
A. Thiếu ; ti phn kết thúc định nghĩa stuff
B. Thiếu ; sau main()
C. Thiếu ; sau struct stuff
D. Không có li
Câu 29: Viết mt định nghĩa cho kiểu cấu trúc dùng để ghi mức lương ca mt
ngưi, tng s ngày ngh việc tích lũy, và trạng thái của người đó (nhận lương
theo tun hay nhận lương theo giờ).Biu din trng thái là mt trong hai kí t
“H” hoặc “S”. Đặt tên cho kiu này là LuuCongNhan.
A. struct LuuCongNhan
{
double
mucluong; int
ngaynghi; char
status;
};
B. struct LuuCongNhan
{
double mucluong;
int ngaynghi; char
status “H” or “S”
};
lOMoARcPSD| 58490434
C. struct LuuCongNhan
{
double mucluong;
int ngaynghi;
double status;
};
D. void struct LuuCongNhan
{
double
mucluong; int
ngaynghi; char
status;
};
Câu 30: Điểm khác nhau gia mt toán t (hai ngôi) và mt hàm là gì?
A. Đim khác nhau gia toán t (hai ngôi chng hạn như +, -, *, /) và mt
hàm chính là pháp gi chúng. Trong mt li gọi hàm thì đối s nm
trong cp ngoặc đơn sau tên hàm. Với mt toán t thì đối s được đặt
trước và sau toán t. Bạn cũng s dng t khóa operator trong phn khai
báo và trong phần định nghĩa của toán t đưc np chng.
B. Đim khác nhau gia toán t (hai ngôi chng hạn như +, -, *, /) và mt
hàm chính là pháp gi chúng. Trong mt li gọi hàm thì đối s nm
trong cp ngoc đơn trước tên hàm. Vi mt toán t thì đối s được đặt
trước và sau toán t. Bạn cũng sử dng t khóa operator trong phn khai
báo và trong phần định nghĩa của toán t đưc np chng.
C. Đim khác nhau gia toán t (hai ngôi chng hạn như +, -, *, /) và mt
hàm chính là pháp gi chúng. Trong mt li gọi hàm thì đối s nm
trong cp ngoặc đơn sau tên hàm. Với mt toán t thì đối s được đặt
trong và trước toán t. Bạn cũng sử dng t khóa operator trong phn
khai báo và trong phần định nghĩa của toán t đưc np chng.
D. Đim khác nhau gia toán t (hai ngôi chng hạn như +, -, *, /) và mt
hàm chính là pháp gi chúng. Trong mt li gọi hàm thì đối s nm
trong cp ngoặc đơn sau tên hàm. Với mt toán t thì đối s được đặt sau
toán t. Bạn cũng sử dng t khóa operator trong phn khai báo và trong
phần định nghĩa của toán t đưc np chng.

Preview text:

lOMoAR cPSD| 58490434
Câu 1:Khi đa năng hóa toán tử nhập (trích dòng) cho lớp SP ta khai báo dòng tiêu đề như sau:
A. friend istream & operator >>(istream & istr, SP &a);
B. friend void istream & operator >>(istream & istr, SP &a);
C. friend istream & operator >>(istream istr, SP
&a); D. friend istream & operator >>(istream &
istr, SP a); Câu 2: Lập trình hướng đối tượng là gì?
A. Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các đối tượng,
nó không cho phép dữ liệu chuyển động một cách tự do trong hệ thống; dữ
liệu được gắn với các hàm thành phần
B. Lập trình hướng đối tượng là phương pháp lập trình cơ bản gần với mã máy
C. Lập trình hướng đối tượng là phương pháp mới của lập trình máy tính, chia
chương trình thành các hàm; quan tâm đến chức năng của hệ thống
D. Lập trình hướng đối tượng là phương pháp đặt trọng tâm vào các chức năng,
cấu trúc chương trình được xây dựng theo cách tiếp cận hướng chức năng
Câu 3: Đặc điểm cơ bản của lập trình hướng đối tượng thể hiện ở
A. Tính đóng gói, tính kế thừa, tính đa hình, tính đặc biệt hóa
B. Tính đóng gói, tính kế thừa, tính đa hình, tính trừu tượng
C. Tính chia nhỏ, tính kế thừa
D. Tính đóng gói, tính trừu tượng
Câu 4: OOP là viết tắt của:
A. Object Oriented Programming B. Object Open Programming C. Open Object Programming
D. Object Oriented Proccessing lOMoAR cPSD| 58490434
Câu 5: Chọn câu đúng về thành phần public của lớp:
A. Tại chương trình chính chỉ có thể truy cập đến thành phần public của lớp
B. Tại chương trình chính chỉ có thể truy cập đến thành phần private của lớp
C. Tại chương trình chính có thể truy cập đến bất kì thành phần nào của lớp
D. Tại chương trình chính không thể truy cập đến thành phần nào của lớp
Câu 6:Cho đoạn chương trình sau:
A. Lỗi tại dòng obj1.x=10;
B. Lỗi tại dòng obj2.y=8; C. Lỗi tại dòng A.obj1; D. Lỗi tại dòng int x;
Câu 7: Cho đoạn chương trình sau: lOMoAR cPSD| 58490434 A. Chưa khai báo x
B. Không thể truy cập vào thành phần private của lớp
C. Không xác định được giá trị x
D. Phải gọi thông quan tên lớp không được gọi thông qua tên đối tượng
Câu 8: Khi khai báo lớp trong các ngôn ngữ lập trình hướng đối tượng phải sử dụng từ khóa: A. Object. B. Record C. File D. Class
Câu 9: Thành phần private của lớp là thành phần:
A. Không cho phép truy xuất từ bên ngoài của lớp chỉ có các phương thức bên
trong lớp mới có thể truy xuất được lOMoAR cPSD| 58490434
B. Không cho phép truy xuất từ bên ngoài của lớp nhưng cho phép lớp kế thừa truy xuất tới
C. Cho phép truy xuất từ bên ngoài lớp
D. Cho phép truy xuất từ bên ngoài lớp và cho phép kế thừa
Câu 10:Hàm huỷ trong ngôn ngữ C++ có cú pháp: A. ~Tên_lớp{ //nội dung}
B. Destructor Tên_hàm {//nôi dung} C. Tên_lớp{//nội dung} D. Done {//nội dung}
Câu 11: Cho đoạn chương trình sau: class
A{ private: int x,y; public:
A(int x=0,int y=0); void xuat(); ~A(); };
A(int x=0,int y=0); được gọi là: A. Hàm tạo B. Hàm huỷ C. Hàm bạn D. Hàm thông thường
Câu 12: Cho đoạn chương trình: class A { private: int x,y; }; Làm nhiệm vụ:
A. Khai báo A là một lớp với hai thành phần thuộc tính là x, y kiểu số nguyên
B. Khai báo A là một đối tượng với hai thành phần thuộc tính x, y kiểu integer
C. Đoạn chương trình trên bị lỗi lOMoAR cPSD| 58490434
D. Khai báo lớp A với hai thành phần thuộc tính x,y kiểu số nguyên cho phép
truy cập từ bên ngoài lớp
Câu 13: Xây dựng lớp Time trong java như hình trên, phương thức là:
A. Phương thức khởi tạo của lớp Time
B. Phương thức nhập dữ liệu cho lớp Time
C. Phương thức kiểm tra thời gian của lớp Time
Câu 14:Xây dựng lớp Time trong java như hình trên, phương thức khởi tạo
public Time() làm nhiệm vụ: lOMoAR cPSD| 58490434
A. Gọi tới hàm setTime để thiết lập giá trị khởi tạo cho giờ, phút, giây
B. Gọi tới hàm setTime để hủy bỏ toàn bộ dữ liệu thuộc tính của lớp hour
C. Khởi tạo giá trị ban đầu cho dữ liệu của lớp
Câu 15: Cho đoạn chương trình trên, câu nhận định đúng cho đoạn chương trình trên là: lOMoAR cPSD| 58490434
A. DisplayData() không thể được khai báo với từ khóa private
B. DisplayData() không thể truy cập vào j
C. ShowData() không thể truy cập vào i
D. Đoạn chương trình không lỗi
Câu 16: Khi khai báo dùng toán tử nhập (trích dòng) cho lớp SP ta khai báo dòng tiêu đề như sau:
A. friend istream & operator >>(istream & istr, SP &a);
B. friend void istream & operator >>(istream & istr, SP &a);
C. friend istream & operator >>(istream istr, SP &a);
D. friend istream & operator >>(istream & istr, SP a);Câu 17: Hàm fabs() trong
đoạn sau có tác dụng gì?
ostream&operator<<(ostream &xuat, SoPhuc a) { if(a.pa>=0) xuat< endl; else xuat< j"< lOMoAR cPSD| 58490434 return xuat; }
A. Trả về trị tuyệt đối của a.pa B. Đặt cờ cho a.pa C. Định dạng số phức
D. Trả về phần ảo của số phức
Câu 18: Đoạn lệnh sau sai chổ nào?
int DTB(double a, double b) { return (a+b)/2; } A. Giá trị trả về B. Tham số trong hàm C. Thiếu lệnh D. Không sai.
Câu 19: Đoạn lệnh sau thể hiện tính năng gì của hàm??
double DTB(double a, double b) { return (a+b)/2; }
double DTB(double a, double b,double c) { return (a+b+c)/3; } A. Nạp chồng hàm B. Nạp chồng toán tử C. Hàm tạo D. Hàm khởi tạo
Câu 20: Cho đoạn lệnh sau:
double DTB(double a, double b) { return (a-b)/2; }
double DTB(double a, double b,double c) lOMoAR cPSD| 58490434 { return (a+b-c)/3; }
Nếu trong hàm main gọi hàm DTB(5,3,4) thì kết quả ra bao nhiêu?? A. 4/3 B. 1 C. 3
D. Không ra kết quả vì sai
Câu 21: Định nghĩa toán tử xuất (<<) sau đây đúng hay sai:
friend ostream& operator<<(ostream xuat, SoPhuc a); A. Đúng B. Sai
Câu 22: Đoạn lệnh sau sai dòng nào?
1. istream& operator>>(istream &nhap, SoPhuc &a) {
//pt la phan thuc, pa la phan ao cua so phuc
a. cout<<"Nhap phan thuc:"; b. nhap>>a.pt;
c. cout<<"Nhap phan ao:"; d. nhap>>pa; e. return nhap; } A. 1 B. a C. d D. Không sai
Câu 23: Kết quả in ra của đoạn mã sau là gì? (Nếu nó được gắn trong một
chương trình hoàn chỉnh).
For(int count=1;count<5;count++)
Cout<<(2*count)<<” “; A. 2 4 6 8 B. 1 2 3 4 5 C. 1234 D. 123456
Câu 24: Một định nghĩa cho một hàm có thể xuất hiện ở bên trong thân của định nghĩa hàm khác hay không? lOMoAR cPSD| 58490434 A. Không được B. Được
Câu 25: Viết 1 định nghĩa hàm void cho một hàm có tên A, hàm này có 2 tham
số (x và y), cả 2 đều là các biến có kiểu int và hàm này thiết lập giá trị cả 2 biến bằng 0
A. void A(int &x,int &y) { x=0; y=0; }
B. void A(int &x int &y) { x=0 y=0; } C. void A(int &x,int y) { X=0; Y=0; } D. void A(int x,int &y) { X=0; Y=0; }
Câu 26: Giả sử rằng bạn có hai định nghĩa hàm với các khai báo sau đây:
double score (double time, double
distance); int score(double points);
Định nghĩa hàm nào sẽ được sử dụng trong lời gọi hàm sau
double 昀椀 nalScore=score(x);
A. double score (double time, double distance) B. int score(double points)
C. Không có, vì lời gọi hàm sai
Câu 27: Giả sử rằng bạn có 2 định nghĩa hàm với các khai báo sau đây:
double A(double x, double y);
double A(int z, int yt); lOMoAR cPSD| 58490434
Định nghĩa hàm nào sẽ được sử dụng trong lời gọi hàm sau: X=A(y, 6.0);
A. Double A(double x, double y) B. Double A(int z, int yt)
C. Không có, vì lệnh gọi hàm sai
Câu 28: Định nghĩa cấu trúc dưới đây có lỗi gì? struct stuff { Int b; Int c; } Int main() { stuff x; //phần mã khác }
A. Thiếu ; tại phần kết thúc định nghĩa stuff B. Thiếu ; sau main() C. Thiếu ; sau struct stuff D. Không có lỗi
Câu 29: Viết một định nghĩa cho kiểu cấu trúc dùng để ghi mức lương của một
người, tổng số ngày nghỉ việc tích lũy, và trạng thái của người đó (nhận lương
theo tuần hay nhận lương theo giờ).Biểu diễn trạng thái là một trong hai kí tự
“H” hoặc “S”. Đặt tên cho kiểu này là LuuCongNhan. A. struct LuuCongNhan { double mucluong; int ngaynghi; char status; }; B. struct LuuCongNhan { double mucluong; int ngaynghi; char status “H” or “S” }; lOMoAR cPSD| 58490434 C. struct LuuCongNhan { double mucluong; int ngaynghi; double status; }; D. void struct LuuCongNhan { double mucluong; int ngaynghi; char status; };
Câu 30: Điểm khác nhau giữa một toán tử (hai ngôi) và một hàm là gì?
A. Điểm khác nhau giữa toán tử (hai ngôi chẳng hạn như +, -, *, /) và một
hàm chính là ở cú pháp gọi chúng. Trong một lời gọi hàm thì đối số nằm
trong cặp ngoặc đơn sau tên hàm. Với một toán tử thì đối số được đặt ở
trước và sau toán tử. Bạn cũng sử dụng từ khóa operator trong phần khai
báo và trong phần định nghĩa của toán tử được nạp chồng.
B. Điểm khác nhau giữa toán tử (hai ngôi chẳng hạn như +, -, *, /) và một
hàm chính là ở cú pháp gọi chúng. Trong một lời gọi hàm thì đối số nằm
trong cặp ngoặc đơn trước tên hàm. Với một toán tử thì đối số được đặt ở
trước và sau toán tử. Bạn cũng sử dụng từ khóa operator trong phần khai
báo và trong phần định nghĩa của toán tử được nạp chồng.
C. Điểm khác nhau giữa toán tử (hai ngôi chẳng hạn như +, -, *, /) và một
hàm chính là ở cú pháp gọi chúng. Trong một lời gọi hàm thì đối số nằm
trong cặp ngoặc đơn sau tên hàm. Với một toán tử thì đối số được đặt ở
trong và trước toán tử. Bạn cũng sử dụng từ khóa operator trong phần
khai báo và trong phần định nghĩa của toán tử được nạp chồng.
D. Điểm khác nhau giữa toán tử (hai ngôi chẳng hạn như +, -, *, /) và một
hàm chính là ở cú pháp gọi chúng. Trong một lời gọi hàm thì đối số nằm
trong cặp ngoặc đơn sau tên hàm. Với một toán tử thì đối số được đặt sau
toán tử. Bạn cũng sử dụng từ khóa operator trong phần khai báo và trong
phần định nghĩa của toán tử được nạp chồng.