Tải bản đầy đủ (.docx) (93 trang)

Đáp án trắc nghiệm kỹ thuật lập trình hướng đối tượng it07 thi trắc nghiệm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (198.4 KB, 93 trang )

ĐÁP ÁN TRẮC NGHIỆM KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG _IT07_THI TRẮC NGHIỆM
Ghi chú (Đ) là đáp án.
Câu 1
Applet có được phép gọi thực thi một tệp exe trên hệ thống client?
a. Có
b. Khơng(Đ)
Câu 2
Biểu thức nào sau đây cho x có giá trị dương:
a. int x = -1; x = x >>> 5;(Đ)
b. int x = -1; x = x >> 5;
c. int x = -1; x = x >>> 32;
d. byte x = -1; x = x >>> 5;
Câu 3
Bước nào trong các bước phân tích và phát triển một hệ thống phần mềm
hướng đối tượng thực hiện: tìm hiểu các trường hợp sử dụng (use case) để
nắm bắt các yêu cầu của người sử dụng (khách hàng), của vấn đề cần giải
quyết.
a. Kiểm tra (Testing)
b. Lập trình (Programming)
c. Thiết kế (Design)
d. Phân tích yêu cầu (Requirement analysis)(Đ)
Câu 4
Các application sử dụng ‘System.out.println()’ để hiển thị kết quả ra màn
hình
trong khi đó applet sử dụng phương thức nào để xuất ra màn hình?
a. drawString();(Đ)
b. setString();
c. drawText();
1



d. setScreenText();
Câu 5
Các biểu thức nào sau đây cho kết quả là true?
a. "john" == "john"(Đ)
b. "john".equals("John")
c. "john".equals(new Button("john"))
d. "john" = "john"
Câu 6
Các phương thức được khai báo dùng các tiền tố nào thì khơng được khai
báo là trừu tượng (abstract)?
a. public
b. Mặc định
c. protected
d. static(Đ)
Câu 7
Các phương thức khai báo trong giao diện có thể bao gồm thân (các lệnh
trong thân phương thức)?
a. Tùy tình huống.
b. Có thể.
c. Khơng thể.(Đ)
Câu 8
Các phương thức nào sau đây không thể dừng sự thực thi của một thread?
a. notify();(Đ)
b. sleep();
c. stop();
d. wait();
Câu 9
Các phương thức nào sau đây là phương thức của lớp Graphics?
a. drawLine(int, int, int, int);(Đ)

2


