Tải bản đầy đủ (.pdf) (102 trang)

Giáo trình Lập trình Windows 2 (Nghề Công nghệ thông tin Cao đẳng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (921.43 KB, 102 trang )

ỦY BAN NHÂN DÂN TỈNH ĐỒNG THÁP
TRƢỜNG CAO ĐẲNG CỘNG ĐỒNG ĐỒNG THÁP

GIÁO TRÌNH
MƠN HỌC: LẬP TRÌNH WINDOWS 2
NGÀNH, NGHỀ: CƠNG NGHỆ THƠNG TIN
TRÌNH ĐỘ: CAO ĐẲNG

(Ban hành kèm theo Quyết định số
/QĐ-CĐCĐ ngày tháng
năm 20…
của Hiệu trƣởng trƣờng Cao đẳng Cộng đồng Đồng Tháp)

Đồng Tháp, năm 2017


TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể đƣợc phép dù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 kinh doanh thiếu lành
mạnh sẽ bị nghiêm cấm


LỜI GIỚI THIỆU

Giáo trình Lập trình trực quan, nhằm cung cấp cho sinh viên kiến thức cơ bản về
lập trình trực quab trong Visual Studio .Net.
Nội dung bài giảng gồm 5 chƣơng sau:
 Tổng quan về Framework.Net.
 Ngôn ngữ lập trình c#
 Lập trình hƣớng đối tƣợng


 Form và Các điều khiển.
Bài giảng dành cho đối tƣợng học viên trung cấp tin học - ngành quản trị cơ sở
dữ liệu.
Dù đã cố gắng để hoàn thành bài giảng này nhƣng khơng thể tránh khỏi những
sai sót. Rất mong sự đóng góp của quý đồng nghiệp để bài giảng ngày càng hồn
thiện hơn.
Tơi chân thành cảm ơn sự động viên và đóng góp ý kiến của các bạn đồng
nghiệp trong quá trình biên soạn tài liệu.
Nhóm biên soạn


MỤC LỤC
MỤC LỤC

LỜI GIỚI THIỆU
MỤC LỤC .................................................................................................................. 4
CHƢƠNG 1 – TỔNG QUAN VỀ FRAMEWORK .NET ........................................ 7
Mục tiêu:................................................................................................................. 7
1.1 Giới thiệu .Net .................................................................................................. 7
1.2 Các loại ứng dụng .......................................................................................... 10
1.3 Các bƣớc xây dựng trong môi trƣờng .Net .................................................... 10
1.4 Ứng dụng đầu tiên .......................................................................................... 11
CHƢƠNG 2 – NGÔN NGỮ LẬP TRÌNH C# ........................................................ 14
Mục tiêu:............................................................................................................... 14
2.1 Giới thiệu ....................................................................................................... 14
2.2 Các thành phần cơ bản .................................................................................. 16
2.2.1 Biến ......................................................................................................... 16
2.2.2 Các kiểu dữ liệu....................................................................................... 17
2.2.3 Hằng ........................................................................................................ 19
2.2.4 Biểu thức ................................................................................................. 19

2.2.5 Toán tử .................................................................................................... 20
2.3 Các cấu trúc điều khiển .................................................................................. 25
2.3.1 Cấu trúc rẽ nhánh .................................................................................... 25
2.3.2 Cấu trúc chọn .......................................................................................... 27
2.3.3 Cấu trúc lặp ............................................................................................. 32
2.3.4 Lệnh nhảy ................................................................................................ 41
2.4 Các kiểu dữ liệu có cấu trúc ......................................................................... 45
2.4.1 Mảng........................................................................................................ 45
2.4.2 Chuỗi ....................................................................................................... 48
2.4.3 Kiểu liệt kê .............................................................................................. 48
2.4.4 Không gian tên ........................................................................................ 52
2.5 Hàm .............................................................................................................. 53


MỤC LỤC
2.5.1 Khai báo hàm .......................................................................................... 54
2.5.2 Cách gọi hàm........................................................................................... 56
2.5.3 Truyền tham số ........................................................................................ 57
2.6 Exception và cấu trúc try..catch ................................................................... 58
2.6.1 Exception ................................................................................................. 58
2.6.2 Cấu trúc try…catch ................................................................................. 60
CHƢƠNG 3 – LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG ............................................. 68
Mục tiêu................................................................................................................ 68
3.1 Giới thiệu ........................................................................................................ 68
3.2 Các tính chất của lập trình hƣớng đối tƣợng ................................................. 68
3.2.1 Tính trừu tƣợng ....................................................................................... 68
3.2.2 Tính đóng gói .......................................................................................... 69
3.2.3 Tính thừa kế ............................................................................................ 69
3.2.4 Tính đa hình ............................................................................................ 69
3.3 Các thành phần trong lập trình hƣớng đối tƣợng ........................................... 70

3.3.1 Lớp .......................................................................................................... 70
3.3.2 Đối tƣợng ................................................................................................ 74
3.3.3 Thuộc tính ............................................................................................... 75
3.3.4 Phƣơng thức ............................................................................................ 77
CHƢƠNG 4 – FORM VÀ CÁC ĐIỀU KHIỂN ...................................................... 79
Mục tiêu:............................................................................................................... 79
4.1 Các khái niệm ................................................................................................. 79
4.1.1 Thủ tục sự kiện ........................................................................................ 79
4.1.2 Lập trình sự kiện ..................................................................................... 80
4.2 Form ............................................................................................................... 80
4.2.1 Các dạng form ......................................................................................... 80
4.2.2 Các thuộc tính.......................................................................................... 81
4.2.3 Các phƣơng thức ..................................................................................... 83
4.3 Các điều khiển ................................................................................................ 85
4.3.1 Label ....................................................................................................... 85


MỤC LỤC
4.3.2 TextBox .................................................................................................. 85
4.3.3 Button ..................................................................................................... 88
4.3.4 Listbox .................................................................................................... 89
4.3.5 CheckListBox ......................................................................................... 92
4.3.6 Combobox .............................................................................................. 93
4.3.7 RadioButton ........................................................................................... 94
4.3.8 CheckBox ............................................................................................... 94
4.3.9 GroupBox ............................................................................................... 95
4.3.10 Panel ..................................................................................................... 95
4.3.11 Menu, ToolBar ...................................................................................... 96
4.4 Ứng dụng MDI ............................................................................................... 98
4.5 Hộp thông điệp .............................................................................................. 99



Chƣơng 1 – Tổng quan về FrameWork .Net

CHƢƠNG 1 – TỔNG QUAN VỀ FRAMEWORK .NET
Mục tiêu:
- Trình bày tổng quan về .FrameWork. Net, các khái niệm cơ bản trong môi
trƣờng .Net
- Trình bày đƣợc các bƣớc để xây dựng một ứng dụng trong môi trƣờng .Net
- Tạo đƣợc ứng dụng đơn giản đầu tiên trong môi trƣờng .Net
- Rèn luyện tính tích cực, chủ động, thích học hỏi.
- Thực hiện thao tác an tồn, chính xác trên máy tính.
1.1 Giới thiệu .Net
Microsoft .NET gồm 2 phần chính: Framework và Integrated Development
Environment (IDE). Framework cung cấp những gì cần thiết và căn bản, chữ
Framework có nghĩa là khung hay khung cảnh trong đó ta dùng những hạ tầng cơ
sở theo một qui ƣớc nhất định để công việc đƣợc trôi chảy. IDE thì cung cấp một
mơi trƣờng giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa
trên nền tảng .NET. Nếu khơng có IDE chúng ta cũng có thể dùng một trình soạn
thảo ví nhƣ Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng command
line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian. Tốt nhất là
chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử dụng nhất.
Thành phần Framework là quan trọng nhất .NET là cốt lõi và tinh hoa của môi
trƣờng, cịn IDE chỉ là cơng cụ để phát triển dựa trên nền tảng đó thơi. Trong .NET
tồn bộ các ngơn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một
IDE.


Chƣơng 1 – Tổng quan về FrameWork .Net


Tóm lại Microsoft .NET là nền tảng cho việc xây dựng và thực thi các ứng dụng
phân tán thế hệ kế tiếp. Bao gồm các ứng dụng từ client đến server và các dịch vụ
khác. Một số tính năng của Microsoft .NET cho phép những nhà phát triển sử dụng
nhƣ sau:
 Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch
vụ web và ứng dụng client với Extensible Markup Language (XML).
 Tập hợp dịch vụ XML Web, nhƣ Microsoft .NET My Services cho phép nhà
phát triển đơn giản và tích hợp ngƣời dùng kinh nghiệm.
 Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và
BizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML
Web và các ứng dụng.
 Các phần mềm client nhƣ Windows XP và Windows CE giúp ngƣời phát
triển phân phối sâu và thuyết phục ngƣời dùng kinh nghiệm thơng qua các
dịng thiết bị.
 Nhiều cơng cụ hỗ trợ nhƣ Visual Studio .NET, để phát triển các dịch vụ Web
XML, ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệu
quả.
Kiến trúc .NET Framework
.NET Framework là một platform mới làm đơn giản việc phát triển ứng dụng trong
môi trƣờng phân tán của Internet. .NET Framework đƣợc thiết kế đầy đủ để đáp
ứng theo quan điểm sau:
 Để cung cấp một môi trƣờng lập trình hƣớng đối tƣợng vững chắc, trong đó
mã nguồn đối tƣợng đƣợc lƣu trữ và thực thi một cách cục bộ. Thực thi cục
bộ nhƣng đƣợc phân tán trên Internet, hoặc thực thi từ xa.
 Để cung cấp một môi trƣờng thực thi mã nguồn mà tối thiểu đƣợc việc đóng
gói phần mềm và sự tranh chấp về phiên bản.


Chƣơng 1 – Tổng quan về FrameWork .Net


 Để cung cấp một môi trƣờng thực thi mã nguồn mà đảm bảo việc thực thi an
toàn mã nguồn, bao gồm cả việc mã nguồn đƣợc tạo bởi hãng thứ ba hay bất
cứ hãng nào mà tuân thủ theo kiến trúc .NET.
 Để cung cấp một môi trƣờng thực thi mã nguồn mà loại bỏ đƣợc những lỗi
thực hiện các script hay môi trƣờng thông dịch.
 Để làm cho những ngƣời phát triển có kinh nghiệm vững chắc có thể nắm
vững nhiều kiểu ứng dụng khác nhau. Nhƣ là từ những ứng dụng trên nền
Windows đến những ứng dụng dựa trên web.
 Để xây dựng tất cả các thông tin dựa triên tiêu chuẩn công nghiệp để đảm
bảo rằng mã nguồn trên .NET có thể tích hợp với bất cứ mã nguồn khác.
.NET Framework có hai thành phần chính: Common Language Runtime
(CLR) và thƣ viện lớp .NET Framework. CLR là nền tảng của .NET
Framework. Chúng ta có thể hiểu runtime nhƣ là một agent quản lý mã
nguồn khi nó đƣợc thực thi, cung cấp các dịch vụ cốt lõi nhƣ: quản lý bộ
nhớ, quản lý tiểu trình, và quản lý từ xa. Ngồi ra nó cịn thúc đẩy việc sử
dụng kiểu an tồn và các hình thức khác của việc chính xác mã nguồn, đảm
bảo cho việc thực hiện đƣợc bảo mật và mạnh mẽ. Thật vậy, khái niệm quản
lý mã nguồn là nguyên lý nền tảng của runtime. Mã nguồn mà đích tới
runtime thì đƣợc biết nhƣ là mã nguồn đƣợc quản lý (managed code). Trong
khi đó mã nguồn mà khơng có đích tới runtime thì đƣợc biết nhƣ mã nguồn
khơng đƣợc quản lý (unmanaged code).
Thƣ viện lớp, một thành phần chính khác của .NET Framework là một tập hợp
hƣớng đối tƣợng của các kiểu dữ liệu đƣợc dùng lại, nó cho phép chúng ta có thể
phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay
những ứng dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất đƣợc
cung cấp bởi ASP.NET, nhƣ là Web Form và dịch vụ XML Web.


Chƣơng 1 – Tổng quan về FrameWork .Net


Hình 1.1: Mơ tả các thành phần trong .NET Framework.
1.2 Các loại ứng dụng
Ứng dụng Console: ứng dụng này giao tiếp với ngƣời dùng thơng quan bàn phím
và khơng có giao diện ngƣời dùng (UI), giống nhƣ các ứng dụng thƣờng thấy trong
Windows.
Ứng dụng WindowsForms: là ứng dụng có giao diện đồ họa chạy trên hệ điều
hành Windows.
1.3 Các bƣớc xây dựng trong môi trƣờng .Net
Bƣớc 1: Tạo dự án mới


Chƣơng 1 – Tổng quan về FrameWork .Net

Các thông tin cần xác định cho một dự án mới:
- Name: tên
- Location: nơi lƣu trữ
Bƣớc 2: Thiết kế giao diện
Đƣa các điều khiển vào form để thiết kế giao diện
Bƣớc 3: Đặt các thuộc tính cho các điều khiển trên giao diện
Bƣớc 4: Viết code
Bƣớc 5: Thi hành chƣơng trình – Nhấn F5
1.4 Ứng dụng đầu tiên
Bƣớc 1: Tạo dự án mới


Chƣơng 1 – Tổng quan về FrameWork .Net

Bƣớc 2: Thiết kế giao diện
Đƣa các điều khiển Label1 và Button1 vào form.
Chỉnh vị trí và kích thƣớc của các điều khiển cho hợp lý.


Bƣớc 2: Đặt các thuộc tính cho các điều khiển
Form
Name

frmHello

Autosize

F

BackColor
Text

Rỗng

Label1
Name

lblHello

Autosize

False

BackColor
Font


Chƣơng 1 – Tổng quan về FrameWork .Net


ForeColor
Rỗng

Text
TextAlign
Button1
Name

btnThiHanh

Text

&Thi Hành

Bƣớc 4: Viết code
private void btnThiHanh_Click(object sender, EventArgs e)
{
lblHello.Text = "Hello World!";
}
Bƣớc 5: Gõ F5 để thi hành chƣơng trình


Chƣơng 2 – Ngơn ngữ lập trình c#

CHƢƠNG 2 – NGƠN NGỮ LẬP TRÌNH C#
Mục tiêu:
- Trình bày đƣợc các thành phần trong ngơn ngữ lập trình c#.
- Trình bày và sử dụng thành thạo các cấu trúc điều khiển để viết chƣơng trình.
- Trình bày và sử dụng thành thạo các kiểu dữ liệu có cấu trúc.

- Xây đựng đƣợc hàm để áp dụng cho viết chƣơng trình.
- Sử dụng đƣợc cấu trúc try … catch để bẩy lỗi.
Rèn luyện tính tích cực, chủ động trong tƣ duy, thao tác cận thận, an tồn trên máy
tính.
2.1 Giới thiệu
Ngơn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mƣời mấy kiểu dữ liệu
đƣợc xây dựng sẵn. Tuy nhiên, ngơn ngữ C# có ý nghĩa cao khi nó thực thi những
khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành
phần component, lập trình hƣớng đối tƣợng. Những tính chất đó hiện diện trong
một ngơn ngữ lập trình hiện đại. Và ngôn ngữ C# hội đủ những điều kiện nhƣ vậy,
hơn nữa nó đƣợc xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và
Java.
Ngôn ngữ C# đƣợc phát triển bởi đội ngũ kỹ sƣ của Microsoft, trong đó ngƣời dẫn
đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai ngƣời này điều là những ngƣời
nổi tiếng, trong đó Anders Hejlsberg đƣợc biết đến là tác giả của Turbo Pascal, một
ngơn ngữ lập trình PC phổ biến. Và ơng đứng đầu nhóm thiết kế Borland Delphi,
một trong những thành công đầu tiên của việc xây dựng môi trƣờng phát triển tích
hợp (IDE) cho lập trình client/server.


Chƣơng 2 – Ngơn ngữ lập trình c#

Phần cốt lõi hay cịn gọi là trái tim của bất cứ ngơn ngữ lập trình hƣớng đối tƣợng
là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp. Những lớp thì
định nghĩa những kiểu dữ liệu mới, cho phép ngƣời phát triển mở rộng ngôn ngữ để
tạo mơ hình tốt hơn để giải quyết vấn đề. Ngơn ngữ C# chứa những từ khóa cho
việc khai báo những kiểu lớp đối tƣợng mới và những phƣơng thức hay thuộc tính
của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của
bất cứ ngơn ngữ lập trình hƣớng đối tƣợng.
Trong ngơn ngữ C# mọi thứ liên quan đến khai báo lớp điều đƣợc tìm thấy trong

phần khai báo của nó. Định nghĩa một lớp trong ngơn ngữ C# khơng địi hỏi phải
chia ra tập tin header và tập tin nguồn giống nhƣ trong ngôn ngữ C++. Hơn thế nữa,
ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động
các document cho lớp.
C# cũng hỗ trợ giao diện interface, nó đƣợc xem nhƣ một cam kết với một lớp cho
những dịch vụ mà giao diện quy định. Trong ngơn ngữ C#, một lớp chỉ có thể kế
thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa nhƣ trong ngôn ngữ
C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Khi một lớp thực thi một
giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện.
Trong ngôn ngữ C#, những cấu trúc cũng đƣợc hỗ trợ, nhƣng khái niệm về ngữ
nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc đƣợc giới hạn, là kiểu
dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó u cầu ít hơn về hệ điều hành và bộ nhớ
so với một lớp. Một cấu trúc thì khơng thể kế thừa từ một lớp hay đƣợc kế thừa
nhƣng một cấu trúc có thể thực thi một giao diện.
Ngơn ngữ C# cung cấp những đặc tính hƣớng thành phần (component-oriented),
nhƣ là những thuộc tính, những sự kiện. Lập trình hƣớng thành phần đƣợc hỗ trợ
bởi CLR cho phép lƣu trữ metadata với mã nguồn cho một lớp. Metadata mô tả cho
một lớp, bao gồm những phƣơng thức và những thuộc tính của nó, cũng nhƣ những


Chƣơng 2 – Ngơn ngữ lập trình c#

sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng những logic
cần thiết để thực hiện những chức năng của nó.. Do vậy, một lớp đƣợc biên dịch
nhƣ là một khối self-contained, nên môi trƣờng hosting biết đƣợc cách đọc
metadata của một lớp và mã nguồn cần thiết mà khơng cần những thơng tin khác để
sử dụng nó.
Một lƣu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ
nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán
tử. Các mã nguồn này là khơng an tồn (unsafe). Và bộ giải phóng bộ nhớ tự động

của CLR sẽ không thực hiện việc giải phóng những đối tƣợng đƣợc tham chiếu
bằng sử dụng con trỏ cho đến khi chúng đƣợc giải phóng.
2.2 Các thành phần cơ bản
2.2.1 Biến
Một biến là một vùng lƣu trữ với một kiểu dữ liệu. Biến có thể đƣợc gán giá trị và
cũng có thể thay đổi giá trị khi thực hiện các lệnh trong chƣơng trình. Để tạo một
biến chúng ta phải khai báo kiểu của biến và gán cho biến một tên duy nhất.
Biến có thể đƣợc khởi tạo giá trị ngay khi đƣợc khai báo, hay nó cũng có thể đƣợc
gán một giá trị mới vào bất cứ lúc nào trong chƣơng trình.
Cú pháp khai báo biến
<type> <tên biến>
hoặc
<type> <tên biến> = <giá trị>;
Ví dụ:


Chƣơng 2 – Ngơn ngữ lập trình c#

int a, b, c, d, e;
int i=100;
Chú ý:
- C# đòi hỏi các biến phải đƣợc khởi tạo trƣớc khi đƣợc sử dụng
- Việc sử dụng biến khi chƣa đƣợc khởi tạo là không hợp lệ trong C#
- Tuy nhiên không nhất thiết lúc nào chúng ta cũng phải khởi tạo biến. Nhƣng
để dùng đƣợc thì bắt buộc phải gán cho chúng một giá trị trƣớc khi có một
lệnh nào tham chiếu đến biến đó. Điều này đƣợc gọi là gán giá trị xác định
cho biến và C# bắt buộc phải thực hiện điều này.
2.2.2 Các kiểu dữ liệu
Ngôn ngữ C# đƣa ra các kiểu dữ liệu xây dựng sẵn rất hữu dụng, phù hợp với một
ngơn ngữ lập trình hiện đại, mỗi kiểu dữ liệu đƣợc ánh xạ đến một kiểu dữ liệu

đƣợc hỗ trợ bởi hệ thống xác nhận ngôn ngữ chung (Common Language
Specification: CLS) trong MS.NET. Việc ánh xạ các kiểu dữ liệu nguyên thuỷ của
C# đến các kiểu dữ liệu của .NET sẽ đảm bảo các đối tƣợng đƣợc tạo ra trong C#
có thể đƣợc sử dụng đồng thời với các đối tƣợng đƣợc tạo bởi bất cứ ngôn ngữ
khác đƣợc biên dịch bởi .NET, nhƣ VB.NET.
Mỗi kiểu dữ liệu có một sự xác nhận và kích thƣớc khơng thay đổi, khơng giống
nhƣ C++, int trong C# ln có kích thƣớc là 4 byte bởi vì nó đƣợc ánh xạ từ kiểu
Int32 trong .NET.
Kiểu c#
byte

Số byte
1

Kiểu .NET
Byte

Mô tả
Số nguyên dƣơng không dấu từ 0-255


Chƣơng 2 – Ngơn ngữ lập trình c#

char

2

Char

Ký tự Unicode


bool

1

Boolean

Giá trị logic true/false

sbyte

1

Sbyte

Số nguyên có dấu (từ -128 đến 127)

short

2

Int16

Số nguyên -32.768 đến 32.767

ushort

2

Uint16


Số nguyên từ 0 đến 65.535

int

4

Int32

Số nguyên -214.7483.647 đến 2.147.483.647

uint

4

Uint32

Số nguyên từ 0 đến 4.294.967.295

float

4

Single

Kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E38 đến 3,4E+38, với 7 chữ số có nghĩa

double

8


Double

Kiểu dấu chấm động có độ chính 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

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 tốn tài chính
kiểu này địi hỏi phải có hậu tố “m” hoặc
“M” theo sau giá trị

long

8

Int64

Kiểu

nguyên

-9.223.370.036.854.775.808


đến 9.223.370.036.854.775.807
ulong

Chú ý:

8

Uint64

Số nguyên từ 0 đến 0xffffffffffffffff


Chƣơng 2 – Ngơn ngữ lập trình c#

Kiểu giá trị logic chỉ có thể nhận đƣợc giá trị là true hay false mà thôi. Một giá trị
nguyên không thể gán vào một biến kiểu logic trong C# và khơng có bất cứ chuyển
đổi ngầm định nào. Điều này khác với C/C++, cho phép biến logic đƣợc gán giá trị
nguyên, khi đó giá trị nguyên 0 là false và các giá trị còn lại là true.
2.2.3 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
Cú pháp khai báo hằng:
<const> <type> <tên hằng> = <giá trị>;
Ví dụ:
const int ChuNhat = 0;
const int ThuHai = 1;
const int ThuBa=2;
Chú ý:
- Hằng phải đƣợc khởi tạo khi khai báo, và chỉ khởi tạo duy nhất một lần trong

suốt chƣơng trình và khơng đƣợc thay đổi.
2.2.4 Biểu thức
Những câu lệnh mà thực hiện việc định lƣợng một giá trị gọi là biểu thức. Một
phép gán một giá trị cho một biến cũng là một biểu thức:
x = 17;


Chƣơng 2 – Ngơn ngữ lập trình c#

x = y = 17;
y có giá trị của biểu thức x = 17, nên y = 17
2.2.5 Tốn tử
Tốn tử đƣợc kí hiệu bằng một biểu tƣợng dùng để thực hiện một hành động. Các
kiểu dữ liệu cơ bản của C# nhƣ kiểu nguyên hỗ trợ rất nhiều các toán tử nhƣ toán tử
gán, toán tử toán học, logic....
Toán tử gán
Toán tử gán hay phép gán làm cho toán hạng bên trái thay đổi giá trị bằng với giá
trị của toán hạng bên phải. Tốn tử gán là tốn tử hai ngơi
Tốn tử số học
Ý nghĩa

Tốn tử
+

Cộng

-

Trừ


*

Nhân

/

Chia ngun và khơng ngun
- Khi chia hai số nguyên, thì C# sẽ bỏ phần phân
số, hay bỏ phần dƣ.
- Khi chia cho số thực có kiểu nhƣ float, double,
hay decimal thì kết quả chia đƣợc trả về là một số


Chƣơng 2 – Ngơn ngữ lập trình c#

thực.
%

Chia lấy dƣ

Các toán tử tự gán
Toán tử

Ý nghĩa

+=

Cộng thêm giá trị toán hạng bên phải vào giá trị toán
hạng bên trái.


-=

Toán hạng bên trái đƣợc trừ bớt đi một lƣợng bằng giá
trị của toán hạng bên phải.

*=

Toán hạng bên trái đƣợc nhân với một lƣợng bằng giá
trị của toán hạng bên phải.

/=

Toán hạng bên trái đƣợc chia với một lƣợng bằng giá
trị của toán hạng bên phải.

%=

Toán hạng bên trái đƣợc chia lấy dƣ với một lƣợng
bằng giá trị của toán hạng bên phải.

Toán tử tăng giảm tiền tố và tăng giảm hậu tố
Do việc tăng hay giảm 1 rất phổ biến trong lập trình nên C# cung cấp hai tốn tử
đặc biệt là tăng một (++) hay giảm một (--).
Ví dụ: Tăng hậu tố


Chƣơng 2 – Ngơn ngữ lập trình c#

int a, b;
a=9;

b=a++;
System.Console.WriteLine("a={0},b={1}",a,b);
Kết quả:
a=10,b=9

Ví dụ: Tăng tiền tố
int a, b;
a=9;
b=++a;
System.Console.WriteLine("a={0},b={1}",a,b);
Kết quả:
a=10,b=10

Ví dụ: Giảm hậu tố
int a, b;
a=9;


Chƣơng 2 – Ngơn ngữ lập trình c#

b=a--;
System.Console.WriteLine("a={0},b={1}",a,b);
Kết quả:
a=8,b=9

Ví dụ: Giảm tiền tố
int a, b;
a=9;
b=--a;
System.Console.WriteLine("a={0},b={1}",a,b);

Kết quả:
a=8,b=8

Toán tử quan hệ
Những toán tử quan hệ đƣợ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 bool (true hay false)
Ý nghĩa

Toán tử
==

So sánh bằng


Chƣơng 2 – Ngơn ngữ lập trình c#

!=

So sánh khơng bằng

>

So sánh lớn hơn

>=

So sánh lớn hơn hoặc bằng

<


So sánh nhỏ hơn

<=

So sánh nhỏ hơn hoặc bằng

Toán tử logic
Ý nghĩa

Toán tử
&&

Toán tử and

||

Toán tử or

!

Toán tử not

Toán tử is
Toán tử is cho phép kiểm tra một đối tƣợng có tƣơng thích với một kiểu dữ liệu nào
đó hay khơng.
Tốn tử ba ngôi
<điều kiện>?<biếu thức 1> : <biểu thức 2>
Ý nghĩa:
Nếu điều kiện đúng thực hiện biểu thức 1, nếu sai thì thực hiện biểu thức 2



Chƣơng 2 – Ngơn ngữ lập trình c#

2.3 Các cấu trúc điều khiển
2.3.1 Cấu trúc rẽ nhánh
if…else…
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ệnh nà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>;


×