1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin Trình độ trung cấp)

211 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 211
Dung lượng 7,45 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bên cạnh đó nhằm giúp cho người học các kiến thức và kỹ năng cần thiết để thiết kế và lập trình được các ứng dụng nhỏ trong cuộc sống hằng ngày .Tác giả đã nghiên cứu một số tài liệu, tr

Trang 1

BM/QT10/P.ĐTSV/04/04 Ban hành lần: 3UBND TỈNH BÀ RỊA – VŨNG TÀU

TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ

GIÁO TRÌNH

MÔ ĐUN: LẬP TRÌNH WINDOWS FORMS NGHỀ: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: TRUNG CẤP

(Ban hành kèm theo Quyết định số: /QĐ-CĐKTCN ngày…….tháng….năm của Hiệu trưởng Trường Cao đẳng Kỹ thuật

Công nghệ BR – VT)

Trang 2

BÀ RỊA-VŨNG TÀU

Trang 3

TUYÊN BỐ BẢN QUYỀN

Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viênnghề Công nghệ Thông tin trong trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa –Vũng Tàu, chúng tôi đã thực hiện biên soạn tài liệu Lập trình Windows Formsnày

Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập,lưu hành nội bộ trong Nhà trường nên các nguồn thông tin có thể được phépdùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinhdoanh thiếu lành mạnh sẽ bị nghiêm cấm

Trang 4

LỜI GIỚI THIỆU

Giáo trình Lập trình Windows Forms được biên soạn dựa trên khungchương trình đào tạo Cao đẳng nghề Công nghệ Thông tin đã được Trường Caođẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê duyệt

Bên cạnh đó nhằm giúp cho người học các kiến thức và kỹ năng cần thiết

để thiết kế và lập trình được các ứng dụng nhỏ trong cuộc sống hằng ngày Tác giả đã nghiên cứu một số tài liệu, trang web liên quan kết hợp với kinhnghiệm làm việc, giảng dạy thực tế để biên soạn giáo trình này

Trong giáo trình này bao gồm các bài sau:

Bài 1: Giới thiệu tổng quan

Bài 2: Các thành phần cơ bản

Bài 3: Sử dụng câu lệnh nhập xuất cơ bản, cấu trúc điều khiển if

Bài 4: Sử dụng cấu trúc lựa chọn switch case, for, for each

Bài 5: Sử dụng cấu trúc vòng lặp while, do…while

Bài 6: Sử dụng câu lệnh break, continue, goto

Bài 7: Hàm

Bài 8: Thiết kế lớp đối tượng

Bài 9: Định nghĩa các thuộc tính, phương thức hành động cho lớp đốitượng

Bài 10: Sử dụng Form, MenuStrip

Bài 11: Sử dụng Button, Label, TextBox

Bài 12: Sử dụng Checkbox, RadioButton, GroupBox

Bài 13: Sử dụng ComboBox, ListBox

Bài 14: Sử dụng DateTimePicker, MonthCalendar

Bài 15: Sử dụng ListView, TreeView

Trang 5

Bài 16: Sử dụng PictureBox, ToolTip

Bài 17: Sử dụng CheckListBox, NumericUpDown

Bài 18: Sử dụng Panel, SplitContainer, TabControl

Bài 19: Tạo kết nối, đóng kết nối cơ sở dữ liệu

Bài 20: Truy xuất cơ sở dữ liệu bằng Dataset

Bài 21: Hiển thị cơ sở dữ liệu bằng DataGridView

Bài 22: Truy xuất cơ sở dữ liệu bằng BindingSource

Bài 23: Hiển thị cơ sở dữ liệu bằng BindingNavigator

Bài 24: Cập nhật cơ sở dữ liệu

Với tiêu chí trình bày cô động, dễ hiểu áp dụng thực tế, kèm theo chi tiếtcác bước hướng dẫn thực hành cụ thể giúp cho người học dễ tiếp thu các kiếnthức cần thiết và hình thành được kỹ năng thực hành và rèn luyện thao tác

Trong quá trình biên soạn, chắc chắn giáo trình còn nhiều thiếu sót Tác giảrất mong nhận được ý kiến đóng góp của quý thầy/cô và các em sinh viên đểtiếp tục hoàn thiện hơn

Xin chân thành cảm ơn quý đồng nghiệp, bạn bè đã có những ý kiến đónggóp trong quá trình xây dựng giáo trình này

Bà Rịa – Vũng Tàu, ngày …… tháng …… năm 2020

Tham gia biên soạn

1 Trần Thị Thanh Hương – Chủ biên

Trang 6

MỤC LỤC

LỜI GIỚI THIỆU 1

BÀI 1: GIỚI THIỆU TỔNG QUAN 10

1 Giới thiệu các ứng dụng thực tế 10

2 Khởi động, thoát chương trình 11

3 Sử dụng hệ thống trợ giúp 15

Câu hỏi ôn tập và bài tập 15

BÀI 2: CÁC THÀNH PHẦN CƠ BẢN 16

1 Hệ thống ký hiệu và từ khóa 16

2 Các kiểu dữ liệu cơ bản 17

3 Biến, hằng, biểu thức 19

4 Các phép toán 21

Câu hỏi ôn tập và bài tập 26

BÀI 3: SỬ DỤNG CÂU LỆNH NHẬP XUẤT CƠ BẢN, CẤU TRÚC ĐIỀU KHIỂN IF 28

1 Các câu lệnh nhập xuất cơ bản 28

2 Câu lệnh if else 32

Câu hỏi ôn tập và bài tập 36

