n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic...

15
12/05/2011 1 Ch ng 2 n t ng ngôn ng C# i dung 1. Ki u d li u 2. Bi n 3. H ng 4. Bi u th c 5. Kho ng tr ng 6. Câu l nh 7. Toán t 8. nh d ng 9. M t s hàm c bn 10. Câu h i 1. Ki u d li u C# là ngôn ng ph i khai báo ki u c a m i i ng khi t o C# chia thành hai t p h p ki u d li u: o Ki u xây d ng s n (built- in) o Ki u c ng i dùng nh ngh a (user-defined) Ki u d li u giá tr (value) Ki u d li u tham chi u (reference) Ki u d li u giá tr Click to buy NOW! P D F - X C h a n g e w w w . t r a c k e r - s o f t w a r e . c o m Click to buy NOW! P D F - X C h a n g e w w w . t r a c k e r - s o f t w a r e . c o m

Transcript of n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic...

Page 1: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

1

Ch ng 2n t ng ngôn ng C#

i dung

1. Ki u d li u2. Bi n 3. H ng4. Bi u th c5. Kho ng tr ng6. Câu l nh7. Toán t8. nh d ng9. M t s hàm c b n10. Câu h i

1. Ki u d li u

C# là ngôn ng ph i khai báo ki u c a m i i

ng khi t oC# chia thành hai t p h p ki u d li u: o Ki u xây d ng s n (built- in) o Ki u c ng i dùng nh

ngh a (user-defined)

Ki u d li u giá tr (value)

Ki u d li u tham chi u (reference)

Ki u d li u giá tr

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 2: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

2

Ki u d li u tham chi u

Object: ây là ki u d li u c s ch a t t các ki u d li u khác trong C#

String: ki u d li u chu i ký tClass: ki u d li u classDelegate: ki u d li u chuy n giaoInterface: ki u d li u giao ti pArray: ki u d li u m ng

p phát b nh

Các bi n c a ki u d li u giá tr

Các bi n c a ki u d li u tham chi u

c l u trên stack, vùng nh này c tham chi u b i tên c a bi n

Stack là m t c u trúc d li u l u tr thông tin

ng x p ch ng t c là vào sau ra tr c (Last In First Out : LIFO)

c c p phát trên heap

Khi m i t ng c c p phát trên

heap thì a ch c a nó c tr v , và a ch

này c gán n m t tham chi u

Chuy n i các ki u d li u Parse

Ph ng th c Parse là ph ng th c c s ng khá ph bi n khi chúng ta mu n chuy n i t chu i sang t ki u d li u t ng ng

i ki u d li u c b n trong C# u có ph ng th c Parse chuy n i sang ki u d li u ó

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 3: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

3

Ví d

int a = Int32.Parse("123"); //a s mang giá tr 123float b = Float.Parse("20.7"); //b s mang giá tr 20.7bool c = Boolean.Parse("true"); //c s mang giá tr true

byte b = Byte.Parse(“10000000000”); //quá gi i h n,bool c = Boolean.Parse(null); //tham s là null, ArgumentNullException

TryParse

Gi ng nh Parse, TryParse ng là ph ng th c c tích h p s n trong các l p ki u d li u c

n c a C#Cú pháp c a TryParse có ph n khác v i Parse

<ki u d li u>.TryParse(tham s 1, out tham s 2);

int a;Int32.TryParse(“123”, out a); //a s mang giá tr 123 bool b;Boolean.TryParse(“false”, out b); //b s mang giá tr false

int a;Int32.TryParse("hello", out a); //tr v giá tr false, a mang giá tr 0

bool b;Boolean.TryParse("", out b); //tr v giá tr false, b mang giá tr False

Convert

p Convert là m t l p ti n ích trong C# cung p cho chúng ta r t nhi u ph ng th c t nh

khác nhau chuy n i t m t ki u d li u này sang ki u d li u khác

Tham s mà các ph ng th c trong Convert nh n không nh t thi t ph i là chu i mà có th nhi u ki u d li u khác nhau (int, bool, double…)

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 4: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

4

bool a = Convert.ToBoolean("khoaimon");

int b = Convert.ToInt32("123456787654");

Casting (Ép ki u)

Ép ki u là cách chúng ta có th s d ng khi mu n chuy n i gi a các ki u d li u có tính ch t t ng t nhau (th ng là s )

Có 2 lo i:o ng minho Không t ng minh

Casting (Ép ki u)

short x = 10;int y = x; // chuy n i ng m nh

short x;int y = 100;x = y; // Không biên d ch, l i !!!

short 2 byteint 4 byteshort x;

int y = 500;x = (short) y; // Ép ki u t ng minh, không báo l i

2. Bi n

t bi n là m t vùng l u tr v i m t ki u d li uBi 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

Khai báo:<ki ud li u> <tênbi n1>, <tênbi n2>, …;

Gán giá tr :<tênbi n> = <giátr / tênbi nkhác>;

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 5: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

