Kiểu dữ liệu C sharp 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 do ngôn ngữ cung cấp cho người lập trình.chúng ra sẽ bắt đầu làm quen với các kiểu dữ liệu trong C sharp
Bài 2: (tiếp theo) KIỂU DỮ LIỆU – CẤU TRÚC ĐIỀU KHIỂN – CẤU TRÚC LẶP V Kiểu liệu C# chia kiểu liệu thành hai tập hợp kiểu liệu chính: - Kiểu xây dựng sẵn (built-in): ngơn ngữ cung cấp cho người lập trình - Kiểu người dùng định nghĩa (user-defined): người lập trình tạo Kiểu liệu dựng sẵn Kiểu C# byte char bool sbyte short ushort int Số byte 1 2 Kiểu NET Byte Char Boolean Sbyte Int16 Uint16 Int32 uint float 4 Uint32 Single double Double decimal Decimal long Int64 ulong Uint64 Mô tả Số nguyên dương không dấu từ đến 255 Ký tự Unicode Giá trị logic true / false Số nguyên có dấu từ -128 đến 127 Số nguyên có dấu từ -32768 đến 32767 Số nguyên dương không dấu từ đến 65535 Số nguyên có dấu từ -2.147.483.647 đến 2.147.483.647 Số ngun khơng dấu từ đến 4.294.967.295 Kiểu dấu chấm động, giá trị xấp xỉ từ -3.4E-38 đến 3.4E+38, với chữ số có nghĩa Kiểu dấu chấm động có độ xác gấp đôi, giá trị xấp xỉ từ -1.7E-308 đến 1.7E+308, với 15, 16 chữ số có nghĩa Có độ xác đến 28 số giá trị thập phân, dùng tính tốn tài chính, kiểu địi hỏi phải có hậu tố “m” hay “M” Kiểu số nguyên có dấu có giá trị khoảng -9.223.370.036.854.775.808 đến 9.223.372.036.854.775.807 Số nguyên không dấu từ đến 0xfffffffffffffff * Bảng trình bày ký tự đặc biệt Ký tự \' \" \\ \0 \a \b \f \n \r \t \v Lưu hành nội Ý nghĩa Dấu nháy đơn Dấu nháy kép Dấu chéo Ký tự null Alert Backspace Sang trang form feed Dòng Đầu dòng Tab ngang Tab dọc Trang Chuyển đổi kiểu liệu Ví dụ a: short x = 10 ; int y = x ; // chuyển đổi ngầm định Ví dụ b: short x ; int y = 100 ; x = (short) y ; // ép kiểu tường minh, trình biên dịch khơng báo lỗi Ví dụ c: short x ; int y = 100 ; x = y ; // không biên dịch, lỗi VI Cấu trúc điều khiển Câu lệnh if … else a) Cú pháp: if (Điều_Kiện) [else ] b) Ví dụ 2.1: Dùng câu lệnh điều kiện if … else using System; class Chan_Le { static void Main() { // Khai bao va khoi tao bien int bienDem = ; // Xuat man hinh if (bienDem % == 0) Console.WriteLine("{0} la so chan", bienDem) ; else Console.WriteLine("{0} la so le", bienDem) ; } } Câu lệnh if lồng a Cú pháp: if (Điều_Kiện_1) else if (Điều_Kiện_2) else b Ví dụ 2.2: using System; class Thu_Trong_Tuan Lưu hành nội Trang 10 { static void Main() { // Khai bao va khoi tao bien int thu = ; // 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu, // 4: Thu nam, 5: Thu sau, 6: Thu bay // Xuat man hinh if ((thu == 1) || (thu == 3) || (thu == 5)) Console.WriteLine("Day la 2-4-6") ; else if ((thu == 2) || (thu == 4) || (thu == 6)) Console.WriteLine("Day la 3-5-7") ; else Console.WriteLine("Day la chu nhat") ; } } Câu lệnh switch a Cú pháp: switch (Biểu_Thức) { case : < Khối lệnh 1> case : < Khối lệnh 2> … [default: < Khối lệnh khác>] } b Ví dụ 2.3: using System; class Thu { static void Main() { // Khai bao va khoi tao bien int thu = ; // 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu, // 4: Thu nam, 5: Thu sau, 6: Thu bay // Xuat man hinh switch (thu) { case 0: Console.WriteLine("Chu nhat") ; break; case 1: Console.WriteLine("Thu hai") ; break; case 2: Lưu hành nội Trang 11 Console.WriteLine("Thu ba") ; break; case 3: Console.WriteLine("Thu tu") ; break; case 4: Console.WriteLine("Thu nam") ; break; case 5: Console.WriteLine("Thu sau") ; break; case 6: Console.WriteLine("Thu bay") ; break; default: Console.WriteLine("Khong phai la thu tuan") ; break; } } } VII Cấu trúc lặp Lệnh lặp while a Cú pháp: while (Điều_Kiện) < Khối lệnh> b Ví dụ 2.4: using System; class UsingWhile { static void Main() { // Khai bao va khoi tao bien dem int i = ; // Xuat man hinh while (i while (Điều_Kiện) ; Lưu hành nội Trang 12 b Ví dụ 2.5: using System; class UsingDoWhile { static void Main() { // Khai bao va khoi tao bien dem int i = ; // Xuat man hinh { Console.WriteLine("i = {0}",i) ; i++ ; // tang bien dem } while (i b Ví dụ 2.6: using System; class UsingFor { static void Main() { for (int i=1 ; i b Ví dụ 2.7: using System; public class UsingForeach { public static void Main() { int[] intArray = {1,2,3,4,5,6,7,8,9,10}; foreach (int item in intArray) Console.WriteLine("i = {0} ",item) ; } } Lưu hành nội Trang 13 Bài tập Viết chương trình nhập vào số nguyên In hình số nguyên nhỏ số Viết chương trình nhập vào họ tên, điểm thi cuối kỳ học sinh In họ tên học sinh chữ IN HOA, kết xếp loại học sinh theo tiêu chuẩn sau: - Giỏi: Nếu Điểm kết >= - Khá: Nếu > Điểm >= 6.5 - Trung bình: Nếu 6.5 > Điểm >= - Yếu: Nếu Điểm < Viết chương trình giải phương trình bậc 1: bx + c = Viết chương trình giải phương trình bậc 2: ax2 + bx + c = Viết chương trình nhập vào số nguyên nhận số nguyên dương dừng Viết chương trình nhập vào số nguyên n Cho biết số nguyên n có phải số ngun tố khơng ? Viết chương trình nhập vào số nguyên dương n năm dương lịch Cho biết n có phải năm nhuận khơng ? Viết chương trình nhập vào số nguyên dương n In hình kết tổng sau: a) S1 = + + + + n b) S2 = + 1 + + + n Viết chương trình nhập vào số nguyên dương n In hình: a) Các số nguyên dương từ đến n b) Tổng trung bình cộng n số nguyên dương - oOo - Lưu hành nội Trang 14 Chương 2: XÂY DỰNG WINDOWS FORMS APPLICATION Bài 3: XÂY DỰNG WINDOWS FORMS APPLICATION I Sử dụng Microsoft Visual Studio 2008 Khởi động § 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ở hộp ToolBox: Menu View | ToolBox chứa control Mở cửa sổ Properties: Menu View | Properties chứa thuộc tính Mở cửa sổ Solution Explorer: Menu View | Solution Explorer cửa sổ Project xuất § Bước 4: Thiết kế Form – Viết code · Thiết kế form: Nhắp vào · Viết code: Nhắp vào View Designer (trong cửa số Solution Explorer) View Code (trong cửa số Solution Explorer) § Bước 5: Để chạy chương trình, nhấn F5 nhắp vào nút Để dừng chương trình, nhấn Shift + F5 nhắp vào nút * Các thao tác với Project / Solution a Tạo Project Lưu hành nội Trang 15 C1 Vào menu File | New | Project C2 Ctrl + Shift + N C3 Chọn công cụ New Project Standart b Mở Project / Solution: C1 Vào menu File | Open | Project / Solution C2 Ctrl + Shift + O c Lưu Project / Solution C1 Vào menu File | Save All C2 Chọn cơng cụ Save All Standart d Đóng Solution: Vào menu File | Close Solution Màn hình giao diện Windows Forms a Cửa sổ thiết kế Form (Designer): b Cửa sổ thiết viết code: * Các thao tác với Form a Thêm Form vào Project: Lưu hành nội Trang 16 b1 C1 Vào menu Project | Add New Item … C2 Chọn công cụ Add New Item Standart b2 Khai báo + Categories: chọn Windows Forms + Templates: chọn Windows Form + Name: đặt tên Form b3 Nhắp Add b Thêm Form có sẵn vào Project: b1 Vào menu Project | Add Existing Item … b2 Chọn Form b3 Nhắp Add c Xóa bỏ Form có Project: b1 Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer) b2 Vào menu Edit | Delete d Lưu Form - Vào menu File | Save Form.cs - Ctrl + S * Ghi - Ta đem “bỏ vào” form đối tượng như: Label, TextBox, Button, … + Label, TextBox, Button, … gọi control hay gọi component + Form gọi control “chứa” - Khi thay đổi nội dung Label, TextBox, Button, … ta thay đổi vào Text Text gọi Property control Control gì? - Control lớp (class) thành phần thêm vào Windows Forms để tương tác người sử dụng với Windows - Có nhiều loại control Windows Forms như: Label, TextBox, ListBox, ComboBox, Button, … - Các control sử dụng Windows Forms dùng namespace System.Windows.Forms Properties (thuộc tính) control - Properties thơng tin mà ta thay đổi nội dung, cách trình bày … người thiết kế để ứng dụng vào control - Mỗi lớp (class) có nhiều property khác Tuy nhiên, có số property giống xây dựng từ lớp ban đầu * Bảng trình bày thuộc tính (Properties) giống Thuộc tính Anchor BackColor Bottom Dock Enabled Lưu hành nội Mơ tả Có hướng định nghĩa là: top, bottom, left, right để cố định (neo) Khi control chứa thay đổi kích thước bị thay đổi kích thước nếu hướng left / right / top / bottom bị cố định (neo) Màu control Là khoảng cách theo chiều dọc từ cạnh đáy control đến cạnh control chứa Giống Anchor việc cố định (neo) theo cạnh control (hoặc cạnh) với control chứa Control phép tương tác (True) hay không phép tương tác (False)) với người dùng Trang 17 ForeColor Height Left Name Parent Right TabIndex TabStop Tag Text Top Visible Width Màu chữ control Là chiều cao control tính từ cạnh control đến cạnh control Là khoảng cách theo chiều ngang từ cạnh trái control đến cạnh trái control chứa Tên control Chỉ đến control chứa control hành Là khoảng cách theo chiều ngang từ cạnh phải control đến cạnh trái control chứa Thứ tự focus nhấn phím Tab (trên bàn phím) control so với control khác nằm control chứa Chỉ định control có phép “bắt” (True) / khơng phép “bắt” (False) phím Tab Nếu khơng phép TabIndex không dùng Là nhãn phân biệt control giống form Nội dung control Là khoàng cách theo chiều dọc từ cạnh control đến cạnh control chứa Cho phép control (True) / không (False) chạy ứng dụng Là chiều rộng control tính từ cạnh trái control đến cạnh phải control * Bảng trình bày phương thức (Method) xử lý chuỗi Phương thức Clear() ResetText() Trim() Mơ tả Xóa nội dung Xóa nội dung Text Cắt bỏ khoảng trắng thừa hai bên chuỗi II Các control Label ( ) a Công dụng: - Hiển thị chuỗi ký tự không thay đổi form (nhãn) b Tạo Label: - Chọn công cụ - Rê chuột vẽ Label form c Thuộc tính: Thuộc tính Mơ tả AutoSize Điều chỉnh kích thước đối tượng cho vừa với chiều dài chuỗi ký tự Font Name Quy định font chữ cho văn Bold True: đậm / False: bỏ đậm Italic True: nghiêng / False: bỏ nghiêng Size Quy định cỡ chữ cho văn Underline True: gạch / False: bỏ gạch TextAlign Canh lề (Left / Center / Right) TextBox ( Lưu hành nội ) Trang 18 ... Màu chữ control Là chiều cao control tính từ c? ??nh control đến c? ??nh control Là khoảng c? ?ch theo chiều ngang từ c? ??nh trái control đến c? ??nh trái control chứa Tên control Chỉ đến control chứa control... Là khoảng c? ?ch theo chiều ngang từ c? ??nh phải control đến c? ??nh trái control chứa Thứ tự focus nhấn phím Tab (trên bàn phím) control so với control kh? ?c nằm control chứa Chỉ định control c? ? phép... thư? ?c bị thay đổi kích thư? ?c nếu hướng left / right / top / bottom bị c? ?? định (neo) Màu control Là khoảng c? ?ch theo chiều d? ?c từ c? ??nh đáy control đến c? ??nh control chứa Giống Anchor vi? ?c cố định