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

...C03. Language Basic.pdf

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 (605 KB, 21 trang )

N gôn ngữ C #
T rần V ăn T èo


01/06/2006

N g ôn n g ữ C #

1


C hư ơ ng 2: C ăn bản N gôn ngữ C #
n
n
n
n
n
n
n
n

K iểu dữ liệu (T y p e).
B iến (V ariable) và H ằng (C onstant).
B iểu thứ c (E xpression)
Whitespace
C ác câu lệnh (S tatem ents).
C ác toán tử (O p erato rs).
Namespace
C ác chỉ thị tiền xử lý (P reprocessor D irectiv es)

01/06/2006



N g ôn n g ữ C #

2


K iểu dữ liệu (T ype).
n

n

n

n

C # là m ột ngôn ngữ kiểm soát chặt chẽ về
m ặt k iểu d ữ liệu.
H ai n hóm k iểu dữ liệu : b ẩm sin h (build -in),
tự tạo (u serser-defined).
H ai lo ại k iểu d ữ liệu : k iểu trị (v aluealue -type),
kiểu qui chiếu (reference type).
D ữ liệu đư ợ c lư u trên stack h oặc heap tùy
vào đặc thù của kiểu dữ liệu.

01/06/2006

N g ôn n g ữ C #

3



K iểu dữ liệu (T ype).
Type

Size
(bytes)

.NET type

Description

byte

1

Byte

U n sign ed (trị 0-255).

char

2

Char

U n icod e k ý tự .

bool

1


Boolean

True or false.

sbyte

1

Sbyte

S ign ed (trị -128 to 127).

short

2

Int16

S ign ed (sh ort) (trị -32,768 to 32,767).

ushort

2

UInt16

U n sign ed (sh ort) (trị 0 to 65,535).

int


4

Int32

S ố n gu yên có d ấu (sign ed ). T rị từ -2,147,483,648
đ ến 2,147,483,647.

uint

4

UInt32

S ố n gu yên k h ôn g d ấu (U n sign ed ). T rị từ 0 đ ến
4,294,967,295.

float

4

Single

3.4 x 1038 vớ i 7 số có ý n gh ĩa.

double

8

Double


1.8 x 10308 vớ i 15-16 số có ý n gh ĩa.

01/06/2006

N g ôn n g ữ C #

4


K iểu dữ liệu (T ype).
decimal

16

Decimal

L ên đ ến 28 số và vị trí d ấu ch ấm th ập p h ân . T h ư ờ n g d ù n g
tron g tín h toán tài ch ín h . Y êu cầu có h ậu tố (su ffix) là
" m " h oặc " M ." .

long

8

Int64

S ố n gu yên có d ấu , trị từ -9,223,372,036,854,775,808 đ ến
9,223,372,036,854,775,807.


ulong

8

UInt64

S ố n gu yên k h ôn g d ấu , trị từ 0 đ ến 0xffffffffffffffff.

Object

K iểu d ữ liệu ob ject d ự a trên S ystem .O b ject củ a .N E T
F ram ew ork . B ạn có th ể gán trị th u ộc b ất cứ k iểu d ữ liệu
n ào lên b iến k iểu ob ject. T h u ộc k iểu q u i ch iếu .

String

K iểu strin g tư ợ n g trư n g ch o m ột ch u ổi k ý tự U n icod e. strin g
là m ột alias đ ối vớ i S ystem .S trin g trên .N E T
F ram ew ork . T h u ộc k iểu q u i ch iếu .

object

string

01/06/2006

N g ôn n g ữ C #

5



C huyển đổi kiểu dữ liệu.
H ai cách chuyển đổi: ngầm (im plicit), tư ờ ng m inh (explicit).
C huyển đổi ngầm (im plicit):

n
n



C h u yển đổ i ngầm sẽ tự đ ộng đ ư ợ c th ự c h iện v à b ảo đ ảm k hô ng m ất
thông tin.
V í dụ : short x = 5;
int y = x;

C huyển đổi tư ờ ng m inh (explicit).

n





01/06/2006

C ó nh ữ ng ch uyển đổ i ng ầm k hôn g th ể th ự c h iện đ ư ợ c v à đ ể ch u yển
đ ổi th ì ph ải ép k iểu (cast).
V í dụ : short x; int y = 500;
x = (short)y;
K h i ép k iểu có th ể sẽ g ây ra nếu k hôn g kiểm so át đ ư ợ c g iá trị củ a

chúng.
V í dụ : int y = 35.000; short x = (short) y;
N g ôn n g ữ C #

6


B iến (V ariable)
C ú p h áp khai báo m ộ t b iến:
[modifier] datatype identifier;
n
modifier là m ột trong nhữ ng từ khóa: p ublic,
p rivate, protected , … .
n
datatype là kiểu dữ liệu (int, long,… )
n
identifier là tên biến.
n
C ó thể khai báo v à kh ở i g án n hiều b iến cùn g m ộ t
lú c, vớ i điều kiện các biến thuộc cùng m ộ t d ataty pe
v à cùng m ột m odifier.
n
V í dụ: public static int x = 10, y = 20 //đú n g
public int x = 10, private byte y = 20;//sai
01/06/2006

N g ôn n g ữ C #

7



H ằng (C onstant)
L à m ột biến như ng trị không thay đổi trong
suố t thờ i g ian th i hành ch ư ơ n g trình.
Khai báo: const datatype identifier = value
Đ ặc đ iểm :

n

n
n






01/06/2006

P hải có từ khóa const.
P hải đư ợ c gán lú c k hai b áo .
K hông thể gán hằng từ m ột trị của m ộ t b iến .
L uôn là static như ng không dùng từ k h ó a static
khi khai báo.
N g ôn n g ữ C #