5

u ý

Các bi n ph i c kh i t o tr c khi s d ngTên bi n phân bi t ch hoa, ch th ngTên bi n ch có th b t u v i ký t ho c d u _ Tên bi n không c:o Không th b t u v i ch so Ch a ký t c bi t nh $,#,%,^…o Trùng v i t khóa (nh ng n u mu n t trùng tên v i

khóa thì dùng @ ng tr c)o i ngh a

Ph m vi c a bi n

Toàn c c

c b

3. H ng

ng c ng là m t bi n nh ng giá tr c a h ng không thay i

ng c phân thành ba lo i: o Giá tr h ng (literal)o Bi u t ng h ng (symbolic constants)o Ki u li u kê (enumerations)

Câu l nh:

<const><ki u d li u><tên h ng> = <giá tr >;

Const int a = 20;

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 6: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

6

Enum <tên li t kê> : <ki u d li u>{

Danh sách các thành ph n li t kê,};

enum diem : int{

diemmax = 10,diemtb = 5,diemliet = 0,

};

i ki u li t kê u có m t ki u d li u c s (int, short, long…)o Ki u li t kê là m t ki u hình th c do ó b t bu c ph i th c

hi n phép chuy n i t ng minh v i các ki u giá tr nguyên

o i thành ph n trong ki u li t kê t ng ng v i m t giá tr nguyên

• Ta ph i kh i t o• u không kh i t o thì chúng s nh n các giá tr ti p

theo v i thành ph n u tiên là 0Ki u d li u li t kê không ch p nh n ki u ký t và

u chúng ta b qua ph n này thì trình biên d ch s gán giá tr m c nh là ki u nguyên (int)

Ki u chu i ký t

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

li u chu i u gi m t ng nh ng ký t

Khai báo m t chu i : string chuoi;

ng chu i : “Xin chao”

string chuoi = “Xin chao”

nh danh

nh danh là tên do ng i l p trình ch nh cho:o Các ki u d li uo Các ph ng th co Bi no ngo Hay i t ng....

Cách t tên nh danh :o t u v i m t ký t ch cái hay d u g ch d io Các ký t còn l i ph i là ký t ch cái, ch s , d u

ch d i

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 7: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

7

camel notation

Microsoft ngh s d ng cú pháp l c à (camel notation) :

o Tên bi n : b u b i ký t ch th ng

o Tên hàm và h u h t tên các nh danh : b t u b i ký t ch hoa

4. Bi u th c

var1 = 24;

var2 = var1 = 24;

a = b = c = d = 24;

5. Kho ng tr ng (whitespace)

C# s b qua t t c các kho ng tr ng trong câu nh:

var1 = 24; hay var1 = 24 ;

Tuy nhiên l u ý là kho ng tr ng trong m t chu i không c b qua :

System.WriteLine(“Xin chao!”);System.WriteLine(“ Xin chao !”);

6. C u trúc câu l nh (statement)

Tu n tPhân nhánho Không u ki n : goto , break , continue , return ,

statementthrowo Có u ki n : if ; switch

p :o foro whileo do … while

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 8: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

8

Statements break and continue

goto BreakContinuereturn statementthrow

Goto

nh nh y goto là m t l nh nh y n gi n, cho phép ch ng trình nh y vô u ki n t i m t v trí trong ch ng trình thông qua tên nhãnGoto giúp ch ng trình c a b n c linh ho t h n nh ng trong nhi u tr ng h p nó s làm m t i c u trúc thu t toán và gây r i ch ng trình

Cách s d ng l nh goto:o m t nhãn

goto n nhãn

using System;public class UsingGoto{

public static int Main(){

int i = 0;lap: // nhãnConsole.WriteLine(“i:{0}”,i);i++;if ( i < 10 )goto lap; // nhãy v nhãn lapreturn 0;

}}

i:0i:1i:2i:3i:4i:5i:6i:7i:8i:9

Continue

Câu l nh continue c dùng trong vòng l p Dùng khi b n mu n kh i ng l i m t vòng l p nh ng l i không mu n thi hành ph n l nh còn

i trong vòng l p, m t m nào ó trong thân vòng l p

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 9: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

9

if/else selection structure

do somethingconditionstrue

false

Conditions

do somethingdo something else

false true

if (bi u th c u ki n){

<l nh 1><l nh 2>....

}[else{

<l nh 1><l nh 2>...

}]

int s;s = 3;s += 1;if (s > 5){

System.Console.WriteLine(s);}else{

System.Console.WriteLine(s * 10);}System.Console.ReadLine();

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 10: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

10

switch Multiple-Selection Structure

switch (bi u th c u ki n){

case <giá tr >:<Các câu l nh th c hi n><l nh nh y>[default: <Các câu l nh th c hi n m c nh>]

}

int diem;diem = 7;switch (diem){

case 3:{

System.Console.WriteLine("Yeu");break;

}case 5:{

System.Console.WriteLine("Trung binh");break;

}default:{

System.Console.WriteLine("Khong biet");break;

}}

