Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
0,93 MB
Nội dung
NGÔNNGỮ C#
ThS. NguyễnHà Giang
Nguyen HaGiang -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. Collections
10. Kiểu enumeration
Nguyen HaGiang -2009
Cấu trúc chương trình C#
3
using <namespace sử dụng>
…
namespace <TênNamespace>
{
[Khóatruyxuất]
class <Tênlớp>
{
publicstaticvoid Main()
{
…
}
// thànhviênkhác…
}
// lớpkhác…
Nguyen HaGiang -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 HaGiang -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 HaGiang -2009
Data Type
6
¤ Baogồm
Lớpđốitượng object
Kýtự char
Chuỗi string
Số nguyêncódấu sbyte, short, int, long
Số nguyênkhôngdấu byte, ushort, uint, ulong
Số thực float, double, decimal
Kiểulogic bool
¤ Làalias củalớpdữliệutrong.NET
string System.String
int System.Int32
object System.Object
Nguyen HaGiang -2009
Data Type
7
¤ Sử dụng kiểu dữ liệu
Định nghĩa trước (C#)
n Built-in value type: int, long, string, object…
Chương trình định nghĩa
n Class, struct, enum…
n Person, Student, Employee…
Data Type
Built-in User defined
Nguyen HaGiang -2009
The built-in value type
Name CTS Type Size 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 HaGiang -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#
n object o = new object();
¤ string: Sytem.String
Chuỗi ký tự Unicode
n string s1 = “Hutech”;
n string s2 = “Hi”;
n string s = s1 + s2;
Nguyen HaGiang -2009
The built-in reference type
10
[...]... 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 NguyenHaGiang- 2009 Type cast 24 ¤ ¤ Ép kiểu: chuyển giá trị từ kiểu này sang kiểu khác Ví dụ Chuyển từ int qua float và ngược lại ¤ Có hai loại Ép kiểu ngầm định (implicit type-cast) Ép kiểu chỉ định (explicit type-cast) NguyenHaGiang- 2009 Implicit type cast 25 ¤ ¤ ¤ Do C# tự thực hiện Không cần lập trình... tính toán vào lúc biên dịch Hằng bao giờ cũng static NguyenHaGiang- 2009 Constant ¤ Ưu điểm Chương trình dễ đọc, khắc phục những con số “magic number” trong code Chương trình dễ sửa hơn Tránh lỗi dễ dàng hơn, trình biên dịch sẽ báo lỗi nếu gán lại giá trị cho hằng NguyenHaGiang- 2009 19 Constant 20 ¤ Minh họa sử dụng hằng NguyenHaGiang- 2009 Đ nh nghĩa h ng readonly 21 const: ph i đư c gán giá... Convert.ToByte(x); // j = 56, ít dùng NguyenHaGiang- 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() / Console.WriteLine() NguyenHaGiang- 2009 Console I/O 30 ¤ Console.WriteLine() \n: ký t xu ng dòng NguyenHaGiang- 2009 Console I/O 31 / F5 Đ c chu i Xu t chu... Console.WriteLine(“Fixed-point formatting – {0:F3}”, 888.8888) Chu i xu t: “Fixed-point formatting – 888.889” Console.WriteLine(“General formatting – {0:G}”, 888.8888) Chu i xu t: “General formatting – 888.8888” NguyenHaGiang- 2009 Boxing & Unboxing 36 ¤ ¤ Kiểu giá trị có thể được chuyển thành kiểu đối tượng Boxing Boxing ¤ Unboxing Unboxing NguyenHaGiang- 2009 ... không được trùng nhau Phải khác với từ khóa (có thể dùng “@” trước từ khóa làm identifier) NguyenHaGiang- 2009 Keyword 17 Các t khóa trong C# 2005 abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit NguyenHaGiang- 2009 extern false finally fixed float for foreach get goto if implicit in operator int out interface... NguyenHaGiang- 2009 Console I/O 32 ¤ Text Format trong Write/WriteLine Cho phép dùng tham số để định dạng width chuỗi xuất, cũng như việc canh lề trái, phải Console.WriteLine(“Canh le trai voi width = 10: {0, -1 0}”, 99); Chu i xu t: “Canh le trai voi width = 10: 99 ” Console.WriteLine(“Canh le trai voi width = 10: {0, 10}”, 99); Chu i xu t: “Canh le trai voi width = 10: NguyenHaGiang- 2009 99”... ushort, int, uint, long, ulong, float, double, decimal NguyenHaGiang- 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ị double x = 74.86; int i = ((int))x; // i = 74 Ép từ lớp cơ sở qua lớp dẫn xuất string s = "Hello"; object o = s; string s2 = (string)o; NguyenHaGiang- 2009 Using Convert class 28 ¤ ¤ Thường dùng khi cần chuyển... type int num; long count; Object obj = new Object(); String str = “reference type”; NguyenHaGiang- 2009 Value Type 12 ¤ ¤ Chứa giá trị trực tiếp Không thể null int i = 59; double x = 7.83; int a = i; Phải chứa giá trị xác định ¤ Bao gồm Primitive type n double, char, int, float Enum struct NguyenHaGiang- 2009 i 59 x 7 83 a 59 Reference type 13 ¤ ¤ ¤ Chỉ tới nơi chứa dữ liệu Có thể null null: không... (delegate) string s1 = "Hello"; string s2 = "Bye"; string s3; s3 = s1; s1 s3 s2 NguyenHaGiang- 2009 "He l l o" "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 NguyenHaGiang- 2009 14 Identifier 15 ¤ Định danh: những từ được đặt ra để đại diện cho mọi thứ dùng trong... i đư c Chưa đư c kh i gán Ko đư c thay đ i NguyenHaGiang- 2009 Variable 22 ¤ ¤ Biến là nơi lưu dữ liệu của chương trình Dữ liệu của biến Nằm trong bộ nhớ vật lý (physical RAM) Có thể thay đổi giá trị ¤ Phải khai báo trước khi dùng Identifier: tên để đại diện cho biến Data type: dạng lưu trữ dữ liệu của biến Data type identifier NguyenHaGiang- 2009 Variable 23 ¤ Phạm vi (scope) Được xác định bởi . NGÔNNGỮ C# ThS. Nguyễn Hà Giang Nguyen Ha Giang -2 009 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 Type Built-in User defined Nguyen Ha Giang -2 009 The built-in value type Name CTS Type Size Range sbyte System.SByte 8 -1 28 127 short System.Int16 16 (-3 2768 32767) int Sytem. Int32 32 -2 31 2 31 -1 long. 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 -2 009 Cấu trúc chương trình C# 5 ¤ Nếu ko có namespace