











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.