8


H ằng (C onstant)

Ư u điểm :

n



D ễ đọc ch ư ơ ng trình, bằng cách thay th ế các co n
số m ang bở i nhữ ng tên đầy ý nghĩa.
D ễ sử a ch ư ơ ng trình, bằng cách chỉ m ộ t lần th ay
đổi giá trị của hằng.
T ránh lỗi dễ d àn g hơ n . N ếu g án lại g iá trị ch o
hằng thì chư ơ ng trình sẽ báo lỗi ngay .




n

C ác loại h ằn g : literals, sy m b o lic constant,
enumeration.

01/06/2006

N g ôn n g ữ C #

9


E num eration (L iệt kê)
L à m ộ t tập h ợ p nh ữ ng hằng đư ợ c đặt tên.

n
L à m ộ t k iểu d ữ liệu số n gu yên tự tạo .
n
Cú pháp:
[atrributes][modifiers] enum identifier [:base[:base-type] {enumerator{enumerator-list};

base--type là b ất kỳ kiểu dữ liệu nào là số (ngoại trừ char).
base

anumerator--list là d anh sách các h ằn g, m ỗ i hằn g có m ộ t trị số , cách
anumerator
n h au b ằn g d ấu p h ẩy. N ếu p h ần p h ần tử kh ông có trị số th ì hằn g đ ầu
tiên có g iá trị là 0 , h ằng đ i sau sẽ tăn g lên 1 so v ớ i trị củ a hằn g trư ớ c

V í dụ : enum SomeValues{
First,
Second,
Third = 20,
Fourth
};
n

01/06/2006

N g ôn n g ữ C #

10


P hạm vi hoạt động của biến


01/06/2006

N g ôn n g ữ C #

11


B iểu thứ c và khoảng trắng
B iểu thứ c (exp ression ):

n




C ác câu lệnh cho ra m ột trị đư ợ c gọi là biểu thứ c.
V í dụ:
myVariable = 57;
mySecondVariable = myVariable = 57;

K h oảng trắng (w hitespace):

n




01/06/2006


C ác ký tự trắng (space), khoảng trắng canh cột (tab),
dòng m ớ i (new line) đều đư ợ c gọi là khoảng trắng
(whitespace).
C # làm lơ đi các khoảng trắng trong các câu lệnh.
N g ôn n g ữ C #

12


C ác câu lệnh (statem ent)
n

n

n

C ác câu lệnh rẽ n h ánh
• if… else.
• switch.
C ác câu lệnh lặp
• while
• do… w hile
• for
C ác câu lệnh n hảy: continue, break, retu rn , g o to .

01/06/2006

N g ôn n g ữ C #

13



C âu lệnh if… else
n

Cú pháp:

if (x > y)
W riteL ine(“x > y”);

if (condition-expression)
statement1
[else
statement2]

if (x > y)
W riteL ine(“x > y”);

else
W riteL ine(“x < = y”);

01/06/2006

N g ôn n g ữ C #

14


C âu lệnh sw itch
n


Cú pháp:

switch(expresstion)
{
case constant-expression:
statement

jump-statement
[default:statement]

}
01/06/2006

N g ôn n g ữ C #

const int one = 1;
int nSelect = 2;
switch(nSelect)
{
case one:
Console.WriteLine("1");
break;
case 2:
Console.WriteLine("2");
break;
case 3:
C o n so le .W rite L in e (“3 ");
goto case 2;
default:

C o n so le .W rite L in e (“4 ");
break;
}
15


V òng lặp w hile
n

T hự c hiện statem en t k h i ex p ressio n trả v ề k ết q u ả tru e
while (expresstion)

statement
int i = 0;
while (i < 10) {
Console.WriteLine(i);
i++;
}

01/06/2006

0123456789
N g ôn n g ữ C #

16


V òng lặp do… w hile
n


T ư ơ ng tự w hile, như ng thự c hiện ít nhất m ột lần.

do statement
while (expresstion);
int i = 0;
do{
Console.WriteLine(i);
i++;
}while (i < 10)

01/06/2006

0123456789
N g ôn n g ữ C #

17


V òng lặp for
for([initializers];[condition];[iterators])
statement
for (int i = 0; i < 10; i++) {
Console.WriteLine(i);
}

0123456789

n

B iến trong khối for chỉ có ý nghĩa trong phạm vi của khối này.


for (int i = 0; i < 10; i++)
Console.WriteLine(i);
Console.WriteLine(i);//Error
01/06/2006

N g ôn n g ữ C #

18


L ệnh goto
n

C ho phép nhảy trự c tiếp đến m ột câu lệnh đư ợ c đánh dấu bở i
m ột nhản (L abel).

if (number % 2 == 0) goto Even;
Console.WriteLine("odd");
goto End;
Even:
Console.WriteLine("even");
End:;
n

n

K hông thể nhảy vào m ột khối đoạn m ã chẳng hạn vòng lặp for.
K hông thể nhảy ra khỏi m ột lớ p hoặc m ột khối fianlly


01/06/2006

N g ôn n g ữ C #

19


L ệnh break và continue
n
n

break: nh ảy ra k h ỏ i v ò n g lặp .
break:
continue:: nhảy đến lần lặp tiếp theo.
continue

int i = 0;
while (true) {
Console.WriteLine(i);
i++;
if (i < 10)
continue;
else
break;
}

01/06/2006

N g ôn n g ữ C #


20


Q&A

01/06/2006

N g ôn n g ữ C #

21



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×