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...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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