Chương 1, 2: Giáo viên d¿y lý thuyết kết hÿp vßi lấy ví dā minh họa cho các kiến thąc lý thuyết, sau đó hưßng d¿n ngưái học thāc hành trên máy tính + Chương 3, 4: Giáo viên giÁng d¿y lý thuyết trāc tiếp trên máy tính, đồng thái hưßng d¿n ngưái học thāc hiện các bài tÁp trên máy tính. - Đối vßi ngưái học: lắng nghe, quan sát giáo viên trên lßp và nghiên cąu, làm các bài tÁp đưÿc giao. Tài liệu tham khÁo: [1] Ngọc Bích , Tưáng Thāy, Quỳnh Nga (2020), C# dành cho người tự học – Tập 1, Nhà xuất bÁn Thông tin và truyền thông. [2] Ngọc Bích, Tưáng Thāy, Quỳnh Nga (2020), C# dành cho người tự học – Tập 2, Nhà xuất bÁn Thông tin và truyền thông.
[3] Ph¿m Phương Hoa, Trần Tưáng Thāy (2020), C# dành cho người tự học, Nhà xuất bÁn Từ điển Bách khoa. CH¯¡NG 1: C¡ BÀN NGÔN NGĀ C# Giãi thißu: Trong bài trưßc chúng ta đa tìm hiểu mát chương trình C# đơn giÁn nhất. Chương trình đó chưa đă để diễn tÁ mát chương trình viết b¿ng ngôn ngÿ C#, có quá nhiều phần và chi tiết đã bỏ qua. Do vÁy trong bài này chúng ta sẽ đi sâu vào tìm hiểu cấu trúc và cú pháp căa ngôn ngÿ C#.
Bài này sẽ thÁo luÁn về hệ thống kiểu dÿ liệu, phân biệt giÿa kiểu dÿ liệu xây dāng sẵn (như int, bool, string…) vßi kiểu dÿ liệu do ngưái dùng định nghĩa (lßp hay cấu trúc do ngưái lÁp trình t¿o ra. Mát số cơ bÁn khác về lÁp trình như t¿o và sử dāng biến dÿ liệu hay h¿ng cũng đưÿc đề cÁp cùng vßi cấu trúc liệt kê, chußi, định danh, biểu thąc và cÁu lệnh. Trong phần hai căa bài hưßng d¿n và minh họa việc sử dāng lệnh phân nhánh if, switch, while, do.while, for, và foreach. Và các toán tử như phép gán, phép toán logic, phép toán quan hệ, và toán học.
Như chúng ta đa biết C# là mát ngôn ngÿ hưßng đối tưÿng rất m¿nh, và công việc căa ngưái lÁp trình là kế thừa để t¿o và khai thác các đối tưÿng. Do vÁy để nắm vÿng và phát triển tốt ngưái lÁp trình cần phÁi đi từ nhÿng bưßc đi dầu tiên tąc là đi vào tìm hiểu nhÿng phần cơ bÁn và cốt lõi nhất căa ngôn ngÿ. Tóm tắt nái dung chính: - Kiểu dÿ liệu trong C# bao gồm : kiểu dÿ liệu đưÿc cài đặt sẵn như int, char…và kiểu dÿ liệu do ngưái sử dāng định nghĩa. Khi kiểu dÿ liệu đưÿc khai báo đều thuác mát trong hai laọi chính là kiểu giá trị (Value Types) dùng để lưu trÿ giá trị hay kiểu tham chiếu (Reference Types) dùng để lưu trÿ tham chiếu đến giá trị thāc.
- Tìm hiểu về cách khai báo biến, các kiểu dÿ liệu, h¿ng và enum đưÿc sử dāng trong C#; - Các phép toán sử dāng trong chương trình C# và cách khai chuyển đổi kiểu dÿ liệu; - Danh sách phát biểu điều khiển sắp xếp nhóm như : Phát biểu rẽ nhánh (Selection), vòng lặp (Iteration), nhÁy (Jump), khối lệnh (using), kiểm tra (Checked và Unchecked), khoá (lock) và bố trí (Fixed); - Kiểm soát đưÿc các lßi có thể phát sinh trong quá trình thi hành, sử dāng cấu trúc try… catch… finally. Các v¿n đà chính s¿ đ°ÿc đà cÁp Kiểu dÿ liệu Kiểu dÿ liệu xây dāng sẵn Chọn kiểu dÿ liệu Chuyển đổi các kiểu dÿ liệu Biến và h¿ng Gán giá trị xác định cho biến H¿ng Kiểu liệt kê Kiểu chußi kí tā Định danh 1 Biểu thąc KhoÁng trắng Câu lệnh Phân nhánh không có điều kiện Phân nhánh có điều kiện Câu lệnh lặp Toán tử Namespace Các chỉ d¿n biên dịch Lßp ngo¿i lệ Cấu trúc kiểm soát ngo¿i lệ try…catch…finally Ném lßi Sử dāng debugger Māc tiêu: Sau khi học xong bài này, học viên có khả năng: - Phân biệt đưÿc các kiểu dÿ liệu, trình bày ph¿m vi, các phép toán trên các kiểu dÿ liệu; - Khai báo đưÿc biến và đối tưÿng có kiểu dÿ liệu trưßc khi sử dāng; - Sử dāng đúng cú pháp các câu lệnh điều kiện, vòng lặp, xử lý lßi; - Kiểm soát đưÿc các lßi phát sinh trong chương trình; - Sử dāng thành th¿o debugger; - Thāc hiện các thao tác an toàn vßi máy tính.1 Giãi thißu ngôn ngā C# Ngôn ngÿ C# khá đơn giÁn, chỉ khoÁng hơn 80 từ khóa và hơn mưái mấy kiểu dÿ liệu đưÿc dāng sẵn. Tuy nhiên, ngôn ngÿ C# có ý nghĩa to lßn khi nó thāc thi nhÿng khái niệm lÁp trình hiện đ¿i. C# bao gồm tất cÁ nhÿng hß trÿ cho cấu trúc, thành phần component, lÁp trình hưßng đối tưÿng.
Nhÿng tính chất đó hiện diện trong mát ngôn ngÿ lÁp trình hiện đ¿i. Hơn nÿa ngôn ngÿ C# đưÿc xây dāng trên nền tÁng hai ngôn ngÿ m¿nh nhất là C++ và Java. Tóm l¿i, C# có các đặc trưng sau đây: - C# là ngôn ngÿ đơn giÁn - C# là ngôn ngÿ hiện đ¿i - C# là ngôn ngÿ hưßng đối tưÿng - C# là ngôn ngÿ m¿nh mẽ và mềm dẻo - C# là ngôn ngÿ hưßng module - C# sẽ trã nên phổ biến - C# là ngôn ngÿ đơn giÁn - C# lo¿i bỏ đưÿc mát vài sā phąc t¿p và rối rắm căa các ngôn ngÿ C++ và Java. - C# khá giống C / C++ về diện m¿o, cú pháp, biểu thąc, toán tử.
- Các chąc nng căa C# đưÿc lấy trāc tiếp từ ngôn ngÿ C / C++ nhưng đưÿc cÁi tiến để làm cho ngôn ngÿ đơn giÁn hơn. C# là ngôn ngÿ hiện đ¿i 2 - Xử lý ngo¿i lệ - Thu gom bá nhß tā đáng - Có nhÿng kiểu dÿ liệu mã ráng - BÁo mÁt mã nguồn C# hß trÿ tất cÁ nhÿng đặc tính căa ngôn ngÿ hưßng đối tưÿng là: - Sā đóng gói (encapsulation) - Sā kế thừa (inheritance) - Đa hình (polymorphism) C# là ngôn ngÿ m¿nh mẽ và mềm dẻo - Vßi ngôn ngÿ C#, chúng ta chỉ bị gißi h¿n ã chính bÁn thân căa chúng ta. Ngôn ngÿ này không đặt ra nhÿng ràng buác lên nhÿng việc có thể làm. - C# đưÿc sử dāng cho nhiều dā án khác nhau như: t¿o ra ąng dāng xử lý vn bÁn, ąng dāng đồ họa, xử lý bÁng tính; thÁm chí t¿o ra nhÿng trình biên dịch cho các ngôn ngÿ khác.
- C# là ngôn ngÿ sử dāng gißi h¿n nhÿng từ khóa. Phần lßn các từ khóa dùng để mô tÁ thông tin, nhưng không gì thế mà C# kém phần m¿nh mẽ. Chúng ta có thể tìm thấy r¿ng ngôn ngÿ này có thể đưÿc sử dāng để làm bất cą nhiệm vā nào. C# là ngôn ngÿ hưßng module - Mã nguồn căa C# đưÿc viết trong Class (lßp).
Nhÿng Class này chąa các Method (phương thąc) thành viên căa nó. - Class (lßp) và các Method (phương thąc) thành viên căa nó có thể đưÿc sử dāng l¿i trong nhÿng ąng dāng hay chương trình khác.2 Môi tr°ång lÁp trình 1.1 Sử dụng Notepad soạn thảo B°ãc 1: So¿n thÁo tÁp tin và lưu vßi tên C:\ChaoMung.cs có nái dung như sau class ChaoMung { static void Main() { Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi C# 2008 ' System.ReadLine() ; } } B°ãc 2: Vào menu Start | All Programs | Microsoft Visual Studio 2008 | Visual Studio Tools | Visual Studio 2008 Command Prompt B°ãc 3:Gõ lệnh biên dịch tÁp tin ChaoMung.cs sang tÁp tin ChaoMung.exe C:\> csc /t:exe /out:chaomung.cs - Ch¿y tÁp tin ChaoMung.exe và đưÿc kết quÁ như sau : C:\> chaomung.exe Chao mung ban den voi C# 3 1.2 Sử dụng Micosoft Visual Studio B°ãc 1: Khãi đáng Visual Studio 2008 Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008 B°ãc 2: Vào menu File | New | Project B°ãc 3: Khai báo * Mặc định: Visual Studio 2008 (Visual Studio .NET) sẽ t¿o ra tÁp tin Program.cs chąa mát namespace tên ChaoMung và trong namespace này chąa mát class tên Program. B°ãc 4: trong phương thąc Main, gõ đo¿n mã lệnh sau * Ví dā: B°ãc 5: Để ch¿y chương trình, nhấn F5 hoặc nhắp vào nút 1.3 BiÁn, h¿ng, toán tÿ 1.1 Biến Khái nißm Biến là mát vùng lưu trÿ ąng vßi mát kiểu dÿ liệu. Biến có thể đưÿc gán giá trị và cũng có thể thay đổi giá trị trong khi thāc hiện các lệnh căa chương trình.
Khai báo biÁn: Sau khi khai báo biến phÁi gán giá trị cho biến <Kiểu_Dā_Lißu> <tên_biÁn> [ = <giá_trß> ] ; Ví dā 1.1: Khãi t¿o và gán giá trị mát biến 4 1.2 Hằng Khái nißm H¿ng cũng là mát biến nhưng giá trị căa h¿ng không thay đổi trong khi thāc hiện các lệnh căa chương trình. H¿ng đưÿc phân làm 3 lo¿i: + Giá trị h¿ng (literal) + Biểu tưÿng h¿ng (symbolic constants) + Kiểu liệt kê (enumerations) Giá trị h¿ng: Ví dā: x = 100; // 100 đưÿc gọi là giá trị h¿ng Biểu t°ÿng h¿ng: gán mát tên h¿ng cho mát giá trị h¿ng. Khai báo: <const> <Kiểu_Dā_Lißu> <tên_h¿ng> = <giá_trß> ; Ví dā 1.2: NhÁp vào bán kính, in ra chu vi và diện tích hình tròn. 5 Kiểu lißt kê: là tÁp hÿp các tên h¿ng có giá trị số không thay đổi (danh sách liệt kê) Khai báo: <enum> <Tên_Kiểu_Lißt_Kê> { <tên_h¿ng_1> = <giá_trị_số_1>, <tên_h¿ng_2> = <giá_trị_số_2>, .3 Toán tử - Toán tử toán học: + , - , * , / , % - Toán tử tng / giÁm: += , -= , *= , /= , %= - Toán tử tng / giÁm 1 đơn vị: ++ , -- - Toán tử gán: = - Toán tử quan hệ: == , != , > , >= , < , <= - Toán tử logic: ! , && , || - Toán tử 3 ngôi: (Điều_Kiện) ? (Biểu_Thąc_1) : (Biểu_Thąc_2) ; 1.4 Kiểu dā lißu C# chia kiểu dÿ liệu thành hai tÁp hÿp kiểu dÿ liệu chính: - Kiểu xây dāng sẵn (built-in): do ngôn ngÿ cung cấp cho ngưái lÁp trình.
- Kiểu do ngưái dùng định nghĩa (user-defined): do ngưái lÁp trình t¿o ra.1 Kiểu dữ liệu dựng sẵn Kiểu C# Sß byte Kiểu .NET Mô tÁ byte 1 Byte Số nguyên dương không dấu từ 0 đến 255 char 2 Char Ký tā Unicode bool 1 Boolean Giá trị logic true / false sbyte 1 Sbyte Số nguyên có dấu từ -128 đến 127 short 2 Int16 Số nguyên có dấu từ -32768 đến 32767 ushort 2 Uint16 Số nguyên dương không dấu từ 0 đến 65535 int 4 Int32 Số nguyên có dấu từ -2.647 6 Kiểu C# Sß byte Kiểu .NET Mô tÁ uint 4 Uint32 Số nguyên không dấu từ 0 đến 4.295 float 4 Single Kiểu dấu chấm đáng, giá trị xấp xỉ từ -3.4E+38, vßi 7 chÿ số có nghĩa double 8 Double Kiểu dấu chấm đáng có đá chính xác gấp đôi, giá trị xấp xỉ từ -1.