Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,65 MB
Nội dung
NGÔN NGữ C# ThS. Nguyễn Hà Giang Nguyen Ha Giang - 2009 Content 2 1. Cấu trúc chương trình C# 2. Kiểu dữ liệu, từ khoá, định danh biến, hằng… 3. Chuyển đổi kiểu 4. Console I/O 5. Tham số ref, out, param 6. Lệnh lặp for, while, do while, foreach 7. Lệnh phân nhánh switch, lệnh nhảy 8. Mảng 1 chiều, đa chiều 9. Kiểu enumeration Nguyen Ha Giang - 2009 Cấu trúc chương trình C# 3 using <namespace s d ng>ử ụ … namespace <Tên Namespace> { [Khóa truy xu t] ấ class <Tên l p> ớ { public static void Main() { … } // thành viên khác … } // l p khác …ớ using <namespace s d ng>ử ụ … namespace <Tên Namespace> { [Khóa truy xu t] ấ class <Tên l p> ớ { public static void Main() { … } // thành viên khác … } // l p khác …ớ Nguyen Ha Giang - 2009 Cấu trúc chương trình C# 4 using: làm code gọn hơn, ko cần phải dùng tên của namspace using System. namespace của chương trình: ko bắt buộc class: tối thiểu có 1 lớp chứa hàm entry point Main của chương trình public static void Main(): hàm entry point của chương trình C# Nguyen Ha Giang - 2009 Cấu trúc chương trình C# 5 Nếu ko có namespace ⇒ namespace mặc định ko tên Namespace có thể chứa: struct, interface, delegate, enum Trường hợp đơn giản nhất: 1 lớp, 1 file cs và namespace mặc định Nguyen Ha Giang - 2009 Data Type 6 Bao gồm Lớp đối tượng object ký tự char Chuỗi string Số nguyên có dấu sbyte, short, int, long Số nguyên không dấu byte, ushort, uint, ulong Số thựcfloat, double, decimal Kiểu logic bool Là alias của lớp dữ liệu trong .NET s string System. S String i int System. I Int32 o object System. O Object Nguyen Ha Giang - 2009 Data Type 7 Sử dụng kiểu dữ liệu Định nghĩa trước (C#) Built-in value type: int, long, string, object… Chương trình định nghĩa Class, struct, enum… Person, Student, Employee… Data Type Built-in Built-in User dened User dened Nguyen Ha Giang - 2009 The built-in value type Name Name CTS Type CTS Type Size Size Range Range sbyte System.SByte 8 -128 127 short System.Int16 16 (-32768 32767) int Sytem. Int32 32 -2 31 2 31 -1 long Sytem. Int64 64 -2 63 2 63 -1 byte System.SByte 8 0 255 ushort System.UInt16 16 (0 65535) uint System.UInt32 32 0 2 32 -1 ulong System.UInt64 64 0 2 64 -1 float System.Single 32 x p x t 3,4E - 38 đ n 3,4E+38ấ ỉ ừ ế double System.Double 64 1,7E-308 đ n 1,7E+308ế decimal System.Decimal 128 Có đ chính xác đ n 28 con sộ ế ố bool System.Boolean Ki u true/falseể char System.Char 16 Ký t unicodeự 8 Nguyen Ha Giang - 2009 The built-in reference type 9 object: Sytem.Object Kiểu dữ liệu gốc, cha của tất cả các kiểu dữ liệu trong C# object o = new object(); string: Sytem.String Chuỗi ký tự Unicode string s1 = “Hutech”; string s2 = “Hi “; string s = s1 + s2; Nguyen Ha Giang - 2009 The built-in reference type 10 [...]... Phải khác với từ khóa (dùng “@” khắc phục) Nguyen Ha Giang - 2009 Keyword 17 Nguyen Ha Giang - 2009 Constant 18 Một hằng là một biến nhưng trị không thay đổi const int a = 100; // giá trị ko thể thay đổi Hằng bắt buộc phải được gán giá trị lúc khai báo Trị của hằng có thể được tính toán vào lúc biên dịch Hằng bao giờ cũng static Nguyen Ha Giang - 2009 Constant Ưu điểm Chương trình dễ đọc,... biên dịch sẽ báo lỗi nếu gán lại giá trị cho hằng Nguyen Ha Giang - 2009 19 Constant 20 Minh họa sử dụng hằng Nguyen Ha Giang - 2009 Định nghĩa hằng readonly 21 const: phải được gán giá trị khi khai báo const readonly: ko cần khởi tạo trước, khi gán giá trị thì sau đó ko thay đổi được readonly Chưa được khởi gán Ko được thay đổi Nguyen Ha Giang - 2009 Variable 22 Biến là nơi lưu dữ liệu của chương... byte j = Convert.ToByte(x); // j = 56, ít dùng Nguyen Ha Giang - 2009 Console I/O 29 Để đọc ký tự văn bản từ cửa sổ console Console.Read() giá trị trả về là int Console.ReadLine() giá trị trả về là string Để xuất chuỗi ký tự dùng Console.Write() Nguyen Ha Giang - 2009 / Console.WriteLine() Console I/O 30 Console.WriteLine() Nguyen Ha Giang - 2009 \n: ký tự xuống dòng Console I/O 31 / F5... dòng Console I/O 31 / F5 Đọc chuỗi Xuất chuỗi Chờ đọc 1 dòng, mục đích là dừng màn hình Nguyen Ha Giang - 2009 Boxing & Unboxing 32 Kiểu giá trị có thể được chuyển thành kiểu đối tượng Boxing Boxing Unboxing Unboxing Nguyen Ha Giang - 2009 checked & unchecked 33 throws OverFlowException Nguyen Ha Giang - 2009 ref, out, param 34 ref: tương tự như truyền tham chiếu trong C/C++ Từ khoá ref... ref cho tham số khi gọi hàm Khai báo ref trước kiểu dữ liệu Nguyen Ha Giang - 2009 ref, out, param 35 out: tương tự như ref Khác ref là ko cần khởi tạo giá trị trước khi truyền Dùng trước tham số khi gọi hàm Khai báo cho tham số Nguyen Ha Giang - 2009 ref, out, param 36 Luôn khai báo ở cuối danh sách tham số 3 phần tử Nguyen Ha Giang - 2009 6 phần tử Mảng array ... kiểu ngầm định (implicit typecast) Ép kiểu chỉ định (explicit type-cast) Nguyen Ha Giang - 2009 Implicit type cast 25 Do C# tự thực hiện Không cần lập trình viên can thiệp Xảy ra khi Ép từ kiểu nhỏ qua kiểu lớn int i = 59; double x = i; Ép từ lớp dẫn xuất qua lớp cơ sở string s = "Hello"; object o = s; Nguyen Ha Giang - 2009 Implicit type-cast From To sbyte short, int, long, float, double,... Data type: dạng lưu trữ dữ liệu của biến Data type Nguyen Ha Giang - 2009 identifier Variable 23 Phạm vi (scope) Được xác định bởi cặp dấu { và } Có thể chứa phạm vi nhỏ hơn Vị trí khai báo biến Trong thân phương thức: biến cục bộ Trong thân lớp: thuộc tính Biến trong C# chỉ có tác dụng trong phạm vi mà nó được khai báo Nguyen Ha Giang - 2009 Type cast 24 Ép kiểu: chuyển giá trị từ... Reference Value type type int num; long count; Object obj = new Object(); String str = “reference type”; Nguyen Ha Giang - 2009 Value Type 12 Chứa giá trị trực tiếp Không thể null Phải chứa giá trị xác định Bao gồm Primitive i type double, char, int, float Enum struct Nguyen Ha Giang - 2009 int i = 59; double x = 7.83; int a = i; 59 x 7.83 a 59 Reference type 13 Chỉ tới nơi chứa dữ... diện (interface) Mảng (array) Đại diện (delegate) Nguyen Ha Giang - 2009 string s1 = "Hello"; string s2 = "Bye"; string s3; s3 = s1; s1 "Hello" s3 s2 "Bye" Value type vs Reference type Characteristic Value type Variable hold Value Reference type Reference Allocated Stack Heap Default Zero Null Parameter Copy value Copy reference Nguyen Ha Giang - 2009 14 identifier 15 Định danh: những từ được đặt... ulong float, double, decimal float double char ushort, int, uint, long, ulong, float, double, decimal Nguyen Ha Giang - 2009 26 Explicit type-cast 27 Do lập trình viên chỉ định Xảy ra khi Ép từ kiểu lớn qua kiểu nhỏ: có thể mất giá trị x = 74.86; double int i = (int)x; // i = 74 Ép Nguyen Ha Giang - 2009 từ lớp cơ sở qua lớp dẫn xuất string s = "Hello"; object o = s; string s2 = (string)o; Using . NGÔN NGữ C# ThS. Nguyễn Hà Giang Nguyen Ha Giang - 2009 Content 2 1. Cấu trúc chương trình C# 2. Kiểu dữ liệu, từ khoá, định danh biến, hằng… 3. Chuyển. chương trình public static void Main(): hàm entry point của chương trình C# Nguyen Ha Giang - 2009 Cấu trúc chương trình C# 5 Nếu ko có namespace ⇒ namespace mặc định ko tên Namespace có thể. và namespace mặc định Nguyen Ha Giang - 2009 Data Type 6 Bao gồm Lớp đối tượng object ký tự char Chuỗi string Số nguyên có dấu sbyte, short, int, long Số nguyên không dấu byte,