BÀI 4: SỬ DỤNG CẤU TRÚC LỰA CHỌN SWITCH CASE, FOR, FOR EACH 37

1 Câu lệnh switch 37

2 Câu lệnh for 39

3 Câu lệnh for …each 48

Câu hỏi ôn tập và bài tập 51

BÀI 5: SỬ DỤNG CẤU TRÚC LỰA VÒNG LẶP WHILE, DO…WHILE 53

1 Sử dụng cấu trúc vòng lặp While 53

2 Sử dụng cấu trúc vòng lặp Do …while 56

Câu hỏi ôn tập và bài tập 58

Trang 7

BÀI 6: SỬ DỤNG CÂU LỆNH BREAK, CONTINUE, GOTO 59

1 Sử dụng câu lệnh break 59

2 Sử dụng câu lệnh continue 60

3 Sử dụng câu lệnh goto 61

Câu hỏi ôn tập và bài tập 63

BÀI 7: HÀM 64

1 Khái niệm 64

2 Quy tắc xây dựng hàm 64

3 Nguyên tắc hoạt động của hàm 65

4 Cách truyền tham số 67

5 Sử dụng hàm 68

Câu hỏi ôn tập và bài tập 71

BÀI 8: THIẾT KẾ LỚP ĐỐI TƯỢNG 72

1 Định nghĩa lớp đối tượng 72

2 Khai báo lớp đối tượng 73

Câu hỏi ôn tập và bài tập 76

BÀI 9 : ĐỊNH NGHĨA CÁC THUỘC TÍNH, PHƯƠNG THỨC HÀNH ĐỘNG CHO LỚP ĐỐI TƯỢNG 77

1 Định nghĩa các thuộc tính cho lớp đối tượng 77

2 Định nghĩa các phương thức hành động cho lớp đối tượng 79

Câu hỏi ôn tập và bài tập 82

BÀI 10: SỬ DỤNG FORM, MENUSTRIP 84

1 Form 84

2 Menustrip 95

Câu hỏi ôn tập và bài tập 98

BÀI 11: SỬ DỤNG LABEL, TEXTBOX, BUTTON 101

1 Label 101

2 TextBox 104

Trang 8

3 Button 107

Câu hỏi ôn tập và bài tập 109

BÀI 12: SỬ DỤNG CHECKBOX, RADIOBUTTON, GROUPBOX 112

1 Checkbox 112

2 RadioButton 114

3 GroupBox 117

Câu hỏi ôn tập và bài tập 121

BÀI 13: SỬ DỤNG COMBOBOX, LISTBOX 123

1 ComboBox 123

2 ListBox 125

Câu hỏi ôn tập và bài tập 128

BÀI 14: SỬ DỤNG DATETIMEPICKER, MONTHCALENDAR 129

1 DateTimePicker 129

2 MonthCalendar 130

Câu hỏi ôn tập và bài tập 132

BÀI 15: SỬ DỤNG LISTVIEW, TREEVIEW 133

1 ListView 133

2 TreeView 138

Câu hỏi ôn tập và bài tập 142

BÀI 16: SỬ DỤNG PICTUREBOX, TOOLTIP 144

1 PictureBox 144

2 ToolTip 145

Câu hỏi ôn tập và bài tập chưa làm 148

BÀI 17: SỬ DỤNG CHECKLISTBOX, NUMERICUPDOWN 149

1 CheckListBox 149

2 NumericUpDown 151

Câu hỏi ôn tập và bài tập 153

BÀI 18: SỬ DỤNG PANEL, SPLITCONTAINER, TABCONTROL 155

Trang 9

1 Panel 155

2 SplitContainer 156

3 TabControl 160

Câu hỏi ôn tập và bài tập 165

BÀI 19: TẠO KẾT NỐI, ĐÓNG KẾT NỐI CƠ SỞ DỮ LIỆU 167

1 Các kiểu dữ liệu kết nối 167

2 Tạo kết nối dữ liệu 170

3 Đóng kết nối cơ sở dữ liệu 175

Câu hỏi ôn tập và bài tập 176

BÀI 20: TRUY XUẤT CƠ SỞ DỮ LIỆU BẰNG DATASET 177

1 Định nghĩa Dataset 177

2 Thao tác truy xuất dữ liệu với Dataset 178

Câu hỏi ôn tập và bài tập 180

BÀI 21: HIỂN THỊ CƠ SỞ DỮ LIỆU BẰNG DATAGRIDVIEW 182

1 Ý nghĩa DataGridView 182

2 Các thiết lập thuộc tính 184

3 Truy xuất và hiển thị dữ liệu trên control DataGridView 185

Câu hỏi ôn tập và bài tập 188

BÀI 22: TRUY XUẤT CƠ SỞ DỮ LIỆU BẰNG BINDINGSOURCE 190

1 Ý nghĩa BindingSource 190

2 Cách thiết lập các thành phần 191

3 Truy xuất và hiển thị dữ liệu trên BindingSource 191

Câu hỏi ôn tập và bài tập 192

BÀI 23: HIỂN THỊ CƠ SỞ DỮ LIỆU BẰNG BINDINGNAVIGATOR 193

1 Ý nghĩa BindingNavigator 193

2 Cách thiết lập các thành phần 194

3 Truy xuất và hiển thị dữ liệu trên BindingNavigator 195

Câu hỏi ôn tập và bài tập 196

Trang 10

BÀI 24: THAO TÁC VỚI CƠ SỞ DỮ LIỆU 197

1 Các kiểu dữ liệu, cập nhật cơ sở dữ liệu 197

2 Truy xuất và cập nhật dữ liệu 199

Câu hỏi ôn tập và bài tập 201