for Repetition Structure

counter++

Establish initial value of control variable.

Determine if final value of control variable has been reached.

counter <= 10Console.WriteLine( counter * 10 );

true

false

int counter = 1

Body of loop (this may be multiple statements)

Increment the control variable.

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 11: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

11

for ([ ph n kh i t o] ; [bi u th c u ki n]; [b c l p]){

<Câu l nh th c hi n>;<Câu l nh th c hi n>;<Câu l nh th c hi n>;

}

foreach (<ki ut ph p> <têntruyc pthànhph n > in <tênt ph p>)<Các câu l nh th c hi n>;

for (int i = 2; i < 10; i++){

for (int j = 1; j < 11; j++){

System.Console.WriteLine(i+"x"+j+"="+i*j+" ");}

}System.Console.ReadLine();

while Repetition Structure

while (Bi u th c){

<Câu l nh th c hi n>;<Câu l nh th c hi n>;<Câu l nh th c hi n>;

}

true

false

do somethingconditions

string pass = "ABCD";string chuoi;int solan;solan = 0;while (solan < 3){

System.Console.Write("Nhap pass : ");chuoi = System.Console.ReadLine();if (chuoi == pass){

System.Console.WriteLine("Dung roi");System.Console.ReadLine();solan = 4;

}else{

System.Console.WriteLine("Sai roi");System.Console.ReadLine();System.Console.Clear();solan += 1;

}}

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 12: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

12

do/while Repetition Structure

do{

<Câu l nh th c hi n>;<Câu l nh th c hi n>;<Câu l nh th c hi n>;

}while ( u ki n )

true

false

action(s)

condition

using System;public class UsingDoWhile{

public static int Main( ){

int i = 11;do{

Console.WriteLine(“i: {0}”,i);i++;

} while ( i < 10 )return 0;

}}

7. Toán t

Toán t là công c dùng thao tác d li ut toán t là m t ký hi u dùng i di n cho t thao tác c th nào ó c th c hi n trên li u

Các lo i toán t :o Toán t gán (=)o Toán t s h co Toán t t ng và gi m (++ ; --)o Toán t quan ho Toán t logico Toán t 3 ngôi

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 iToán t gán là toán t hai ngôi

ây là toán t n gi n nh t thông d ng nh t và ng d s d ng nh t

Ví d :a = b;z = 25;

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 13: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

13

Toán t s h c

Phép c ng (+)Phép tr (-)Phép nhân (*)Phép chia (/) nguyênPhép chia l y ph n d (%)

ng/gi m (++ / --)

var2 = 10;var1 = var2++; // H u t

var1 ……… var2 ………

var2 = 10;var1 = ++var2; // Ti n t

var1 ……… var2 ………

10 11

1111

luong = 1000000;luong = luong + 200000;luong = luong * 2;luong = luong – 100000;

luong += 200000;luong *= 2;luong -= 100000;

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 14: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

14

Toán t quan h Toán t logic

u tiên toán t Toán t ba ngôi

<Bi u th c u ki n> ? <Bi u th c th 1> : <Bi u th c th 2>;

5>6 ? “Sai” : “Dung”;

dai = 56;rong = 45;rong <= dai ? “Sai roi b n oi” : “Dung roi ban oi”;

Dung

Sai roi ban oi

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com

Page 15: n t ` ng ngôn ng o C# - WordPress.com · short, long…) oKi u li t kê là m Yt ki u hình th ic do ÿó b lt bu Yc ph `i th qc hi n phép chuy n ÿ Ui t I ]ng minh v [i các ki

12/05/2011

15

8. nh ngKý t Ý ngh a

\’ u nháy n

\” u nháy kép

\\ u chéo

\0 Ký t null

\a Alert

\b Backspace

\f Sang trang

\n Dòng m i

\r u dòng

\t Tab ngang

\v Tab d c

9. M t s hàm toán h c

Sinh viên t tìm hi u

10. Câu h i

• khác nhau gi a thành ph n (Component-Based) và h ng i ng (Object- Oriented)?

• i sao trong ki u s không nên khai báo ki u d li u l n thay vì dùng ki u d li u nh h n?

• Chuy n gì x y ra n u ta gán giá tr âm vào bi n ki u không d u?• Nh ng ngôn ng nào h tr Common Type System (CTS) trong

Common Language Runtime (CLR)?• Có th s d ng chu i v i câu l nh switch?• Nh ng t theo sau t nào là t khóa trong C#: field, cast, as,

object, throw, football, do, get, set, basketball.• Ki u d li u nào nh nh t có th l u tr c giá tr 45?• t qu c a 15%4 là bao nhiêu?• l n t i thi u các l nh trong while (do while) c th c hi n?• Cho bi t các l nh phân nhánh trong C#?

Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software.c

om Click t

o buy NOW!

PDF-XChange

ww

w.tracker-software

.com