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*1045 .. ±3.4*1038) 4
≈ ≈ double Double ố ự S th c ( ±5.0*10324 .. ±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 az, 09 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