Trang 11

GIÁO TRÌNH MÔ ĐUN Tên mô đun: Lập trình Windows forms

Mã mô đun: MĐ 20

Vị trí, tính chất, ý nghĩa và vai trò của mô đun:

- Vị trí của mô đun: Mô đun được bố trí sau khi học sinh học xong các mô đun

Cơ sở dữ liệu, Lập trình căn bản, Quản trị cơ sở dữ liệu SQL Server

- Tính chất của mô đun: Là mô đun chuyên môn nghề Đây là mô đun chứađựng kiến thức nền tảng về ngôn ngữ lập trình ứng dụng và xây dưng các phầnmềm ứng dụng quản lý

- Ý nghĩa và vai trò của môn học/mô đun: Môn học giúp thực hành được cácgiao diện lập trình ứng dụng nhỏ như: quản lý quán café, quản lý khách sạn,quản lý nhân viên, quản lý sinh viên…

Mục tiêu của mô đun:

- Về kiến thức:

+ Trình bày các kiểu dữ liệu cơ bản của C#

+ Trình bày các câu lệnh, cấu trúc điều khiển, rẽ nhánh

+ Trình bày các control xây dựng giao diện

- Về kỹ năng:

+ Xác định, phân tích chức năng yêu cầu để lên kế hoạch xây dựng chươngtrình ứng dụng

+ Thiết kế giao diện chương trình ứng dụng

+ Vận dụng các kiến thức xây dựng các chức năng của ứng dụng

+ Kiểm tra và xử lý có hệ thống các lỗi và sự cố ứng dụng

+ Đóng gói ứng dụng và triển khai

Trang 12

+ Gia công các phần mềm theo yêu cầu khách hàng.

+ Tham gia các đội triển khai phần mềm trong các dự án phần mềm

Nội dung của mô đun:

Trang 13

BÀI 1: GIỚI THIỆU TỔNG QUAN

Mã bài: 20.1 Giới thiệu:

C# hay Csharp là một trong những ngôn ngữ lập trình trong họ DotNet củaMicrosoft và khi lập trình C# người lập trình phải chuẩn bị và cài đặt NETFramework

Mục tiêu:

- Trình bày nhu cầu xây dựng các ứng dụng thực tế

- Cài đặt, thao tác chương trình ViSual Studio

- Thao tác hệ thống trợ giúp từ trình đơn Help

- Rèn luyện tính cẩn thận, sáng tạo, làm việc nhóm

- Quản lý đào tạo

- Quản lý sinh viên

- Quản lý thư viện

Trang 14

2 Khởi động, thoát chương trình

link: https://visualstudio.microsoft.com/download

Hình 1.1 Màn hình Download phần mềm cài đặt Visual Studio

Ở trên có 3 phiên bản Visual Studio 2019 Đó là: Community, Professional vàEnterprise Với Sinh Viên thì tải bản Community là được

File sau khi tải được được lưu trữ như sau:

Hình 1.2 Hiển thị file lưu trữ cài đặt Visual Studio

Nhấp chọn vào file vs_enterprise_ exe để tiến hành cài đặt

Trang 15

Hình 1.3 Màn hình download tiến hành cài đặt

Tùy vào tốc độ của máy cũng như đường truyền mạng, sau khi tải xong ta sẽ cómàn hình như dưới đây:

Trang 16

Hình 1.5 Lựa chọn cấu hình cài đặt

Trong màn hình Đăng nhập để bấm Sign In Dùng tài khoản Gmail hoặc tàikhoản Microsoft để đăng nhập bản quyền dùng Visual Studio

Hình 1.6 Chọn đăng nhập tài khoản để tiến hành đăng ký Viusual Studio

Chọn Personal account:

Trang 17

Hình 1.7 Đăng nhập username và mật khẩu

Cung cấp mật khẩu rồi Sign in bình thường

Khởi động chương trình Visual Studio 2019

Hình 1.8 Màn hình khởi động chương trình Visual Studio

Màn hình sau khi khởi động thành công

Hình 1.9 Lựa chọn chức năng làm việc

Ở màn hình có 3 lựa chọn chính:

- Open a project or solution: chọn mở những Project cũ (nếu đã tạo trước đóhoặc kể cả ở các Version cũ cũng tự động mở lại)

Trang 18

- Continue without code: Chọn mục này sẽ mở Visual Studio mà không cóProject nào cả

- “Create a New Project”: Chương trình sẽ hiển thị màn hình tạo Project mới

Hình 1.10 Lựa chọn môi trường và ngôn ngữ làm việc

