trờng đại học s phạm kỹ thuật hng yên
Khoa công nghệ thông tin
đề cơng bài giảng
Môn: Cơ sở kỹ thuật lập trình với C#
BMCNPM
3.4.3. Phộp toỏn logic 30
3.4.4. Phộp toỏn tng gim 31
3.4.5. Th t u tiờn cỏc phộp toỏn 31
3.5. Biểu thức 33
3.5.1. Biu thc s hc 33
3.5.2. Biu thc logic 33
3.5.3. Biu thc ủiu kin 33
3.5.4. Biu thc gỏn 34
3.5.5. Biu thc ộp kiu 35
BàI 4 : MộT Số HàM CHứC NĂNG THƯờNG DùNG TRONG CHƯƠNG 36
4.1. Một số hàm thờng dùng 36
BMCNPM
3
4.2. Nhập/xuất dữ liệu 37
4.2.1. a d liu ra mn hỡnh 37
4.2.2. Nhp d liu vo t bn phớm 38
BàI 5: BàI THựC HàNH Về CáC THàNH PHầN CƠ BảN 40
BàI 6: CấU TRúC Rẽ NHáNH 40
6.1. Khối lệnh 40
6.2. Các cấu trúc rẽ nhánh 41
6.2.1. Cu trỳc r nhỏnh if 41
6.2.2. Cu trỳc r nhỏnh switch 45
Bài 7: BàI THựC HàNH Về CấU TRúC Rẽ NHáNH 48
BàI 8: CấU TRúC LặP WHILE, DOWHILE 48
8.1. Cấu trúc lặp while 48
8.2. Cấu trúc lặp do while 49
BàI 9: CấU TRúC LặP FOR Và MộT Số LệNH ĐIềU KHIểN KHáC 52
9.1. Cấu trúc lặp for 52
BàI 19 : KIểU Dữ LIệU XÂU Có NộI DUNG Cố ĐịNH (STRING) 100
19.1. Khai báo và sử dụng 101
19.2. Các bài toán xử lý trên String 105
BàI 20 : KIểU Dữ LIệU XÂU VớI NộI DUNG THAY ĐổI ĐƯợC 116
20.1. Khai báo và sử dụng 116
20.2. Các bài toán xử lý trên StringBuilder 117
BàI 22: KIểU Dữ LIệU Có CấU TRúC 122
22.1. Khái niệm về cấu trúc 122
22.2. Khai báo cấu trúc 122
22.3. Các truy xuất các thành phần của cấu trúc 123
22.4. Ví dụ áp dụng 123
BàI 23: KIểU Dữ LIệU LIệT KÊ & TậP HợP 127
23.1. Tập hợp và danh sách liên kết 127
BàI 25: Hệ THốNG NHậP XUấT THƯờNG DùNG TRONG C# 128
25.1. Giới thiệu về hệ thống nhập xuất của C# 128
25.2. Các lớp nhập xuất tập tin 129
BàI 26: NHậP XUấT VớI TệP TIN VĂN BảN 130
26.1. Sử dụng các lớp nhập xuất tệp tin văn bản 130
BMCNPM
5
Đề cơng cơ sở kỹ thuật lập trình
Bài 1: Tổng quan về ngôn ngữ lập trình C#
1.1 Tổng quan về ngôn ngữ lập trình C#
Ngụn ng C# khỏ ủn gin, ch khong 80 t khúa v hn mi my kiu
d liu ủc xõy dng sn. Tuy nhiờn, ngụn ng C# cú ý ngha cao khi nú thc
thi nhng khỏi nim lp trỡnh hin ủi. C# bao gm tt c nhng h tr cho cu
BMCNPM
6
+ Có thêm Properties, các phương pháp có thể gọi các Properties ñể truy
cập dữ liệu.
+ Có reflection.
Tại sao phải sử dụng ngôn ngữ C#
Nhiều người tin rằng không cần thiết có một ngôn ngữ lập trình mới. Java,
C++, Perl, Microsoft Visual Basic, và những ngôn ngữ khác ñược nghĩ rằng ñã
cung cấp tất cả những chức năng cần thiết.
Ngôn ngữ C# là một ngôn ngữ ñược dẫn xuất từ C và C++, nhưng nó
ñược tạo từ nền tảng phát triển hơn. Microsoft bắt ñầu với công việc trong C và
C++ và thêm vào những ñặc tính mới ñể làm cho ngôn ngữ này dễ sử dụng hơn.
Nhiều trong số những ñặc tính này khá giống với những ñặc tính có trong ngôn
ngữ Java. Không dừng lại ở ñó, Microsoft ñưa ra một số mục ñích khi xây dựng
ngôn ngữ này. Những mục ñích này ñược ñược tóm tắt như sau:
- C# là ngôn ngữ ñơn giản
- C# là ngôn ngữ hiện ñại
- C# là ngôn ngữ hướng ñối tượng
- C# là ngôn ngữ mạnh mẽ và mềm dẻo
- C# là ngôn ngữ có ít từ khóa
- C# là ngôn ngữ hướng module
- C# sẽ trở nên phổ biến
C# là ngôn ngữ ñơn giản
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java
ðiều gì làm cho một ngôn ngữ hiện ñại? Những ñặc tính như là xử lý
ngoại lệ, thu gom bộ nhớ tự ñộng, những kiểu dữ liệu mở rộng, và bảo mật mã
nguồn là những ñặc tính ñược mong ñợi trong một ngôn ngữ hiện ñại. C# chứa
tất cả những ñặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm
thấy những ñặc tính trên phức tạp và khó hiểu. Tuy nhiên, cũng ñừng lo lắng
chúng ta sẽ dần dần ñược tìm hiểu những ñặc tính qua các chương trong cuốn
sách này.
Ghi chú: Con trỏ ñược tích hợp vào ngôn ngữ C++. Chúng cũng là
nguyên nhân gây ra những rắc rối của ngôn ngữ này. C# loại bỏ những phức tạp
và rắc rối phát sinh bởi con trỏ. Trong C#, bộ thu gom bộ nhớ tự ñộng và kiểu
dữ liệu an toàn ñược tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn ñề rắc rối của
C++.
C# là ngôn ngữ hướng ñối tượng
Những ñặc ñiểm chính của ngôn ngữ hướng ñối tượng (Object-oriented
language) là sự ñóng gói (encapsulation), sự kế thừa (inheritance), và ña hình
(polymorphism). C# hỗ trợ tất cả những ñặc tính trên. Phần hướng ñối tượng của
C# sẽ ñược trình bày chi tiết trong một chương riêng ở phần sau.
C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
Như ñã ñề cập trước, với ngôn ngữ C# chúng ta chỉ bị giới hạn ở chính
bởi bản thân hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không ñặt
những ràng buộc lên những việc có thể làm. C# ñược sử dụng cho nhiều các dự
án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng ñồ họa, bản tính,
C# là ngôn ngữ hướng module
Mã nguồn C# có thể ñược viết trong những phần ñược gọi là những lớp,
những lớp này chứa các phương thức thành viên của nó. Những lớp và những
phương thức có thể ñược sử dụng lại trong ứng dụng hay các chương trình khác.
Bằng cách truyền các mẫu thông tin ñến những lớp hay phương thức chúng ta có
thể tạo ra những mã nguồn dùng lại có hiệu quả.
C# sẽ là một ngôn ngữ phổ biến
C# là một trong những ngôn ngữ lập trình mới nhất. Vào thời ñiểm cuốn
sách này ñược viết, nó không ñược biết như là một ngôn ngữ phổ biến. Nhưng
ngôn ngữ này có một số lý do ñể trở thành một ngôn ngữ phổ biến. Một trong
những lý do chính là Microsoft và sự cam kết của .NET Microsoft muốn ngôn
ngữ C# trở nên phổ biến. Mặc dù một công ty không thể làm một sản phẩm trở
nên phổ biến, nhưng nó có thể hỗ trợ. Cách ñây không lâu, Microsoft ñã gặp sự
thất bại về hệ ñiều hành Microsoft Bob. Mặc dù Microsoft muốn Bob trở nên
phổ biến nhưng thất bại. C# thay thế tốt hơn ñể ñem ñến thành công sơ với Bob.
Thật sự là không biết khi nào mọi người trong công ty Microsoft sử dụng Bob
trong công việc hằng ngày của họ. Tuy nhên, với C# thì khác, nó ñược sử dụng
bởi Microsoft. Nhiều sản phẩm của công ty này ñã chuyển ñổi và viết lại bằng
BMCNPM
9
C#. Bằng cách sử dụng ngôn ngữ này Microsoft ñã xác nhận khả năng của C#
cần thiết cho những người lập trình.
là C# ñưa thêm thuộc tính vào trong một lớp giống như trong Visual Basic. Và
những thành viên của lớp ñược gọi duy nhất bằng toán tử “.” khác với C++ có
nhiều cách gọi trong các tình huống khác nhau.
Một ngôn ngữ khác rất mạnh và phổ biến là Java, giống như C++ và C#
ñược phát triển dựa trên C. Nếu chúng ta quyết ñịnh sẽ học Java sau này, chúng
ta sẽ tìm ñược nhiều cái mà học từ C# có thể ñược áp dụng.
BMCNPM
10
ðiểm giống nhau C# và Java là cả hai cùng biên dịch ra mã trung gian: C#
biên dịch ra MSIL còn Java biên dịch ra bytecode. Sau ñó chúng ñược thực hiện
bằng cách thông dịch hoặc biên dịch just-in-time trong từng máy ảo tương ứng.
Tuy nhiên, trong ngôn ngữ C# nhiều hỗ trợ ñược ñưa ra ñể biên dịch mã
ngôn ngữ trung gian sang mã máy. C# chứa nhiều kiểu dữ liệu cơ bản hơn Java
và cũng cho phép nhiều sự mở rộng với kiểu dữ liệu giá trị. Ví dụ, ngôn ngữ C#
hỗ trợ kiểu liệt kệ (enumerator), kiểu này ñược giới hạn ñến một tập hằng ñược
ñịnh nghĩa trước, và kiểu dữ liệu cấu trúc ñây là kiểu dữ liệu giá trị do người
dùng ñịnh nghĩa. Chúng ta sẽ ñược tìm hiểu kỹ hơn về kiểu dữ liệu tham chiếu
và kiểu dữ liệu giá trị sẽ ñược trình bày trong phần sau
Tương tự như Java, C# cũng từ bỏ tính ña kế thừa trong một lớp, tuy
nhiên mô hình kế thừa ñơn này ñược mở rộng bởi tính ña kế thừa nhiều giao
diện.
Các bước chuẩn bị cho chương trình
Thông thường, trong việc phát triển phần mềm, người phát triển phải tuân
thủ theo quy trình phát triển phần mềm một cách nghiêm ngặt và quy trình này
ñã ñược chuẩn hóa. Tuy nhiên trong phạm vi của chúng ta là tìm hiểu một ngôn
ñơn giản là chúng ta ñang tìm hiểu nó!
Và bước cuối cùng là phần thực thi chương trình ñể xem kết quả.
1.2. CÊu tróc mét ch−¬ng tr×nh C# ®¬n gi¶n
Từ ví dụ trên ta nhận thấy rằng một chương trình C# ñơn giản có ít nhất
là một lớp. Mỗi lớp ñược bắt ñầu bằng từ khoá class kế ñó là tên lớp( tên lớp do
chúng ta ñặt và phải tuân thủ theo nguyên tắc ñặt tên, bên trong một lớp ta có
thể khai báo các biến(thành phần dữ liệu) và các hàm(phương thức)). Trong số
các hàm bên trong lớp có một hàm tên là Main, hàm này có ñặc ñiểm khi một
chương trình C# ñược gọi ra thực hiện thì máy sẽ tiến hành thực hiện từ câu lệnh
ñầu tiên của hàm Main và khi màn Main kết thúc thì chương trình C# cũng kết
thúc. ðiều ñó chứng tỏ hàm Main là hàm chính của chương trình C#. Một
chương trình C# muốn thực hiện ñược thì phải có một hàm Main và chỉ có duy
nhất một hàm Main trong toàn bộ hệ thống chương trình và hàm này sẽ gọi các
hàm khác ra ñể thực hiện yêu cầu bài toán. Hàm Main ñược khai báo như sau:
Dạng 1:
(Không có tham số)
static void Main( )
{
// Các câu lệnh
}
Dạng 2: (Có tham số)
static void Main(string[] tên_biến)
{
// Các câu lệnh
}
BMCNPM
2.1. Một số khái niệm cơ bản
Ghi chỳ: Mt chng trỡnh ủc vit tt thỡ cn phi cú chỳ thớch cỏc ủon
mó ủc vit. Cỏc ủon chỳ thớch ny s khụng ủc biờn dch v cng khụng
tham gia vo chng trỡnh. Mc ủớch chớnh l lm cho ủon mó ngun rừ rng
v d hiu.
Trong vớ d mc 1.2 cú mt dũng chỳ thớch :
// Xuat ra man hinh.
Mt chui chỳ thớch trờn mt dũng thỡ bt ủu bng ký t //. Khi trỡnh
biờn dch gp hai ký t ny thỡ s b qua dũng ủú.
BMCNPM
13
Ngoài ra C# còn cho phép kiểu chú thích cho một hay nhiều dòng, và ta
phải khai báo “/*” ở phần ñầu chú thích và kết thúc chú thích là ký tự “*/”.
Ví dụ 1 : Minh họa dùng chú thích trên nhiều dòng.
class ChaoMung
{
static void Main()
{
/* Xuat ra man hinh chuoi ‘Hello World’
Su dung ham WriteLine cua lop System.Console
*/
System.Console.WriteLine(“Hello World”);
}
ví dụ 2: namespase và subnamespase
// trong namespase System có subnamespase Text và có lớp Console.
using System;
using System.Text;
namespace CSKTLT
{
class Program
{
static void Main(string[] args)
{
byte[] mb = new byte[2];
mb[0] = 65;
mb[1] = 66;
Console.WriteLine (Encoding.UTF8.GetString(mb));
//Lớp Encoding thuộc namespase System.Text
}
}
}
Kết quả:
AB
Từ khóa using: ðể khai báo sử dụng một namespace và ñược viết ở ñầu
chương trình trước từ khóa khai báo lớp class. ðể làm cho chương trình gọn
hơn, và không cần phải viết từng namespace cho từng ñối tượng, C# cung cấp từ
khóa là using, sau từ khóa này là một namespace hay subnamespace với mô tả
Ví dụ 4: Vì Console là một lớp(ñối tượng)không phải là một namespase nên câu
lệnh khai báo sau là không lệ.
using System.Console; // Không hợp lệ
class ChaoMung
{
static void Main()
{
//Xuat ra man hinh chuoi thong bao
WriteLine(“Hello World”);
}
}
BMCNPM
16
Kết quả:
ðoạn chương trình trên khi biên dịch sẽ ñược thông báo một lỗi như sau:
error CS0138: A using namespace directive can only be applied to namespace;
‘System.Console’ is a class not a namespace.
Cách biểu diễn namespace có thể làm giảm nhiều thao tác gõ bàn phím, nhưng
nó có thể sẽ không ñem lại lợi ích nào bởi vì nó có thể làm xáo trộn những
namespace có tên không khác nhau. Giải pháp chung là chúng ta sử dụng từ
khóa using với các namespace ñã ñược xây dựng sẵn, các namespace do chúng
ta tạo ra, những namespace này chúng ta ñã nắm chắc các thành phần về nó. Còn
ñối với namespace do các hãng thứ ba cung cấp thì chúng ta không nên dùng
từ khóa using.
- Ngoài ra ta còn có thể khai báo sử dụng một lớp của một namespace nào ñó
chương trình, chọn tiếp Menu FileNew Project. Chức năng này sẽ gọi cửa
sổ New Project (
Hình
1.5.1-1 bên dưới). Nếu như chương trình Visual Studio
.NET ñược chạy lần ñầu tiên, khi ñó cửa sổ New Project sẽ xuất hiện tự ñộng mà
không cần phải kích hoạt.
Lưu ý rằng Visual Studio .NET tạo ra một namespace dựa trên tên của
project mà ta vừa cung cấp (DauTay), và thêm vào chỉ dẫn sử dụng namespace
System bằng lệnh using, bởi hầu như mọi chương trình mà chúng ta viết ñều cần
sử dụng các kiểu dữ liệu chứa trong namespace System. .
Sau khi nhấn OK thì của sổ soạn thảo (code) ñược hiể thị ra như (hình Visual Studio .NET tạo một lớp tên là Program, lớp này chúng ta có thể tùy
ý ñổi tên của chúng. Khi ñổi tên của lớp, tốt nhất là ñổi tên luôn tập tin chứa lớp
ñó (Program.cs). Giả sử trong ví dụ trên chúng ta ñổi tên của lớp thành
LopChay, và ñổi tên tập tin Program.cs (ñổi tên tập tin trong cửa sổ Solution
Explorer, nhấn chuột phải nên tệp tin cần ñổi tên và chọn Rename).
Chúng ta có thể xóa tất cả các câu lệnh mà chương trình tạo cho chúng ta và
viết code của ứng dụng theo ý muốn (miễn là ñúng cấu trúc)
2.2.2. Lưu một ứng dụng C#
Trong một ứng dụng ta có thể tạo ra nhiều tệp tin *.cs. Ta có thể lưu sự
thay ñổi của một tệp hoặc của tất cả các tệp tin (Save và Save All).
2.2.3. Thêm một tệp tin .cs
ðể thêm một tệp tin .cs vào dự án : Vào Project Add Class (Shift + Alt + C)
2.2.1. Dịch và chạy một ứng dụng
+ Nhấn F5 : Chạy chương trình có Debug
+ Nhấn Ctr + F5: Chạy chương trình không có Debug
Hình 2.2. -2: Cửa sổ soạn thảo code
Nhấn vào nút này lưu
thông tin của tệp hiện
hành
Cỏc ch cỏi hoa: A B C Z
Cỏc ch cỏi thng: a b c z
Cỏc ch s: 0 1 2 9
Cỏc kớ hiu toỏn hc: + - * / = < >
Cỏc du ngoc: [ ] { } ( )
Cỏc ký hiu ủc bit khỏc: , . ; : / ? @ # $ % ^ &
Cỏc du ngn cỏch khụng nhỡn thy nh du cỏch, du nhy cỏch
tab, du xung dũng
Du gch ni di: _
3.1.2. T khúa
L nhng t ủc ngụn ng lp trỡnh s dng vo mt mc ủớch no ủú
nú cú mt ý ngha hon ton xỏc ủnh trong chng trỡnh:
Vớ d: void, struct, class, while,
+ Khụng ủc dựng t khoỏ ủ ủt tờn cho cỏc hng, bin, mng, hm
+ T khoỏ phi vit bng ch thng
Vớ d:
+ T khúa vit ủỳng: void
+ T khúa vit sai: Void
3.1.3. Tờn (ủnh danh)
Tờn gi ca cỏc thnh phn trong chng trỡnh ủc gi l ủnh
danh(Identifier). nh danh ủc s dng ủ xỏc ủnh cỏc thnh phn nh bin ,
kiu, phng thc(method) hay cũn ủc gi l hm, ủi tng, lp
Trong C# ủnh danh l mt dóy cỏc ký t gm cỏc ch cỏi, ch s v mt
s cỏc ký hiu nh: ký t gch di ni cõu _ .
BMCNPM
21
Khi ñặt tên phải tuân thủ theo chính quy:
+ Không chứa dấu cách
nhau khi lưu kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu trong bộ nhớ. ðối
với một kiểu dữ liệu giá trị thì sẽ ñược lưu giữ kích thước thật trong bộ nhớ ñã
BMCNPM
22
cấp phát là stack. Trong khi ñó thì ñịa chỉ của kiểu dữ liệu tham chiếu thì ñược
lưu trong stack nhưng ñối tượng thật sự thì lưu trong bộ nhớ heap.
Nếu chúng ta có một ñối tượng có kích thước rất lớn thì việc lưu giữ
chúng trên bộ nhớ heap rất có ích, trong chương 4 sẽ trình bày những lợi ích và
bất lợi khi làm việc với kiểu dữ liệu tham chiếu, còn trong chương này chỉ tập
trung kiểu dữ kiểu cơ bản hay kiểu xây dựng sẵn.
Ghi chú: Tất cả các kiểu dữ liệu xây dựng sẵn là kiểu dữ liệu giá trị ngoại trừ
các ñối tượng và chuỗi. Và tất cả các kiểu do người dùng ñịnh nghĩa ngoại trừ
kiểu cấu trúc ñều là kiểu dữ liệu tham chiếu
Ngoài ra C# cũng hỗ trợ một kiểu con trỏ C++, nhưng hiếm khi ñược sử
dụng, và chỉ khi nào làm việc với những ñoạn mã lệnh không ñược quản lý
(unmanaged code). Mã lệnh không ñược quản lý là các lệnh ñược viết bên ngoài
nền .MS.NET, như là các ñối tượng COM.
Kiểu dữ liệu xây dựng sẵn: 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# luôn có kích thước là 4 byte bởi vì nó ñược ánh xạ từ kiểu
Int32 trong .NET.
Sau ñây chúng ta ñi tìm hiểu chi tiết một sô kiểu dữ liệu dựng sẵn có trong C#:
Thông thường ñể chọn một kiểu dữ liệu nguyên ñể sử dụng như short, int
hay long thường dựa vào ñộ lớn của giá trị muốn sử dụng. Ví dụ, một biến
ushort có thể lưu giữ giá trị từ 0 ñến 65.535, trong khi biến ulong có thể lưu giữ
giá trị từ 0 ñến 18,446,744,073,709,551,615, do ñó tùy vào miền giá trị của
phạm vi sử dụng biến mà chọn các kiểu dữ liệu thích hợp nhất. Kiểu dữ liệu int
thường ñược sử dụng nhiều nhất trong lập trình vì với kích thước 4 byte của nó
cũng ñủ ñể lưu các giá trị nguyên cần thiết.
Kiểu số nguyên có dấu thường ñược lựa chọn sử dụng nhiều nhất trong kiểu số
trừ khi có lý do chính ñáng ñể sử dụng kiểu dữ liệu không dấu.
Cách tốt nhất khi sử dụng biến không dấu là giá trị của biến luôn luôn
dương, biến này thường thể hiện một thuộc tính nào ñó có miền giá trị dương.
Ví dụ khi cần khai báo một biến lưu giữ tuổi của một người thì ta dùng kiểu byte
(số nguyên từ 0-255) vì tuổi của người không thể nào âm ñược.
3.2.2. Kiểu thực
Dùng ñể lưu trữ các giá trị thực trong giới hạn cho phép tuỳ thuộc vào từng
kiểu dữ liệu thực cụ thể. Trong ngôn ngữ C# có một số kiểu dữ liệu thực sau:
Kiểu C#
Số
byte
Kiểu .NET
Mô tả
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 có ñộ chính xác gấp
ñôi, giá trị xấp xỉ từ 1,7E-308 ñến
BMCNPM
char 2 Char Ký tự Unicode
3.2.4. Kiểu logic
Dùng ñể biểu diễn các giá trị logic và chỉ chứa một trong hai giá trị true và
false
Kiểu C#
Số
byte
Kiểu .NET
Mô tả
bool 1 Boolean Giá trị logic true/ false
BMCNPM
25
3.2.5. Kiểu xâu(chuỗi)
Kiểu dữ liệu chuỗi khá thân thiện với người lập trình trong bất cứ ngôn
ngữ lập trình nào, kiểu dữ liệu chuỗi lưu giữ một dãy các ký tự. ðể khai báo một
chuỗi chúng ta sử dụng từ khoá string tương tự như cách tạo một thể hiện của
bất cứ ñối tượng nào:
string tenchuoi;
Một hằng chuỗi ñược tạo bằng cách ñặt các chuỗi trong dấu nháy ñôi:
“Xin chao”
ðây là cách chung ñể khởi tạo một chuỗi ký tự với giá trị hằng:
string chuoi = “Xin chao”;
Kiểu chuỗi sẽ ñược ñề cập sâu trong phần sau
3.3. BiÕn, h»ng vµ c¸ch khai b¸o
3.3.1. Biến