NG  2

ƯƠ CH ơ ở ủ

Nh ng c  s  c a ngôn ng  C#

N i dung chính

 Các ki uể  Câu l nhệ  Toán tử

1. Các ki uể

ạ ữ ệ

 Lo i d  li u đ nh s n

Kích th c ướ ể Ki uể Ki u  .Net Mô t ­ giả á trị (byte)

byte Byte ấ  Không d u  (0..255) 1

char Char ự Mã ký th  Unicode 1

bool Boolean true hay false 1

ấ sbyte Sbyte 1 Có d u (­128 .. 127)

ấ short Int16 2 Có d u (­32768 .. 32767)

ấ ushort Uint16 Không d u (0 .. 65535) 2

ấ int Int32 4 Có d u (­2147483647 .. 2147483647)

ấ uint Uint32 Không d u (0 .. 4294967295) 4

≈ ≈ float Single ố ự S  th c ( ±1.5*10­45 .. ±3.4*1038) 4

≈ ≈ double Double ố ự S  th c ( ±5.0*10­324 .. ±1.7*10308) 8

ấ ấ ấ ớ decimal Decimal 8 s  cố ó d u ch m tĩnh v i 28 ký s  v ấ ố à d u ch m

ố ấ long Int64 8 S  nguyên c ó d u (­ 9223372036854775808   .. 9223372036854775807)

ấ ố ulong Uint64 S  nguyên không d u (0 .. 0xffffffffffffffff.) 8

ự ặ

đ c bi

t thông

Các ký t d ngụ

Ký tự

Nghĩa

\’

D u nh

áy đ nơ

\”

d u nh

áy đôi

\\

d u chấ

éo ng

c ượ “\”

\0

Null

\a

Alert

\b

lùi v  sauề

\f

Form feed

\n

xu ng dòng

\r

ề ầ v  đ u dòng

\t

Tab ngang

\v

Tab d cọ

ổ ể Chuy n đ i ki u đ nh s n

ự ộ

đ ng

ầ ị

ượ

ị i, không biên d ch đ

short x = 5; int y ; y = x; // chuy n ki u ng m đ nh ­ t ỗ c x = y; // l x = (short) y; // OK

ế

Bi n và h ng

 Bi nế

ướ

ế

ế ở ọ ơ

ươ

ử ụ c khi s  d ng  m i n i trong ch

ng trình

ữ ườ

t ch  hoa, ch  th

 Ph i khai báo bi n tr  Có th  khai báo bi n   Tên bi nế  Phân bi ử ụ  S  d ng các ký t

ự ừ  t

ng  a­z, 0­9 và d u “_”

 Ví d :ụ

int var1; int var2=10;

ế

Bi n và h ng

 H ngằ ằ

ế

ế

ở ộ

ằ ượ

ư H ng là m t bi n nh ng giá tr  không thay đ i  ị ộ ầ theo th i gian. Khi c n thao tác trên m t giá tr   ươ ự ằ   xác đ nh ta dùng h ng. Khai báo h ng t ng t ở ướ c.   tr  khóa const  khai báo bi n và có thêm t ổ ể H ng m t khi kh i đ ng xong không th  thay đ i  đ

ộ ữ c n a.

const int HANG_SO = 100;

ế

Bi n và h ng

ươ

 Đ nh danh ị

ạ i l p trình ch n đ i di n m t ki u, ph ằ

ộ ể ắ ầ

ố ượ

ườ ậ ủ

ệ ph iả  b t đ u b ng m t ký   khoá C# và phân bi

ng  ộ ệ t

ọ ng… c a h . Đ nh danh  ớ ừ ượ c trùng v i t

ị Đ nh danh là tên mà ng ứ ị  hay d u “_”. Đ nh danh không đ

ế th c, bi n, h ng, đ i t ấ ự t ườ ng. hoa th ể ứ Bi u th c ụ ví d :  x = 32; hay y = x = 32; ả

ượ

Trong C#, kho ng tr ng, d u tab, d u xu ng dòng đ u đ

c xem là  ỏ ề

Kho ng tr ng ả tr ng (

ư whitespace). Do đó, d u cách dù l n hay nh  đ u nh

ắ kho ng ả nhau nên ta có:

ạ ừ

x = 32; cũng nh  ư x     =                    32; ắ Ngo i tr  kho ng tr ng trong chu i ký t

thì có ý nghĩa riêng c a nó.

3. Câu l nhệ

ế

 Câu l nh k t thúc b ng d u “;”.  Ví d :ụ

ộ int x; // là m t câu l nh ộ x = 23; // m t câu l nh khác

Các câu l nhệ  R  nhánh

ẽ  Các l nh r  nhánh không đi u ki n  L nh r  nhánh có đi u ki n

ệ ệ

 L nh If .. else …  L nh switch

 Vòng l pặ ệ

 L nh goto ặ  Vòng l p while ặ  Vòng l p do … while ặ  Vòng l p for

R  nhánh không đi u ki n

ươ

ng th c

