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

Lập trình Windows Form (Cao đẳng CNTT) - Nguồn: BCTECH

221 117 2

Đ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 221
Dung lượng 7,41 MB

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

Nội dung

Tuy nhiên có điềm khác biệt với Panel là TabPage hỗ trợ thuộc tính Text, chuỗi mô tả được thiết lập trong thuộc tính Text sẽ hiển thị trên tab của TabPage:. Hình 18.9[r]

Trang 1

UBND 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 ĐỘ: CAO ĐẮNG

(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, NĂM 2020.

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.1 Giới thiệu các ứng dụng thực tế 10

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

1.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

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

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

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

2.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

3.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 38

2 Câu lệnh switch 38

2 Câu lệnh for 40

3 Câu lệnh for …each 49

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

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

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

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

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

Trang 7

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

4 Sử dụng câu lệnh break 60

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

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

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

BÀI 7: HÀM 65

5 Khái niệm 65

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

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

4 Cách truyền tham số 68

5 Sử dụng hàm 69

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

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

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

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

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

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 78

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

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

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

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

9 Form 85

2 Menustrip 96

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

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

11 Label 102

2 TextBox 105

Trang 8

3 Button 108

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

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

13 Checkbox 113

2 RadioButton 115

3 GroupBox upload.123doc.net 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 148

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

1 CheckListBox 150

2 NumericUpDown 152

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

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

Trang 9

1 Panel 156

2 SplitContainer 157

3 TabControl 161

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

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

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

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

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

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

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

1 Định nghĩa Dataset 178

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

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

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

1 Ý nghĩa DataGridView 183

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

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

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

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

1 Ý nghĩa BindingSource 191

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

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

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

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

1 Ý nghĩa BindingNavigator 194

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

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

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

Trang 10

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

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

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

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

TÀI LIỆU THAM KHẢO 204

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: 19.01 Giới thiệu:

C# hay Csharp là một trong những ngôn ngữ lập trình trong họ DotNetcủa Microsoft 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

1.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

1.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: 19.02 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ônngữ 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ằng khi 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:

2.1 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

case event interface protected this while

catch explicit internal public throw decimal

class finally long return typeof short

const fixed namespace sbyte uint unchecked

2.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#

Kiểu

C#

Số Byte

Kiểu

byte 1 Byte Số nguyên dương không dấu: 0 đến 255

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.647uint 4 Uint32 Số nguyên không dấu: 0 đến

4.294.967.295float 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

“m” hay “M” theo sau giá trị

Kiểu số nguyên có dấu có giá trị trongkhoả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

Trang 22

Ví dụ 1.5: float a=0.15f;

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 được

int b = Convert.ToInt32(“123456787654”); //Tràn bộ nhớ, không chuyển được

double d = Convert.ToDouble(null); //Trả về giá trị mặc định

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

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

Trang 23

- 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

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

2.3.1 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ị

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

Trang 24

 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.

2.3.2 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

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

Trang 25

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

2.4 Các phép toán

2.4.1 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#

Toán tử Tên Ví dụ Kết quả

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

Ví dụ:

2.4.2 Toán tử gán

Trang 26

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#

Toán tử Ví dụ Kết quả

<<= 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

2.4.3 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:

y = x++; hoặc y = ++x;

Vậy đâu là điểm khác biệt giữa 2 cú pháp trên ? Giả sử cho giá trị của biến x =

9 ta cùng đi phân tích nhé

Khi lệnh y = x++; được thực hiện thì phép gán sẽ được thực hiện trước tiên

và sau đó mới đến phép toán tăng Ta gọi đây là tăng hậu tố, và giá trị của cácbiến bây giờ là x = 10 và y = 9

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

2.4.4 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ựchiệ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

thức đúng

trong ngoặc

2.4.5 Toán tử quan hệ

Các toán tử quan hệ thường được dùng để so sánh giữa hai giá trị, và sau đó trả

về kết quả là một giá trị logic kiểu boolean (true hoặc false)

Giả sử ta có biến x = 5 và y = 3 Các toán tử trong C# được trình bày như bảndưới đây:

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

Toán tử Ký hiệu Biểu thức so

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

2.4.6 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

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

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: 19.03 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 Hoa

Kì, 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,

3.1.4 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

3.1.5 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ớití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

Sau khi tạo xong Project cấu trúc thư mục được lưu vào trong Solution

Hình 3.3: Màn hình quản lý Solution

Một Solution gồm nhiều Project có cấu trúc như sau:

Hình 3.4: Màn hình quản lý Project

Nhấp chuột phải vào Solution

Chọn Add Thêm project mới

Danh sách các dự án project

Project được chọn và chạy

đầu tiên

Trang 36

Hình 3.5: Màn hình gán cho Project được chạy đầu tiên

Project sau khi tạo

Hình 3.6: 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

Gán cho Project được chạy

đầu tiên

Trang 37

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

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

Trước khi chạy chương trình cần biên dịch và kiểm tra lỗi của Solution vừa tạo Khi kiểm tra còn lỗi thì chương trình sẽ chạy với lần biên dịch trước đó

Hình 3.8: Kiểm tra lỗi của Solution

Kiểm tra lỗi trước khi chạy

chương trình

Trang 38

Hình 3.9: Màn hình thông báo lỗi của chương trình

Chọn Start hoặc nhấp vào biểu tượng để chạy chương trình Phímtắt (F5)

Hình 3.10: 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

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

Màn hình thông báo lỗi của

chương trình

Trang 39

3.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 40

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

Hình 3.12 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

Ngày đăng: 10/03/2021, 15:38

TỪ KHÓA LIÊN QUAN

w