Tìm kiếm, lọc theo: Ngôn ngữ lập trình (C#, VB ), lọc theo Platform(Android,IOS, Windows…), theo Project Type(Cloud, Console, Machine Learning…)

Hình 1.11 Màn hình lựa chọn nơi lưu Project

3 Sử dụng hệ thống trợ giúp

Nhấp vào mục Help và chọn View Help (Ctrl + F1) để tìm tài liệu khắc phúc cáclỗi trong trang web:

S&k=k(MSDNSTART)&rd=true

Trang 19

https://msdn.microsoft.com/query/dev15.query?appId=Dev15IDEF1&l=en-Câu hỏi ôn tập và bài tập

1 Tiến hành cài đặt Visual Studio trên máy tính

2 Tạo các ứng dụng project bằng Console và C#, lưu trữ trên máy tính gồm 2bài tập Console với tên: BTCB1,BTCB2 và 2 bài tập Form với tên: LTWF1,LTWF2

Trang 20

BÀI 2: CÁC THÀNH PHẦN CƠ BẢN

Mã bài: 20.2 Giới thiệu:

Việc hiểu rõ các thành phần cơ bản và cách thức sử dụng của ngôn ngữ lập trình

sẽ giúp chúng ta làm việc dễ dàng hơn khi thực hành, thao tác với ngôn ngữ Hệthống các từ khóa, các kiểu dữ liệu cơ bản, cách xây dựng biểu thức, biến, hằngkhi xây dựng chương trình

Mục tiêu:

- Trình bày và sử dụng hệ thống ký hiệu, từ khóa, kiểu dữ liệu cơ bản, biến,biểu thức

- Vận dụng các loại biến, hằng biểu thức vào các bài tập mẫu

- Vận dụng các loại biến, hằng biểu thức vào bài tập ứng dụng

- Rèn luyện tính cẩn thận, tự giác, sáng tạo, làm việc nhóm

Nội dung chính:

3 Hệ thống ký hiệu và từ khóa

C# là ngôn ngữ có ít từ khóa: là ngôn ngữ sử dụng giới hạn các từ khóa, chỉkhoảng 80 từ khóa và hơn 10 kiểu dữ liệu được xây dựng sẵn như bảng 1.1

Bảng 2.1: Bảng mô tả các từ khóa của C#

abstract default foreach object sizeof unsafe

as delegate goto operator stackalloc ushort

bool double implicit override string virtual

break else in params struct volatile

byte enum int private switch void

case event interface protected this while

catch explicit internal public throw decimal

char extern is readonly true for

class finally long return typeof short

const fixed namespace sbyte uint uncheckedcontinue float new sealed ulong

2 Các kiểu dữ liệu cơ bản

Kiểu giá trị thường là các kiểu do C# định nghĩa sẵn bao gồm: double, char, int,float, enum, struct, …

Trang 21

Biến của kiểu giá trị lưu trữ một giá trị thực, giá trị này được lưu trữ trongstack, không thể mang giá trị null và phải chứa giá trị xác định.

Bảng 2.2: Bảng mô tả các kiểu dữ liệu giá trị trong C#

bool 1 Boolean Giá trị logic true/ false

sbyte 1 Sbyte Số nguyên có dấu: -128 đến 127

short 2 Int16 Số nguyên có dấu: -32.768 đến 32.767ushort 2 Uint16 Số nguyên không dấu: 0 đến 65.535

int 4 Int32 Số nguyên có dấu: -2.147.483.647 đến

2.147.483.647 uint 4 Uint32 Số nguyên không dấu: 0 đến 4.294.967.295 float 4 Single Kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-

38 đến 3,4E+38; với 7 chữ số có nghĩa double 8 Double

Kiểu dấu chấm động, giá trị xấp xỉ từ

1,7E-308 đến 1,7E+1,7E-308; với 15, 16 chữ số có nghĩa

decimal 8 Decimal

Có độ chính xác đến 28 con số và giá trị thập phân, được dùng trong tính toán tài chính, kiểu này đòi hỏi phải có hậu tố “m” hay “M” theo sau giá trị

long 8 Int64

Kiểu số nguyên có dấu có giá trị trong khoảng: -9.233.370.036.854.775.808 đến – 9.233.372.036.854.775.807

ulong 8 Uint64 Số nguyên không dấu từ 0 đến 0xffffffffffffff

Trang 22

Kiểu giá trị bool trong C# nhất thiết phải là true hoặc false

Chuyển kiểu dữ liệu:

Chuyển đổi kiểu dữ liệu trong C# có thể thực hiện bằng các cách sau:

 Sử dụng lớp Convert:

Đây là một lớp được C# xây dựng sẵn phục vụ cho việc chuyển đổi từ kiểu dữliệu này sang kiểu dữ liệu khác Các phương thức trong lớp Convert phần lớnđều là phương thức tĩnh:

Int a = Convert.ToInt32(“10”); //chuyển chuỗi 10 sang số nguyên

bool b = Convert.ToBoolean(27); //chuyển số 27 sang kiểu boolean

bool a = Convert.ToBoolean(“hello”); //Sai định dạng, không chuyển đượcint b = Convert.ToInt32(“123456787654”); //Tràn bộ nhớ, không chuyển đượcdouble d = Convert.ToDouble(null); //Trả về giá trị mặc định

Sử dụng phương thức Parse:

Trang 23

Phương thức Parse thường được sử dụng để chuyển đổi chuỗi sang một kiểu dữliệu cụ thể nào đó Mỗi kiểu dữ liệu xây dựng sẵn trong C# đều hỗ trợ phươngthức Parse để chuyển đổi chuỗi sang kiểu dữ liệu tương ứng:

- Double.Parse(<chuoi>): Chuyển chuỗi về kiểu Double

- Int32.Parse(<chuoi>): Chuyển chuỗi về kiểu Int32

- Int64.Parse(<chuoi>): Chuyển chuỗi về kiểu Int64

- Boolean.Parse(<chuoi>): Chuyển chuỗi về kiểu Boolean

- Single.Parse(<chuoi>): Chuyển chuỗi về kiểu Single

- …

Ví dụ

int a = Int32.Parse(“123”); //a sẽ mang giá trị 123

float b = Float.Parse(“20.7”); //b sẽ mang giá trị 20.7

bool c = Boolean.Parse(“true”); //c sẽ mang giá trị true

int a = Int32.Parse(“Hello”); //sai định dạng, không chuyển được

byte b = Byte.Parse(“10000000000”); //quá giới hạn, không chuyển được

bool c = Boolean.Parse(null); //tham số là null, không chuyển được

3 Biến, hằng, biểu thức

a Biến

Biến là nơi lưu trữ dữ liệu của chương trình Dữ liệu của biến nằm trong bộ nhớvật lý của Ram và có thể thay đổi được Muốn sử dụng biến trước tiên lập trìnhphải

chỉ định biến có một kiểu dữ liệu cụ thể nào đó

 Cú pháp khai báo biến:

< Kiểu dữ liệu > < Tên biến >

Lưu ý: Tên biến phải được đặt phù hợp với quy tắc đặt tên

 Cú pháp khởi tạo giá trị cho biến:

< Tên biến > = <giá trị>

Trong đó:

= là phép toán gán giá trị

Trang 24

Quy tắc đặt tên: Các tên biến, tên hằng, tên hàm, … trong C# đề phải đặt tên

đúng với quy tắc sau:

 Một tên biến có thể bắt đầu bằng chữ hoa hay chữ thường Tên có thể chứa kýtự

hay số và ký tự gạch dưới (_)

 Ký tự đầu tiên của biến phải là ký tự , không được là số

 Trong C# phân biệt hoa thường

 Các từ khóa không thể sử dụng để đặt tên cho biến Nếu muốn dùng từ khóađặt

tên thì ta thêm ký tự @ phía trước

Không hợp lệ, không được chứa ký tự đặcbiệt

b Hằng

Hằng cũng là một biến nhưng giá trị của hằng không thay đổi Biến là công cụrất mạnh, tuy nhiên khi làm việc với một giá trị được định nghĩa là không thayđổi, ta phải đảm bảo giá trị của nó không được thay đổi trong suốt chương trình

Ví dụ, khi lập một chương trình thí nghiệm hóa học liên quan đến nhiệt độ sôi,hay nhiệt độ đông của nước, chương trình cần khai báo hai biến là DoSoi vàDoDong, nhưng không cho phép giá trị của hai biến này bị thay đổi hay bị gán

Để ngăn ngừa việc gán giá trị khác, ta phải sử dụng biến kiểu hằng

Trang 25

Hằng được phân thành ba loại: giá trị hằng (literal), biểu tượng hằng (symbolicconstants), kiểu liệu kê (enumerations).

Giá trị hằng: ta có một câu lệnh gán như sau:

<const> <type> <tên hằng> = <giá trị>;

Một biểu tượng hằng phải được khởi tạo khi khai báo, và chỉ khởi tạo duy nhấtmột lần trong suốt chương trình và không được thay đổi

const int DoSoi = 100;

Trong khai báo trên, 100 là một hằng số và DoSoi là một biểu tượng hằng cókiểu nguyên

4 Các phép toán

a Toán tử (Operator) trong C#

Các phép toán này không thể thiếu trong mọi ngôn ngữ lập trình nào và C# cũngvậy

Bảng 2.3: Bảng mô tả các toán tử trong C#

/ Chia x/y Phần nguyên của thương x chia y

% Chia dư x%y Phần dư của thương x chia y

Ví dụ:

Trang 26

b Toán tử gán

Một số toán tử gán được sử dụng trong C#:

Bảng 2.4: Bảng mô tả các toán tử phép gán trong C#

-= x-=y Gán giá trị x = x-y

*= x*=y Gán giá trị x = x*y

/= x/=y Gán giá trị x = x/y

<<= x<<=3 Gán giá trị x = x<<3

>>= x>>=3 Gán giá trị x = x>>3

&= x&=2 Gán giá trị x = x&2 (Phép AND bit)

^= x^=2 Gán giá trị x = x^2 (Phép OR loại trừbit)

|= x|=2 Gán giá trị x = x|2 (Phép OR bit)

Ví dụ:

Trang 27

Kết quả khi chạy chương trình trên

c Toán tử tăng giảm tiền tố và hậu tố:

Giả sử ta muốn tăng giá trị của một biến x rồi gán nó cho biến y, ta làm như sau:

Còn đối với lệnh y = ++x; phép toán tăng sẽ được thực hiện trước rồi mới đến toán

tử gán Ta gọi đây là tăng tiền tố, các giá trị của x và y bây giờ là như nhau và đều bằng 10.

d Toán tử logic

Trang 28

Đôi lúc chúng ta muốn kết hợp nhiều điều kiện với nhau ví dụ như bắt buộc cả hai biểu thức điều kiện đều đúng hoặc chỉ cần một biểu thức đúng thì mới thực hiện một lệnh gì đó Trong C# hỗ trợ 3 toán tử logic như sau:

Bảng 2.5: Bảng mô tả các toán tử logic trong C#

Toán

tử

AND && <BT1> &&

<BT2> Trả về true nếu cả 2 đều đúng

OR || <BT1>||<BT2> Trả về true nếu 1 trong 2 biểu

Bảng 2.6: Bảng mô tả các toán tử quan hệ trong C#

Lớn hơn hay bằng >= x>=y true

Nhỏ hơn hay bằng <= x<=y false

Lưu ý: toán tử so sánh bằng (==) được ký hiệu bởi hai dấu bằng dính liền nhau và

không có bất kỳ khoảng cách nào giữa chúng Trình biên dịch C# xem đây là một toán tử

* Biểu thức

Trang 29

Những câu lệnh mà thực hiện việc đánh giá một giá trị gọi là biểu thức Mộtphép gán một giá trị cho một biến cũng là một biểu thức:

var1 = 24;

Trong câu lệnh trên phép đánh giá hay định lượng chính là phép gán có giá trị là

24 cho biến var1 Lưu ý là toán tử gán (‘=’) không phải là toán tử so sánh Dovậy khi sử dụng toán tử này thì biến bên trái sẽ nhận giá trị của phần bên phải.Các toán tử của ngôn ngữ C# như phép so sánh hay phép gán sẽ được trình bàychi tiết trong mục toán tử của chương này

Do var1 = 24 là một biểu thức được định giá trị là 24 nên biểu thức này có thểđược xem như phần bên phải của một biểu thức gán khác:

var2 = var1 = 24;

Lệnh này sẽ được thực hiện từ bên phải sang khi đó biến var1 sẽ nhận được giátrị là 24 và tiếp sau đó thì var2 cũng được nhận giá trị là 24 Do vậy cả hai biếnđều cùng nhận một giá trị là 24 Có thể dùng lệnh trên để khởi tạo nhiều biến cócùng một giá trị như:

a = b = c = d = 24;

* Khoảng trắng (whitespace)

Trong ngôn ngữ C#, những khoảng trắng, khoảng tab và các dòng được xemnhư là khoảng trắng (whitespace), giống như tên gọi vì chỉ xuất hiện nhữngkhoảng trắng để đại diện cho các ký tự đó C# sẽ bỏ qua tất cả các khoảng trắng

đó, do vậy chúng ta có thể viết như sau:

var1=24; Hay var1 = 24; và trình biên dịch C# sẽ xem hai câu lệnh trên

là hoàn toàn giống nhau

Tuy nhiên lưu ý là khoảng trắng trong một chuỗi sẽ không được bỏ qua Nếuchúng ta viết:

Trang 30

hơn Cũng như khi ta viết một văn bản trong MS Word nếu không trình bày tốtthì sẽ khó đọc và gây mất cảm tình cho người xem Còn đối với trình biên dịchthì việc dùng hay không dùng khoảng trắng là không khác nhau.

Tuy nhiên, cũng cần lưu ý khi sử dụng khoảng trắng như sau:

int x = 24; t ương tự như: int x=24; nhưng không giống như:intx=24;

Trình biên dịch nhận biết được các khoảng trắng ở hai bên của phép gán là phụ

và có thể bỏ qua, nhưng khoảng trắng giữa khai báo kiểu và tên biến thì khôngphải phụ hay thêm mà bắt buộc phải có tối thiểu một khoảng trắng Điều nàykhông có gì bất hợp lý, vì khoảng trắng cho phép trình biên dịch nhận biết được

từ khoá int và không thể nào nhận được intx.Tương tự như C/C++, trong C# câulệnh được kết thúc với dấu chấm phẩy ‘;’ Do vậy có thể một câu lệnh trên nhiềudòng, và một dòng có thể nhiều câu lệnh nhưng nhất thiết là hai câu lệnh phảicách nhau một dấu chấm phẩy

Câu lệnh (statement)

Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh Chương trình baogồm nhiều câu lệnh tuần tự với nhau Mỗi câu lệnh phải kết thúc với một dấuchấm phẩy, ví dụ như:

int x; // một câu lệnh

x = 32; // câu lệnh khác

int y =x; // đây cũng là một câu lệnh

Những câu lệnh này sẽ được xử lý theo thứ tự Đầu tiên trình biên dịch bắt đầu ở

vị trí đầu của danh sách các câu lệnh và lần lượt đi từng câu lệnh cho đến lệnhcuối cùng, tuy nhiên chỉ đúng cho trường hợp các câu lệnh tuần tự không phânnhánh

Có hai loại câu lệnh phân nhánh trong C# là : phân nhánh không có điều kiện(unconditional branching statement) và phân nhánh có điều kiện (conditionalbranching statement)

Trang 31

Ngoài ra còn có các câu lệnh làm cho một số đoạn chương trình được thực hiệnnhiều lần, các câu lệnh này được gọi là câu lệnh lặp hay vòng lặp Bao gồm cáclệnh lặp for, while, do, in, và each sẽ được đề cập tới trong mục tiếp theo.

Câu hỏi ôn tập và bài tập

4 Tạo một project dưới dạng Console thực hiện khai báo các loại biếnsau:

Biến chieudai, chieurong, chuvi, dientich kiểu dữ liệu int

Biến so1, so2, so3, min, max kiểu số thực (float)

2 Tạo một project dưới dạng Console thực hiện khai báo các loại hằng sau:

Hằng số thực p = 3.14

Hằng số nguyên n = 100 phần tử mảng

Trang 32

BÀI 3: SỬ DỤNG CÂU LỆNH NHẬP XUẤT CƠ BẢN, CẤU TRÚC

ĐIỀU KHIỂN IF

Mã bài: 20.3 Giới thiệu:

Trong bài này, nội dung bài học sẽ giúp phân tích để hiểu về cú pháp củamột chương trình C# nhé Nội dung bài học sẽ hướng dẫn sử dụng lệnh xuất ramàn hình Console.WriteLine(); và lệnh nhập dữ liệu vào từ bàn phím lệnhConsole.Read() Đồng thời tìm hiểu về cấu trúc lệnh có điều kiện if…else

Mục tiêu:

- Trình bày và biết sử dụng câu lệnh nhập xuất cơ bản

- Trình bày và biết sử dụng cấu trúc lệnh rẽ nhánh if else

- Vận dụng các câu lệnh nhập xuất để viết chương trình Console cơ bản

- Vận dụng cấu trúc rẽ nhánh if else để viết chương trình Console cơ bản

- Rèn luyện tính cẩn thận, tự giác, sáng tạo, làm việc nhóm

Ý nghĩa: In giá trị ra màn hình console Giá trị này có thể là 1 ký tự, 1 chuỗi,

một giá trị có thể chuyển về kiểu chuỗi

Ta sẽ dùng một lệnh nào đó là cho chương trình phải dừng lại đợi mình nhấnmột phím bất kỳ mới kết thúc như vậy trước khi chúng ta nhấn một phím bất kỳthì chúng ta có thể quan sát được kết quả trên màn hình console Các lệnh có thể

Trang 33

Ý nghĩa:

Lệnh này cũng tượng tự như Console.Write()

Nhưng sẽ khác khi in giá trị ra màn hình xong nó sẽ tự động đưa con trỏ xuốngdòng Điều này giúp ta có thể giải quyết được vấn đề đã đặt ra ở phần trên

Ngoài ra, để xuống dòng ta còn có nhiều cách khác như:

Sử dụng ký tự đặc biệt: chúng ta sử dụng ký tự “\n” trong chuỗi in ra màn

hình thì trình biên dịch sẽ tự động đổi nó thành ký tự xuống dòng

Như vậy thay vì dùng Console.WriteLine(“K team”) ta có thể

Đọc 1 ký tự từ bàn phím và trả về kiểu số nguyên là mã ASCII (American

Standard Code for Information Interchange – Chuẩn mã trao đổi thông tin HoaKì,là bộ kí tự và bộ mã kí tự dựa trên bảng chữ cái La Tinh được dùng trongtiếng Anh hiện đại và các ngôn ngữ Tây Âu khác) của ký tự đó

Chú ý: lệnh này không đọc được các phím chức năng như Ctrl, Shift, Alt, Caps Lock, Tab,

d Console.ReadLine();

Cú pháp:

Console.ReadLine();

Ý nghĩa: Đọc dữ liệu từ bàn phím cho đến khi gặp ký tự xuống dòng thì dừng

(Nói cách khác là đọc cho đến khi mình nhấn enter thì dừng) và giá trị đọc đượcluôn là một chuỗi

e Console.ReadKey();

Cú pháp:

Console.ReadKey(<tham số kiểu bool>)

Ý nghĩa:

Trang 34

 Lệnh này cũng dùng để đọc một ký tự từ bàn phím nhưng trả về

kiểu ConsoleKeyInfo (là một kiểu dữ liệu có cấu trúc được định nghĩa

sẵn để chứa những ký tự của bàn phím bao gồm các phím chức năng)

Tham số kiểu bool bao gồm 2 giá trị: true hoặc false Nếu truyền

vào true thì phím được ấn sẽ không hiển thị lên màn hình console màđược đọc ngầm ngược lại thì phím được ấn sẽ hiển thị lên màn hìnhconsole Nếu không truyền tham số vào thì mặc định sẽ là false

Ví dụ:

Viết chương trình nhập vào thông tin sinh viên bao gồm: Họ tên,giới tính, ngày sinh, địa chỉ, tuổi

Bước 1: Mở Visual Studio -> Chọn File -> Chọn Project…

Hình 3.1: Màn hình tạo mới một Project

Chọn Visual C# -> chọn Console App (.NET Framework) -> Nhập Name, chọnLocation -> Chọn OK

Hình 3.2: Màn hình đặt tên và chọn nơi lưu của Project

Trang 35

Project sau khi tạo

Hình 3.3: Màn hình ban đầu của cửa sổ làm việc Program.cs

Bước 2: Viết xử lý cho Program.cs

Hình 3.4: Code để nhập xuất thông tin sinh viên

Bước 3: Chạy chương trình

Chọn Start hoặc nhấp vào biểu tượng để chạy chương trình

Hình 3.5: Chọn biểu tượng để thực thi (chạy) chương trình

Giao diện chương trình khi chạy sau khi nhập thông tin sinh viên

Trang 36

Hình 3.6: Màn hình hiển thị kết quả chương trình

2 Câu lệnh if else

Câu lệnh phân nhánh if else dựa trên một điều kiện Điều kiện là một

biểu thức sẽ được kiểm tra giá trị ngay khi bắt đầu gặp câu lệnh đó Nếu điềukiện được kiểm tra là đúng, thì câu lệnh hay một khối các câu lệnh bên trongthân của câu lệnh if được thực hiện

Trong câu điều kiện if else thì else là phần tùy chọn Các câu lệnh bên trong thân của else chỉ được thực hiện khi điều kiện của if là sai Do vậy khi câu lệnh đầy đủ if else được dùng thì chỉ có một trong hai if hoặc else được thực hiện Ta có cú pháp câu điều kiện if else sau:

if (biểu thức điều kiện)

<Khối lệnh thực hiện khi điều kiện đúng>

[else

<Khối lệnh thực hiện khi điều kiện sai>]

Nếu các câu lệnh trong thân của if hay else mà lớn hơn một lệnh thì các lệnhnày phải được bao trong một khối lệnh, tức là phải nằm trong dấu khối { }:

if (biểu thức điều kiện)

{

<Lệnh 1> <Lệnh 2> } [else

{

<lệnh 1> <lệnh 2> }]

Như trình bày bên trên do else là phần tùy chọn nên được đặt trong dấu ngoặcvuông Ví dụ: câu lệnh điều kiện if else

Trang 37

Kết quả chương trình:

Hình 3.7 Màn hình kết quả câu lệnh if…else

Trong ví dụ trên, câu lệnh if đầu tiên sẽ kiểm tra xem giá trị của var1 có lớn hơn

giá trị của var2 không Biểu thức điều kiện này sử dụng toán tử quan hệ lớn hơn(>), các toán tử khác như nhỏ hơn (<), hay bằng (==) Các toán tử này thườngxuyên được sử dụng trong lập trình và kết quả trả là giá trị đúng hay sai

Việc kiểm tra xác định giá trị var1 lớn hơn var2 là sai (vì var1 = 10 trong khi

var2 = 20), khi đó các lệnh trong else sẽ được thực hiện, và các lệnh này in ra

màn hình:

Như trình bày bên trên do else là phần tùy chọn nên được đặt trong dấu ngoặcvuông Ví dụ: câu lệnh điều kiện if else

Trang 38

Kết quả chương trình:

Hình 3.8 Màn hình kết quả nhiều câu lệnh if…else

Trong ví dụ trên, câu lệnh if đầu tiên sẽ kiểm tra xem giá trị của var1 có lớn hơn

giá trị của var2 không Biểu thức điều kiện này sử dụng toán tử quan hệ lớn hơn(>), các toán tử khác như nhỏ hơn (<), hay bằng (==) Các toán tử này thườngxuyên được sử dụng trong lập trình và kết quả trả là giá trị đúng hay sai

Việc kiểm tra xác định giá trị var1 lớn hơn var2 là sai (vì var1 = 10 trong khi

var2 = 20), khi đó các lệnh trong else sẽ được thực hiện, và các lệnh này in ra

màn hình:

Trang 39

var2: 20 > var1: 10

Tiếp theo đến câu lệnh if thứ hai, sau khi thực hiện lệnh gán giá trị của var1 =

30, lúc này điều kiện if đúng nên các câu lệnh trong khối if sẽ được thực hiện vàkết quả là in ra ba dòng sau:

Gan gia tri var1 cho var2

Tang bien var1 len mot

Var1 = 31, var2 = 30

* Câu lệnh if lồng nhau

Các lệnh điều kiện if có thể lồng nhau để phục vụ cho việc xử lý các câu điềukiện phức tạp Việc này cũng thường xuyên gặp khi lập trình Giả sử chúng tacần viết một chương trình có yêu cầu xác định tình trạng kết hôn của mộtcông dân dựa vào các thông tin như tuổi, giới tính, và tình trạng hôn nhân, dựatrên một số thông tin như sau:

• Nếu công dân là nam thì độ tuổi có thể kết hôn là 20 với điều kiện làchưa có gia đình

• Nếu công dân là nữ thì độ tuổi có thể kết hôn là 19 cũng với điều kiện là chưa có gia đình

• Tất cả các công dân có tuổi nhỏ hơn 19 điều không được kết hôn

Trang 40

Dựa trên các yêu cầu trên ta có thể dùng các lệnh if lồng nhau để thực hiện Ví

dụ sau sẽ minh họa cho việc thực hiện các yêu cầu trên

Kết quả chương trình:

Hình 3.9 Màn hình kết quả if…else lồng

Câu hỏi ôn tập và bài tập

1 Viết chương trình cho phép người dùng nhập tên của mình và hiển thị câu:Môn học Lập trình Windows Form chào bạn + <Tên vừa nhập>

2 Viết chương trình nhập vào các thông tin:

 Tên

 Tuổi

 Địa chỉ

Ngày đăng: 28/12/2021, 19:30

HÌNH ẢNH LIÊN QUAN

Hình 4.7. Màn hình kết quả vòng lặp for tổng hợp - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 4.7. Màn hình kết quả vòng lặp for tổng hợp (Trang 51)
Hình 5.1. Kết quả thực hiện vòng lặp while in hình chữ nhật dấu * - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 5.1. Kết quả thực hiện vòng lặp while in hình chữ nhật dấu * (Trang 60)
Hình 10.2. Màn hình lựa chọn khi tạo mới project - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 10.2. Màn hình lựa chọn khi tạo mới project (Trang 90)
Hình 10.4. Lựa chọn hiển thị cho các cửa sổ con - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 10.4. Lựa chọn hiển thị cho các cửa sổ con (Trang 91)
Hình 10.9. Danh sách các sự kiện của form - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 10.9. Danh sách các sự kiện của form (Trang 97)
Hình 11.3. Hộp thoại điều chỉnh Font cho Label - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 11.3. Hộp thoại điều chỉnh Font cho Label (Trang 108)
Hình 12.9. Form toán cơ bản 2 số - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 12.9. Form toán cơ bản 2 số (Trang 125)
Hình 13.5. Form Danh sách thực đơn, Thực đơn hằng ngày - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 13.5. Form Danh sách thực đơn, Thực đơn hằng ngày (Trang 132)
Bảng 14.4.Bảng mô tả các sự kiện của MonthCalendar - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Bảng 14.4. Bảng mô tả các sự kiện của MonthCalendar (Trang 136)
Hình 15.3. Màn hình để thêm các đối tượng con vào trong ListView - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 15.3. Màn hình để thêm các đối tượng con vào trong ListView (Trang 138)
Hình 15.4. Form Thêm lớp học vào ListView - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 15.4. Form Thêm lớp học vào ListView (Trang 141)
Hình 15.6. Hiển thị điều khiển TreeView - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 15.6. Hiển thị điều khiển TreeView (Trang 142)
Hình 15.7.  Form để tạo một TreeView - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 15.7. Form để tạo một TreeView (Trang 144)
Hình 15.10.  Form sử dụng ListView kết hợp TreeView - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 15.10. Form sử dụng ListView kết hợp TreeView (Trang 147)
Hình 16.3. Form màn hình đăng nhập có chưa ToolTip - Giáo trình mô đun Lập trình windows forms (Nghề Công nghệ thông tin  Trình độ trung cấp)
Hình 16.3. Form màn hình đăng nhập có chưa ToolTip (Trang 151)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w