b. setLayout(Object);
c. setVisible(boolean);
d. drawString(int, String, int, int);
Câu 10
Các tính chất cơ bản của phương pháp lập trình hướng đối tượng:
a. Tính public, protected và private.
b. Tính cho phép hàm ảo, hàm thuần ảo và hàm friend.
c. Tính đóng gói, tính kế thừa và tính đa hình.(Đ)
d. Mỗi lớp phải có constructor và destructor.
Câu 11
Cách viết lệnh nào là đúng khi gọi thực thi một phương thức có tham số của
đối tượng?
a. Đối_tượng.phương_thức(các_tham_số)(Đ)
b. Các_tham_số.Đối_tượng.phương_thức()
c. Đối_tượng.các_tham_số.phương_thức()
d. Phương_thức.đối_tượng(các_tham_số)
Câu 12
Cấu trúc một chương trình java gồm các phần nào?
a. Các hàm tự do, hàm main()
b. Khai báo các biến, các chương trình con, hàm main()
c. Lớp chương trình chính, các hàm tự do.
d. Khai báo thư viện, lớp chương trình chính, các lớp khác(Đ)
Câu 13
Cho biết các thành phần của lớp NV theo đoạn mã sau:
class NGUOI
{
private String Mnv;

protected String Hoten;
protected float Hsl;
3


float tinhLuong( ) { return Hsl * 1500000; }
}
class NHANVIEN extends NGUOI
{
private String Chucvu;
private String Donvi;
private float Pc;
float tinhPC( ) { return Pc * 1500000; }
}
a. -Thuộc tính: Chucvu, Donvi, Pc
-Phương thức: tinhPC( )
b. -Thuộc tính: Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhLuong( ), tinhPC( )(Đ)
c. -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhLuong( ), tinhPC( )
d. -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhPC( )
Câu 14
Cho biết đoạn chương trình sau thực hiện yêu cầu xử lý gì?
public class Xylychuoi {
public static void main(String arg[])
{
String s = new String();
Scanner sc = new Scanner(System.in);
System.out.print("Nhap chuoi:");

s = sc.nextLine();
s = s.trim();
int d;
if(s.length()==0) d = 0;
4


else d = 1;
for(int i=0; iif(s.charAt(i)==' '&&s.charAt(i+1)!=' ')
d = d + 1;
System.out.print("\n So tu:"+d);
}
}
a. Thực hiện đếm số từ hiện có trong chuỗi s, với s được nhập từ bàn phím(Đ)
b. Cho biết số từ có trong chuỗi “Khoa cơng nghệ thơng tin”
c. Thực hiện chuyển tồn bộ chuỗi s được nhập từ bàn phím thành chữ hoa
d. Thực hiện chuyển đổi ký tự đầu mỗi từ thành chữ hoa
Câu 15
Cho biết đoạn mã sau thực hiện yêu cầu xử lý gì?
public class TinhToan {
public static void main(String arg[])
{
int n, t=0;
int a[20];
for(int i=0;iif (a[i] % 2==0)
t = t + a[i];
System.out.print("\n Ket qua:” + t);
}

}
a. Tính tổng các phần tử chẵn trong mảng nguyên a gồm n phần tử(Đ)
b. Tính tổng các phần tử ở vị trí chẵn của mảng a gồm n phần tử
c. Tính tổng các phần tử lẻ trong mảng nguyên a gồm n phần tử
d. Tính tổng các phần tử trong mảng nguyên a gồm n phần tử
Câu 16
5


Cho biết kết quả của đoạn mã sau?
public class TinhToan {
public static void main(String arg[])
{
int t=0;
int a[] = { 2, 4, 5, 3, 6};
for(int i=0; iif (a[i] % 2==0)
t = t + a[i];
System.out.print("\n Ket qua:” + t);
}
}
a. 8
b. 20
c. 7
d. 12(Đ)
Câu 17
Cho biết kết quả của đoạn mã sau?
public class TinhToan {
public static void main(String arg[])
{

int t=0;
int a[] = { 2, 4, 5, 3, 6};
for(int i=0; iif (i % 2==0)
t = t + a[i];
System.out.print("\n Ket qua:” + t);
}
}
6


a. 12
b. 7
c. 13(Đ)
d. 8
Câu 18
Cho biết kết quả của đoạn mã sau?
public class TinhToan {
public static void main(String arg[])
{
int t=0;
int a[] = { 2, 4, 5, 3, 6};
for(int i=0; iif (i % 2==1)
t = t + a[i];
System.out.print("\n Ket qua:” + t);
}
}
a. 12
b. 7(Đ)

c. 8
d. 13
Câu 19
Cho biết kết quả hiển thị sau khi thực hiện chương trình sau:
public class Test01
{private int x,y;
Test01()
{x = y = 5;
}
Test01(int k)
7


{x=y=k;
}
private void hien()
{System.out.printf("x = %d, y = %d",x,y);
}
public static void main(String [] arg)
{Test01 ts = new Test01(10);
ts.hien();
}
}
a. Lỗi biên dịch chương trình
b. x = 5, y = 5
c. x = 10, y = 5
d. x = 10, y = 10(Đ)
Câu 20
Cho biết kết quả hiển thị sau khi thực hiện chương trình sau:
public class Test01

{private int x,y;
Test01()
{x = y = 5;
}
Test01(int k)
{x=y=k;
}
public void hien()
{System.out.printf("x = %d, y = %d",x,y);
}
public static void main(String [] arg)
{Test02 ts = new Test02();
8


ts.hien();
}
}
class Test02 extends Test01
{private int z;
Test02(int k)
{super(k);
z=k;
}
}
a. x = 10, y = 5
b. x = 10, y = 10(Đ)
c. x = 5, y = 10
d. x = 5, y = 5
Câu 21

Cho biết kết quả khi thực thi class sau:
import java.awt.*;
public class FrameTest extends Frame {
public FrameTest() {
add (new Button("First"));
add (new Button("Second"));
add (new Button("Third"));
pack();
setVisible(true);
}
public static void main(String args []) {
new FrameTest();
}
}
9


Lựa chọn phát biểu đúng nhất:
a. Chỉ có “First” button được hiển thị.
b. Cả ba button được hiển thị.
c. Chỉ có “Third” button được hiển thị.(Đ)
d. Chỉ có “Second” button được hiển thị.
Câu 22
Cho biết kết quả khi thực thi đoạn code sau biết giá trị của x là 2:
switch (x) {
case 1:
System.out.println(1);
case 2:
case 3:
System.out.println(3);

case 4:
System.out.println(4);
}
a. Các giá trị 3 và 4 được xuất ra.(Đ)
b. Khơng in ra gì cả.
c. Các giá trị 1,3,4 được xuất ra.
d. Xuất ra màn hình 3
Câu 23
Cho biết lớp B gồm các thành phần gì trong đoạn mã sau:
class A
{
int x,y;
public A(){ x=y=5; }
public int sumA( ){ return x+y; }
}
class B extends A
10


{
int z;
public B(){ z=7; }
public int sumB( ) { return x+y+z;}
}
a. -Thuộc tính: x, y, z
-Phương thức: sumA( ), sumB( )(Đ)
b. -Thuộc tính: x, y, z
-Phương thức: A( ), B( ), sumA( ), sumB( )
c. -Thuộc tính: z,
-Phương thức: sumB( )

d. -Thuộc tính: x, y
-Phương thức: sumA( )
Câu 24
Cho biết ý nghĩa của đoạn chương trình sau:
class NhanSu
{
int maNS, namSinh;
Strinh hoTen;
void nhapNS( )
{
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap Ma:”);
maNS = sc.nextInt( );
System.out.print(“Nhap Ho Ten:”);
hoTen = sc.nextLine( );
System.out.print(“Nhap Nam Sinh:”);
namSinh = sc.nextInt( );
}
11


void xuatNS( )
{
System.out.printf(“\n%7d”, maNS);
System.out.printf(“%15s”, hoTen);
System.out.printf(“%7d”, namSinh);
}
}
class HocSinh extends NhanSu
{

float diemTB;
void nhapHS( )
{
super.nhapNS();
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap DTB:”);
diemTB = sc.nextFloat( );
}
void xuatHS( )
{
super.xuatNS();
System.out.printf(“%7.1f”, diemTB);
}
}
a. Xây dựng HocSinh thoả mãn:
+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập Học sinh, Xuất Học sinh
b. -Xây dựng lớp HocSinh thoả mãn:
+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập nhân sự, Xuất nhân sự, nhập Học sinh, Xuất Học sinh
12


c. -Xây dựng lớp NhanSu thoả mãn:
+Thuộc tính:Mã Nhân sự, Năm sinh, Họ Tên
+Phương thức: Nhập nhân sự, Xuất nhân sự
-Xây dựng lớp HocSinh kế thừa từ lớp NhanSu bổ sung thêm:
+Thuộc tính: điểm Trung bình
+Phương thức: nhập Học sinh, Xuất Học sinh(Đ)
d. Xây dựng NhanSu thoả mãn:

+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập nhân sự, Xuất nhân sự
Câu 25
Cho biết ý nghĩa của đoạn mã sau:
class XE
{
private String MaXe;
protected String TenXe;
}
class XEMAY extends XE
{
private String NuocSX;
private float DonGia;
private int SoLuong;
float tinhTien( ) { return DonGia*SoLuong; }
}
a. Xây dựng lớp XEMAY kế thừa từ lớp XE
b. Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm:
-thuộc tính: Tên xe, nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá)
c. Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm các
thành phần sau:
13


-thuộc tính: nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá)(Đ)
d. Xây dựng lớp XEMAY gồm các thành phần sau:
-thuộc tính: Mã xe, Tên xe, nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá)

Câu 26
Cho class được khai báo như sau:
public class Test {
public static void test() {
print();
}
public static void print() {
System.out.println("Test");
}
public void print() {
System.out.println("Another Test");
}
}
Cho biết kết quả khi biên dịch class này:
a. Biên dịch thành cơng.
b. Có lỗi vì có hai phương thức print giống nhau.(Đ)
c. Bị lỗi vì lý do khác.
d. Có warning vì khơng có main method.
Câu 27
Cho đoạn mã sau:
class Test{
public static void main(String args[]){
double d = 12.3;
Decrementer dec = new Decrementer();
14


dec.decrement(d);
System.out.println(d);
}

}
class Decrementer{
public void decrement(double decMe){
decMe = decMe – 1.0;
}
}
Giá trị in ra của câu
Câu 28
Cho khai báo mảng hai chiều a chứa các số nguyên, với h và c là số hàng và
số cột tương ứng của mảng hai chiều như sau:
int a[][];
int h,c;
Đoạn mã để tạo số ngẫu nhiên trong phạm vi từ 0 đến 99 cho các phần tử
của mảng a là như thế nào?
a. Scanner sc = new Scanner(System.in);
for(i=0;ifor(j=0;ja[i][j] = sc.nextInttrứng;
b. Random rd = new Randomtrứng;
for(i=0;ifor(j=0;ja[i][j] = rd.nextInttrứng;
c. Random rd = new Randomtrứng;
for(i=0;ifor(j=0;ja[i][j] = rd.nextInt(100);(Đ)
15


d. Random rd;

for(i=0;ifor(j=0;ja[i][j] = rd.nextInt(99);
Câu 29
Cho khai báo sau:
int a = 3.5;
Kết quả sau khi biên dịch là gì?
a. a = 3
b. Lỗi biên dịch(Đ)
c. a = 3.5
Câu 30
Cho lớp đối tượng CAR (ô tô) với các thành phần: Tên xe, số chỗ ngồi, khởi
động, tốc độ tối đa. Hãy chỉ ra đâu là phương thức của lớp CAR?
a. Số chỗ ngồi
b. Tốc độ tối đa
c. Khởi động(Đ)
d. Tên xe
Câu 31
Cho lớp HangHoa được xây dựng như sau:
public class HangHoa{
private String tenHH;
private int soLuong;
private float donGia;
public String getTenHH() {
return tenHH;
}
public void setTenHH(String name) {
this.tenHH = name;
16



}
public int getSoLuong() {
return soLuong;
}
public void setSoLuong(int sl) {
this.soLuong = sl;
}
public float getDonGia() {
return donGia;
}
public void setDonGia(float dg) {
this.donGia = dg;
}
}
Đâu là đoạn mã để tạo đối tượng HangHoa với giá trị lấy từ các điều khiển
trên giao diện như hình:
a. private HangHoa getHangHoa ( ){
HangHoa hh = new HangHoa();
hh.setTenHH(txtTenHH.getText());
hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));
hh.setDonGia(Float.parseFloat(txtDonGia.getText()));
return hh;
}(Đ)
b. private void getHangHoa( HangHoa hh ){
hh.setTenHH(txtTenHH.getText());
hh.setSoLuong(Integer.parseInt(txtSoLuong.getText()));
hh.setDonGia(Float.parseFloat(txtDonGia.getText()));
}
c. private HangHoa getHangHoa ( ){

17


HangHoa hh = new HangHoa();
hh.tenHH = txtTenHH.getText();
hh.soLuong = Integer.parseInt(txtSoLuong.getText());
hh.donGia = Float.parseFloat(txtDonGia.getText());
return hh;
}
d. private HangHoa getHangHoa ( ){
HangHoa hh = new HangHoa();
hh.tenHH = txtTenHH.getText();
hh.soLuong = txtSoLuong.getText();
hh.donGia = txtDonGia.getText();
return hh;
}
Câu 32
Cho lớp NV như sau:
public class NV {
float hsl;
float tinhluong( ) { return hsl * 1500000; }
void nhap( )
{
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap HSL:”);
hsl = sc.nextFloat( ) ;
}
}
Đâu là đoạn mã để xây dựng lớp DSNV với các yêu cầu sau:
-thuộc tính: danh sách nhân viên (sử dụng ArrayList)

-phương thức: tính tổng lương các nhân viên, nhập danh sách nhân viên từ
bàn phím
18


a. class DSNV
{
ArrayList lstNV;
void nhapDSNV( )
{
int n,i;
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap so NV:”);
N = sc.nextInt();
lstNV = new ArrayList( n );
for(i=0;i{
NV x = new NV( ) ;
x.nhap( ) ;
lstNV.add( x );
}
}
void tinhTongLuong( )
{
float s;
for(int i=0;is = s + lstNV.get(i).tinhluong( ) ;
}
}
b. class DSNV

{
ArrayList<NV> lstNV;
void nhapDSNV( )
{
19


int n,i;
Scanner sc = new Scanner(System.in);
System.out.print(“Nhap so NV:”);
for(i=0;i{
NV x = new NV( );
x.nhap( );
lstNV.add( x );
}
}
void tinhTongLuong( )
{
float s = 0;
for(int i=0; is = s + lstNV[i].tinhluong( );
}
}
c. class DSNV
{
ArrayList<NV> lstNV;
void nhapDSNV( )
{
int n,i;

Scanner sc = new Scanner(System.in);
System.out.print(“Nhap so NV:”);
N = sc.nextInt();
lstNV = new ArrayList( n );
for(i=0;i{
20



×