‑ụ ọ Ví d  3 3  G i m t ph using System; class Functions {

static void Main( ) {

Console.WriteLine("In Main! Calling SomeMethod( )..."); SomeMethod( ); Console.WriteLine("Back in Main( ).");

} static void SomeMethod( ) {

Console.WriteLine("Greetings from SomeMethod!");

}

ế

} ả K t qu : In Main! Calling SomeMethod( )... Greetings from SomeMethod! Back in Main( ).

L nh r  nhánh có đi u ki n

If … Else

ụ ể

ế ị

Ph  thu c vào đi u ki n  ể ki m tra là true hay false đ   quy t đ nh nhánh th c hi n

ơ

Ví d :ụ using System; class vidu {     static void Main()     {         Console.WriteLine("Nhap mot so:\n");         int n = Convert.ToInt16(Console.ReadLine());          if (n > 100)             Console.WriteLine("lon h n 100");         else             Console.WriteLine("nho hon hoac bang 100");         Console.ReadLine();   } }

If … Else

test expression

false

test expression

true

if ( n > 100) { … } else { … }

body of if

body of else

exit

L nh switch

ượ

c s  d ng khi có nhi u nhánh r

ử ụ ị ủ

ề ế

• L nh switch đ    ph  thu c vào giá tr  c a cùng m t bi n.

Cú pháp: switch ( bi u_th c_l a_ch n ) {

ể case bi u_th c_h ng : ố ệ   kh i l nh; ả   l nh nh y; [ default : ố ệ   kh i l nh;   l nh nh y; ]

}

L nh switch ...

using System; class vidu { static void Main() {         char c;      Console.Write("Enter your choice (a/b/c) : ");      c=char.Parse(Console.ReadLine());     switch (c)     {      case 'a':       Console.WriteLine("You picked a!");       break;     case 'b':       Console.WriteLine("You picked b!");       break;      case 'c':       Console.WriteLine("You picked c!");       break;     default:      Console.WriteLine("You picked d!");      break;   }   Console.ReadLine();    }  }

L nh switch ...

true

first case body

variable equals const 1

false

true

second case body

variable equals const 2

false

default body

exit

ặ Vòng l p while

•Vòng lặp while được sử dụng khi không biết trước số lần lặp. •Lặp cho đến khi biểu thức kiểm tra vẫn có giá trị True. •Ví dụ: using System; class vidu {     static void Main()     {     char c='n';

while ( c != 'y') {

Console.Write("Do you want to continue: (y/n)'"); c = char.Parse(Console.ReadLine());

}        }  }

Vòng l p while ...

test expression

ặ while ( c != ’y’ ) { … }

false

exit

test expression

true

body of loop

ặ Vòng l p do

ượ

c đánh

ộ ầ

c th c hi n ít nh t m t l n.

• Trong vòng l p do, bi u th c ki m tra đ ặ ố giá   cu i vòng l p. •Thân vòng l p đ ượ ặ •Ví d :ụ  char c='n';     do     {         Console.Write("Do you want to continue: (y/n)”);         c = char.Parse(Console.ReadLine());     }     while (c != 'y');

ặ Vòng l p do ...

test expression

do { … } while ( c != ’y’ );

body of loop

false

test expression

exit

true

ặ Vòng l p for ...

ề ệ

using System; class vidu {     static void Main()     {     int i;    Console.Write("Vong lap 1 lenh");     for (i=1; i<=15; i++) // thân vòng l p for có 1 l nh     Console.WriteLine("{0}*{1}={2}",i,i,i*i);       Console.ReadLine();    Console.WriteLine("Vong lap nhieu lenh");     int tong;    tong=0;     for (i=1; i<=15; i++)   // thân vòng l p for có nhi u l nh     {         Console.Write("Tong hien hanh là:{0}+{1}", tong,i);           tong=tong+i;         Console.WriteLine("={0}", tong);               }     Console.ReadLine();    }  }

ặ Vòng l p for

for ( i=0; i<15; i++ )

ở ạ

Bi u th c kh i t o

Bi u th c ki m tra

ứ Bi u th c tăng

initialization  expression

false

test expression

exit

true

body of loop

increment expression

Toán t

trong C#

Toán tử

Ý nghĩa

Nhóm toán tử

+ - * / %

ầ ư

ộ c ng , tr , nhân chia, l y ph n d

Toán h cọ

phép toán logic và thao tác trên bit

Logic

& | ^ ! ~ && || true false

+

ỗ ố ghép n i 2 chu i

Ghép chu iỗ

++, --

Tăng, gi mả

tăng / gi m to ứ

ạ ặ

ướ

ả Đ ng tr

c ho c sau to

án h ng lên / xu ng 1.  án h ng.ạ

<< >>

ị d ch tr

ả ái, d ch ph i

D ch bit

== != < > <= >=

ỏ ớ

ỏ ớ

ơ

ằ b ng, kh

ơ ác, nh /l n h n, nh /l n h n

Quan hệ

ặ ằ ho c b ng

phép gán

Gán

= += -= *= /= %= &= |= ^= <<= >>=

[]

ầ ử ủ

c a m ng

cách truy xu t ph n t

Ch  sỉ ố

()

Ép ki uể

* -> [] &

dùng cho con trỏ

Indirection và  Address