NỘI DUNG:Cấu trúc chương trình C# Các kiểu dữ liệu trong C# Cấu trúc điều khiển trong C# Kiểu dữ liệu mảng Bẫy lỗi... NỘI DUNG:Cấu trúc chương trình C# Các kiểu dữ liệu trong C#
Trang 1TRƯỜNG ĐẠI HỌC NHA TRANG
CHỦ ĐỀ 1
KIỂU DỮ LIỆU, CÚ PHÁP TRONG NGÔN NGỮ LẬP TRÌNH C#
LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI C#
Trang 2NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 3NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 4Cấu trúc chương trình C#:
Trang 5Cấu trúc chương trình C#:
Trang 6- Nhóm các tính năng có liên quan của C# vào một loại
- Cho phép dễ dàng tái sử dụng mã
- Trong thư viện NET framework có nhiều không gian tên
- Phải tham chiếu tới để sử dụng
Trang 7Các Namespaces cơ bản:
Trang 9Phương thức Main:
- Phương thức Main có tham số:
static void Main(string [] args)
- Phương thức Main không có tham số:
static void Main()
- Phương thức Main trả về giá trị kiểu int:
static int Main(string [] args)
static int Main()
Trang 11NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 12Phân loại kiểu dữ liệu:
- Phân theo phương thức định nghĩa:
Build-in (có sẵn)
User-defined (người dùng tự định nghĩa)
- Phân theo cách thức lưu trữ:
Value (tham trị)
Reference (tham chiếu)
Trang 14Kiểu dữ liệu cơ sở:
Trang 15- Một vùng nhớ có định kiểu
- Có thể gán và thay đổi được giá trị
- Các biến phải được khởi gán trước khi sử dụng, nếu không, trình biên dịch sẽ báo lỗi
Trang 16Tầm vực của biến:
- public: không giới hạn quyền truy nhập từ bên ngoài
- protected: giới hạn quyền truy nhập trong class và những class
kế thừa từ class chứa biến
- private: cho phép truy nhập chỉ bên trong class khai báo nó
- internal: giới hạn truy nhập trong cùng Assembly
Biến tĩnh (static): dùng khi muốn biến giữ giá trị từ class này sang class
khác.
Trang 17Ký tự đặc biệt trong giá trị dạng chuỗi:
• Dùng ký tự @
Trang 19Chuyển đổi kiểu dữ liệu:
- Chuyển đổi ngầm (implicity): quá trình chuyển đổi diễn ra tự động và đảm bảo không bị mất mát dữ liệu
- Chuyển đổi tường minh (explicity) sử dụng toán tử chuyển đổi (cast operator)
short x=5;
int y=x;
double a = 34.5;
int b = (int) a;
Trang 20Chuyển đổi kiểu dữ liệu:
• Dùng Convert: Convert.ToDataType(Source value)
Trang 21NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 22Các câu lệnh trong C#:
- Một chương trình C# là một dãy các câu lệnh (statements)
- Mỗi câu lệnh kết thúc bởi dấu “;”
- Các câu lệnh được xử lý tuần tự theo chiều từ trên xuống dưới (trừ các câu lệnh điều khiển: lệnh nhảy, lệnh lặp…)
Trang 23Lệnh nhảy không điều kiện:
- Có hai trường hợp phát sinh:
Có lời gọi một phương thức
Sử dụng một trong các lệnh: goto, break, continue, return hoặc throw
Trang 24Lệnh nhảy có điều kiện:
Trang 25Các lệnh lặp:
Trang 26Truyền tham số cho phương thức:
- Mặc định tham số truyền cho phương thức là kiểu tham trị
- C# hỗ trợ truyền tham chiếu sử dụng các từ khóa: ref, out
Trang 27Truyền tham số cho phương thức:
Trang 28NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 29Mảng một chiều:
Trang 30Mảng một chiều:
Trang 31Mảng nhiều chiều:
Trang 32Một số lớp mảng:
- Array: Cung cấp các phương thức dùng để tạo, thao tác, tìm
kiếm và sắp xếp mảng
- List<>: Kiểu danh sách object
Các thuộc tính: Capacity, Count, …
Các phương thức: Add, Clear, Insert, Remove, Contains, SortList, …
Trang 33Ví dụ, xây dựng chương trình gồm một biểu mẫu có giao diện sau:
Trang 34Ví dụ, chương trình thực thi khi chọn mảng phát sinh ngẫu nhiên và sắp xếp giảm:
Trang 35Code xử lý cho nút lệnh phát sinh mảng ngẫu nhiên:
n = int.Parse(txtN.Text); txtMang = new TextBox[n]; a = new int[n];
Random rd = new Random(); groupMang.Controls.Clear();
Trang 37Code xử lý cho nút lệnh sắp xếp giảm:
groupKetQua.Controls.Clear(); txtMang = new TextBox[n];
Trang 38Code xây dựng hàm kiểm tra một số nguyên bất kỳ có phải là số nguyên tố hay không?
if(n % i==0) dem++;
if(dem <=2) return true;
else return false;
Trang 39Code xử lý cho nút lệnh Tìm số nguyên tố:
Trang 40Code xử lý cho nút lệnh thoát:
DialogResult thoat;
thoat = MessageBox.Show("Bạn có chắc chắn thoát
báo",MessageBoxButtons YesNo);
if(thoat ==DialogResult Yes )
Close();
Trang 41NỘI DUNG:
Cấu trúc chương trình C#
Các kiểu dữ liệu trong C#
Cấu trúc điều khiển trong C#
Kiểu dữ liệu mảng
Bẫy lỗi
Trang 42Các loại lỗi:
• Syntax error: biên dịch chương trình
• Runtime Error: chạy chương trình (ngoại lệ)
• Logical Error: thuật giải sai, tính toán sai
Trang 43Tình huống ngoại lệ:
Trang 44Tình huống ngoại lệ:
Trang 46Xử lý ngoại lệ:
• Hai cơ chế xử lý ngoại lệ:
– Giải quyết tức thì: C# sử dụng cấu trúc try…catch…finally để kiểm tra, bắt và xử lý ngoại lệ.
– Ném ngoại lệ ra ngoài.
Trang 47try…catch…finally
Trang 48Ném ngoại lệ:
- Khi một ngoại lệ được tung ra, chương trình ngay lập tức sẽ dừng lại và CLR sẽ tìm, kiểm tra chương trình bắt ngoại lệ, nếu không tìm thấy nó sẽ kết thúc chương trình
Trang 49Các lớp ngoại lệ của NET:
Trang 50Các lớp ngoại lệ của NET:
Trang 51Các lớp ngoại lệ của NET:
Trang 52Tự tạo ngoại lệ:
- Bắt buộc kế thừa từ System.ApplicationException
- Cú pháp: