CÂU HỎI Quy ước viết tắt xrmh: xuất hình Lỗi chạy: Lỗi thời điểm chương trình chạy Lỗi dịch: Lỗi lúc biên dịch chương trình Cho biết kết đoạn ct sau: struct ValType { public int data; public static void Main() { ValType v = new ValType(); Console.WriteLine(v.data); } } a lỗi biên dịch b lỗi chạy c xrmh: d Khác Cho biết kết đoạn ct sau: struct ValType { public int data; public ValType(int i) { data = i; } public static void Main() { ValType v = new ValType(); Console.WriteLine(v.data); } } a lỗi biên dịch b lỗi chạy c xrmh: d khác Cho biết kết đoạn ct sau: struct ValType { public int data; public ValType(int i) { data = i; } public static void Main() { ValType v = new ValType(2); Console.WriteLine(v.data); } } a Lỗi biên dịch b xrmh: c xrmh: d khác Cho biết kết đoạn ct sau: struct ValType { public int data = 3; public ValType(int i) { data = i; } public static void Main() { ValType v = new ValType(2); Console.WriteLine(v.data); } } a Lỗi biên dịch b xrmh: c xrmh: d xrmh: Cho biết kết đoạn ct sau: struct ValType { public int data; public static void Changce(ValType v) { v.data += 2; } public static void Main() { ValType v = new ValType(); Console.Write(v.data); Changce(v); Console.Write(v.data); } } a lỗi biên dịch b xrmh: 00 c xrmh: 02 d khác Cho biết kết đoạn ct sau: struct ValType { public int data; public ValType() { data = 2; } public static void Main() { ValType v = new ValType(); Console.WriteLine(v.data); } } a lỗi biên dịch b lỗi chạy c xrmh: d xrmh: Cho biết kết đoạn ct sau: struct ValType { public int data; public int data2; public ValType(int x,int y) { data = 2; } public static void Main() { ValType v = new ValType(); Console.WriteLine(v.data); } } a lỗi biên dịch b lỗi chạy c xrmh: d xrmh: Đoạn ct sau có kết gì? class MyClass { public int data; public override bool Equals(object obj) { MyClass other = obj as MyClass; if (other == null) return false; if (other.data != data) return false; return true; } static void Main() { MyClass m1 = new MyClass(); MyClass m2 = new MyClass(); m1.data = 2; m2.data = 2; Console.WriteLine("{0}/{1}",m1==m2,m1.Equals(m2)); } } a true/true b true/false c false/true d false/false Đoạn ct sau có kết gì? class MyClass { public int data; public override bool Equals(object obj) { MyClass other = obj as MyClass; if (other == null) return false; if (other.data != data) return false; return true; } static void Main() { MyClass m1 = new MyClass(); MyClass m2 = m1; m1.data = 2; m2.data = 4; Console.WriteLine("{0}/{1}",m1==m2,m1.Equals(m2)); } } a true/true b true/false c false/true d false/false 10 Khai báo sau hay sai: public const Object b = null; a Đúng b Sai 11 Đọan code sau in gì: public class Compoment { public static readonly Int32 c = 1; static Compoment() { c = 5; } static void Main() { Console.WriteLine(Compoment.c); } } a b c Lỗi biên dịch d khác 12 Một chương trình C# chạy máy nào? a Đúng b Sai, Một chương trình C# chạy máy có hỗ trợ Common Language Runtime (CLR) c Sai, Một chương trình C# không chạy hệ điều hành Linux 13 Một file nguồn C# biên dịch biên dịch thành a Mã máy thực thi b Mã trung gian (IL) c Mã ByteCode d Đáp án khác 14 Lớp Test cài đặt bên dưới, câu lệnh sau hợp lệ: class Test { public static int mark; public static void Print(){ } } a Test t = new Test(); t.mark = 9; b Test t = new Test(); t.Print(); c Test.mark = 9; d Test.Print(9); 15 Lớp Test cài đặt bên dưới, câu lệnh sau viết lớp Test, câu lệnh sau hợp lệ: class Test { protected static int mark; public void Print(){ } } a Test t = new Test(); t.mark = 9; b Test t = new Test(); t.Print(); 16 17 18 19 20 21 22 23 24 25 c Test.mark = 9; d Test.Print(); Trong lớp … tham số không phép overload a Constructor b Destructor c Method d Function Phát biểu sau sai a Một lớp phép có static constructor b Một class bắt buộc phải có contructor c Contructor lớp có tham số d Contructor lớp phải khai báo public Ngôn ngữ C# không hỗ trợ a Đơn thừa kế b Đa thừa kế c Implement nhiều Interface d Implement Interface Trong C#, interface a Có thể thừa kế từ lớp b Không thể thừa kế nhiều interface c Có thể thừa kế interface d Có thể cài đặt cho phương thức Lựa chọn phát biểu Trong C#: a Một lớp có nhiều lớp cha b Một lớp kế thừa tối đa lớp cha c Có thể tạo thể Interface d Có thể tạo thể lớp ảo (abstract) Lựa chọn phát biểu sai Trong C# a Phạm vi truy xuất phương thức Interface mặc định Public b Có thể đặt phạm vi truy xuất cho phương thức interface từ khoá Private c Một lớp implement tường minh phương thức interface phạm vi truy xuất phương thức bắt buộc phải public d Một interface khai báo tên phương thức không cài đặt phần thân phương thức Trong C#, … không cài đặt phần thân phương thức a Phương thức b Interface c Class d Struct Trong C#, … không cài đặt phần thân phương thức a Phương thức b Phương thức trừu tượng (được khai báo với từ khoá abstract) c Class d Struct Trong C#, lớp implement tối đa a interface b interface c không giới hạn interface d không interface Từ khoá sau dùng để khai báo lớp ảo tuý C# a default b sealed 26 27 28 29 30 31 32 33 34 35 c abstract d final Read- only property tạo ta cài đặt? a get accessor method b set accessor method c Cả A B d Cả A B sai Write-Only property tạo ta: a cài đặt get accessor method b cài đặt set accessor method c Cả get va set accessor d Cả a, b, c sai Property khai báo trong? a class b struct c Interface d Cả đáp án Property không tham số overload a b sai c khác Một class có tối đa property có tham số a b c d vô số Từ khóa virtual, override, new áp dụng cho a Method b property có tham số c property không tham số d Cả a,b,c Để khai báo mảng 10 phần tử kiểu int, khai báo sau đùng a int[10] arr; b int arr[10]; c int arr[] = new int [10]; d int[] arr = new int[10]; Trong C#, Để xuất chuỗi hình đưa trỏ hình xuống dòng ta dùng phương thức lớp System.Console a Read b ReadLine c Write d WriteLine Câu lệnh sau không bị lỗi biên dịch a int i=2; if (i==1) Console.WriteLine(i); b int i=2; if (i=1) Console.WriteLine(i); c int i=2; if (i) Console.WriteLine(i); d if (2) Console.WriteLine(i); Trong C#, để khai báo phương thức lớp phương thức tĩnh ta dùng từ khoá a public b static c void 36 37 38 39 40 41 d intenal Trong C#, phát biểu sau không a Một kiểu struct kế thừa từ struct khác b Một struct có phương thức c Một struct implement interface d Một struct có constructor Từ khoá sau dùng lớp muốn cài đặt lại phương thức thừa kế từ lớp cha a new b override c virtual d abstract Lớp D thừa kế từ lớp B, Khi tạo đối tượng lớp D hàm tạo (Constructor) gọi theo thứ tự sau a Static Constructor B -> Static Constructor D -> Constructor B -> Constructor D b Static Constructor D -> Static Constructor B -> Constructor D -> Constructor B c Static Constructor D -> Static Constructor B -> Constructor B -> Constructor D d Static Constructor B -> Static Constructor D -> Constructor D -> Constructor B Trong C#, cấu trúc sau dùng để bắt xử lý ngoại lệ a if/else b Try/Catch c Catch/Finaly d do/loop Mỗi khối try/ catch có tối đa finaly a b c d vô số Cho biết kết đoạn ct sau: class MyClass { delegate void Del(String s); public static void Main() { Del d1 = null ; d1 += PrintHello; d1("A"); } public static void PrintHello(String s) { Console.WriteLine("Hello " + s); } } a b c d xrmh: Hello A Lỗi biên dịch Lỗi Chạy Khác ... Static Constructor D -> Constructor B -> Constructor D b Static Constructor D -> Static Constructor B -> Constructor D -> Constructor B c Static Constructor D -> Static Constructor B -> Constructor... overload a Constructor b Destructor c Method d Function Phát biểu sau sai a Một lớp phép c static constructor b Một class bắt bu c phải c contructor c Contructor lớp c tham số d Contructor lớp... Constructor B -> Constructor D d Static Constructor B -> Static Constructor D -> Constructor D -> Constructor B Trong C# , c u tr c sau dùng để bắt xử lý ngoại lệ a if/else b Try/Catch c Catch/Finaly