Truy xuất thuộc tính và phương thức nào đó của đối tượng b.. Ta phải tạo đối tượng cụ thể của class đó rồi truy xuất thành phần thông qua đối tượng.. Xét tính bao đóng các thuộc tính pri
Trang 1Một số câu trắc nghiệm môn OOP2
1. Thông qua biến tham chiếu đến đối tượng trong C#, ta có thể:
a. Truy xuất thuộc tính và phương thức nào đó của đối tượng
b. Truy xuất event (sự kiện) hay delegate (ủy nhiệm hàm) của đối tượng
c. Truy xuất các thành phần dữ liệu dạng public của đối tượng
d. Cả 3 đều đúng
2. Để truy xuất 1 thành phần static của 1 class (trong C#)
a. Ta phải tạo đối tượng cụ thể của class đó rồi truy xuất thành phần thông qua đối tượng
b. Ta chỉ cần truy xuất thông qua tên class mà không cần tạo đối tượng cụ thể
c. Dùng cách a hay b đều được
d. Cả 3 câu trên đều sai
3. Trong C#, kỹ thuật databinding (kết dữ liệu) tồn tại trên đối tượng:
a. Form
b. Data Form
c. DataGridView
d. Hầu hết các đối tượng giao diện
4. Để tạo mới phần tử thuộc kiểu ArrayList nhiều chiều, ta phải:
a. Gọi 1 lệnh new
b. Gọi nhiều lệnh new
c. Gọi n lệnh new (n là số chiều)
d. a hoặc c tùy thích
5. Để giúp người dùng kích hoạt 1 chức năng nào đó, ta có thể dùng đối tượng:
a. Button
b. TextBox
c. Label
d. cả 3 đều đúng
6. Để hiển thị chuỗi kết quả hay chuỗi cảnh báo, ta có thể dùng đối tượng:
a. Button
b. TextBox
c. Label
d. cả 3 đều đúng
7. Ta có thể thay đổi động giá trị của 1 thuộc tính của đối tượng giao diện bằng cách:
a. Trực quan tại thời điểm thiết kế đối tượng
b. Lập tình trong hàm chức năng nào đó để khi chạy đến thời điểm cần thiết, máy sẽ thay đổi động
c. a,b đều đúng
d. cả 3 đều sai
8. Xét tính bao đóng các thuộc tính private trong C#, code của 1 phương thức trong class A:
a. Chỉ có thể truy xuất các thuộc tính private của đối tượng đang được xử lý
b. Có thể truy xuất thuộc tính private của bất kỳ đối tượng nào của class A
c. Có thể truy xuất các thuộc tính private của bất kỳ đối tượng nào của class A hay class cha của A
d. Cả 3 đều sai
Trang 29. Để có thể lấy được dữ liệu từ SQL Server về lưu thành dạng bảng, ta phải dùng các lớp nào sau đây trong ngôn ngữ C#
a. SqlConnection, SqlDataAdapter, SqlCommand, DataSet
b. SqlConnection, SqlDataAdapter, SqlCommand
c. SqlConnection, SqlDataAdapter, SqlParameter, DataSet
d. SqlConnection, SqlParameter, DataSet
10. Một DataAdapter có khả năng cùng lúc nhận (quản lý) được các loại lệnh nào ?
a. SelectCommand, InsertCommand, DeleteCommand,
b. UpdateCommand, CreateCommand
c. SelectCommand, InsertCommand, DeleteCommand
d. SelectCommand, InsertCommand, DeleteCommand, UpdateCommand
11. Để cho đối tượng SqlCommand có thể thực hiện lệnh là một thủ tục trong SQLServer, chúng ta nhất thiết phải dùng câu lệnh nào sau đây
a. CommandType = CommandType.StoredProcedure
b. CommandType = CommandType.SQL
c. Direction = Direction.InputOutput
d. Direction = Direction.Return
12. Cho đoạn lệnh như sau
DataSet ds = new DataSet();
SqlConnection sc = new SqlConnection(
"server=phvn\\mydata;database=qlbh;uid=sa;pwd=123456");
sc.Open();
SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand scmd = new SqlCommand(“select * from sinhvien”, sc);
sda.SelectCommand = scmd;
sda.Fill(ds, “sv”);
sc.Close();
Giả sử chuỗi kết nối là hoàn toàn chính xác, và có bảng "sinhvien"
Kết quả khi thực thi đoạn lệnh này ta có
a. Một DataSet trong đó có 1 DataTable tên là “sv”
b. Một DataSet trong đó có 1 DataTable tên là “sinhvien”
c. Một DataSet trong đó không có bất kỳ DataTable nào
d. Báo lỗi lúc biên dịch
13. Giả sử chuỗi kết nối là chính xác và có bảng "sinhvien", ta có đoạn lệnh sau
SqlConnection sc = new SqlConnection(
"server=phvn\\mydata;database=qlbh;uid=sa;pwd=123456");
sc.Open();
SqlCommand scmd = new SqlCommand(
"delete from sinhvien where masv = ‘sv001’ ", sc);
(?)
sc.Close();
Để câu lệnh xóa có thể thực hiện được, ta cần phải viết lệnh gì thay cho (?)
a. scmd.executeNonQuery();
b. scmd.executeScalar();
c. Không ghi bất cứ lệnh gì
Trang 3d. scmd.execute();
14. Nếu không trả về record nào, ta dùng phương thức nào sao đây của đối tượng command:
a. ExecuteReader()
b. ExecuteScalar()
c. ExecuteXmlReader()
d. ExecuteNoneQuery()
15. Để thực thi một câu lệnh sql select ta sử dụng các phương thức nào của đối tượng SqlCommand
a. ExecuteNonQuery()
b. ExecuteSelect()
c. ExecuteReader()
d. ExecuteQuery()
16. Để gán giá trị cho danh sách lựa chọn của một ComboBox, chúng ta có thể dùng thuộc tính nào
a. Items
b. DataSource
c. Items và DataSource
d. Không có đáp án nào đúng
17. Kết quả xuất ra màn hình ?
List<int> numbers = new List<int> { 3, 10, 4, 8 };
var query = numbers.Where(n => n%2 ==0).Select(n => n);
foreach (int n in query)
Console.WriteLine(n);
a. 10 4 8
b. Lỗi dịch
c. Lỗi runtime
d. Kết quả khác
18. LINQ và Entity Framework được tạo ra để thay thế ADO.NET
a. Đúng
b. Sai
19. Entity Framework chỉ cho phép truy xuất dữ liệu theo cú pháp LINQ
a. Đúng
b. Sai
20. Mục đích ra đời LINQ là giải pháp thay thế cho cách truy vấn theo kiểu T-SQL
a. Đúng
b. Sai
21. Phát biểu nào là không đúng khi nói về mô hình lập trình đa lớp (multi-layers)
a. Trong mô hình đa lớp, người lập trình phải viết nhiều code hơn
b. Trong mô hình đa lớp, việc lập trình rõ ràng hơn
c. Trong mô hình đa lớp, ứng dụng dễ bảo trì hơn
d. Mô hình đa lớp giúp cho phân chia công việc lập trình linh hoạt hơn
22. Cách nào sau đây dùng để tạo một đối tượng của class SanPham?
1/ SanPham s = new SanPham();
2/ SanPham s;
3/ SanPham s; s = new SanPham();
4/ s = new SanPham();
Trang 4a. 1, 3
b. 2, 4
c. 1, 2, 3
d. 1,4
23. Công việc đầu tiên trong lập trình ứng dụng theo ADO.NET Entity Framework, chúng ta phải thiết kế database thật chuẩn
a. Đúng
b. Sai
24. ADO.NET Entity Framework cung cấp mô hình khái niệm độc lập với mô hình lưu trữ
dữ liệu vật lý:
a. Đúng
b. Sai
25. Kết quả khi chạy đoạn mã sau?
int[] numbers = {5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
int oddNumbers = numbers.Count(n => n % 2 == 1);
Console.WriteLine("There are {0} odd numbers in the list.", oddNumbers);
a. There are 3 odd numbers in the list
b. There are 5 odd numbers in the list
c. There are 1 odd numbers in the list
d. There are 4 odd numbers in the list
26. Kết quả khi chạy đoạn mã sau là gì?
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
double numSum = numbers.Sum();
Console.WriteLine("The sum of the numbers is {0}.", numSum);
a. The sum of the numbers is 40
b. The sum of the numbers is 43
c. The sum of the numbers is 45
d. The sum of the numbers is 50
Trang 5Cấu trúc đề thi: 40 câu 45 phút
• 10 câu: các khái niệm lập trình hướng đối tượng
• 10 câu: kiến trúc ADO.NET
• 10 câu: lý thuyết về các mô hình (3-layers, Entity Framework)
• 10 câu: cú pháp LINQ