05/09/14
CÁC THÀNH PHẦN
CƠ BẢN CỦA C#
05/09/14
Danh hiệu
Là tên do NSD đặt ra để gọi tên các
lớp, hàm/phương thức, biến/thuộc
tính, hằng,….
Có thể tìm hiểu thêm trong các giáo
trình, taì liệu
Lưu ý : C/C++/C#/Java phân biệt chữ
thường/hoa
05/09/14
Từ khóa
Không nhiều từ khóa
Các từ khóa đều ở dạng chữ
thường
Tương tự như Pascal, các từ
khóa thường là các phát biểu điều
khiển, kiểu dữ liệu,…
Ví dụ if else do while int long
try catch checked ………
05/09/14
Khai báo biến !!!
Nếu khai báo trong 1 hàm : biến
Nếu khai báo ngoài hàm nhưng nằm
trong 1 lớp : không phải là biến
Cú pháp khai báo
<kiểu dữ liệu> <tên biến> ;
Thường thì nên kết hợp khai báo
với khởi động giá trị ban đầu cho
biến
<kiểu dữ liệu> <tên biến>=<giá trị>;
05/09/14
Khai báo biến !!!
int k ;
int j = 1, k;
float f = 12.3f;
double d =23.777;
char c = ‘Y’;
bool b = true;
string s1, s2=“Hello”,s3=“World”;
05/09/14
Khai báo biến !!!
Trong giai đoạn đầu, luôn khai báo
các biến trong hàm Main
Có thể khai báo biến ở vị trí bất kỳ
trong hàm
Phạm vi và tầm vực ảnh hưởng của
biến : nằm trong khối chứa nó
Tốt nhất : khai báo các biến ngay
phần đầu hàm Main()
05/09/14
Khai báo biến !!!
class <Tên lớp>
{
static public void Main( )
{
}
}
Khai báo biến trong đây !!
Không khai báo biến ở đây !!!!
Khai báo biến ở đây sẽ có ý nghĩa khác !!!!
05/09/14
Khai báo biến !!!
static public void Main(String[ ] s)
{ int i= 0;
……… // i
int k = 2;
………. // i và k
If ( ….) ………….{
int i = 1;
………… // i và k
int j = 2;
……… // i và k, j
}
…………. // i và k
} Tham khảo thêm trong C/C++/C#
05/09/14
Khai báo hằng !!!
Tương tự như biến : có ý nghĩa
khác nhau nếu khai báo ở các vị trí
khác nhau
class <Tên lớp>
{
static public void Main( )
{
}
}
Khai báo hằng trong đây !!
Không khai báo hằng ở đây !!!!
Khai báo hằng ở đây sẽ có ý nghĩa khác !!!!
05/09/14
Khai báo hằng !!!
Cú pháp
const <kiểu dữ liệu> <tên hằng> = <giá trị>;
Ví dụ
const int THISYEAR = 2006;
const float LAISUAT = 0.0085f;
const double GIATOC = 9.81;
const char YES = ‘Y’;
const string Hello = “Hello”;
05/09/14
Các kiểu dữ liệu chuẩn
05/09/14
Các kiểu dữ liệu cần nhớ!!!
Kiểu nguyên int và lớp tương đương Int32
Kiểu nguyên long và lớp tương đương Int64
Kiểu thực float và lớp tương đương Single
Kiểu thực double và lớp tương đương Double
Kiểu ký tự char và lớp tương đương Char
Kiểu logic bool và lớp tương đương Boolean
Kiểu chuỗi string và lớp tương đương String
05/09/14
Khai báo
Nên khai báo và khởi tạo giá trị ban
đầu
int i, j=2, k = 2*j; // i???
float f=11.56 ; // lỗi!ngầm hiểu double
float g = 23.72f;
char yes=‘Y’; //dùng nháy đơn
bool male=true;
string hello=“Hello!”;//nháy kép
05/09/14
Các phép toán cơ bản
Các phép toán số học
Cộng +
Trừ -
Nhân *
Chia /
Chia lấy phần dư %
Lưu ý : Phép chia (/) 2 số nguyên sẽ
“chặt” bỏ phần dư
05/09/14
Các phép toán cơ bản
Ví dụ
int a = 17 , b= 3;
int c = a / b ; // c = 5
int d = a % b ; // d = 2
float e = (float)a / b ; // e = 5.6667
float f = a /(float)b ; // f = 5.6667
Ép kiểu (Type Casting)
float f ; int i ; ……; f=i; i= (int)f;
05/09/14
Các phép toán cơ bản
Các phép toán so sánh số học
Bằng ==
Khác nhau !=
Lớn hơn, lớn hơn hay bằng > >=
Nhỏ hơn, nhỏ hơn hay bằng < <=
Lưu ý
Thường hay quên và lầm lẫn giữa =
và ==
05/09/14
Các phép toán cơ bản
Các phép toán trên kiểu chuỗi
Ghép chuỗi +
So sánh bằng nhau ==
So sánh khác nhau !=
Lưu ý : không thể dùng các phép so
sánh >, >=, <, <= trên 2 chuỗi
05/09/14
Các phép toán cơ bản
Các phép toán logic
Và &&
Hoặc ||
Phủ định !
05/09/14
Các phép toán cơ bản
Một số phép toán khác (đặc biệt!!!)
Tự tăng ++
Tự giảm - -
Ví dụ
Thay vì ghi i = i+1; thì ghi i++;
Thay vì ghi j = j - 1; thì ghi j ;
Nếu không quen thuộc thì hạn chế sử dụng!!!
05/09/14
Các phép toán cơ bản
Lưu ý thêm
++ <biến> : Tăng thêm 1, sau đó sử
dụng giá trị
<biến> ++ : Sử dụng giá trị, sau đó
tăng thêm 1
Ví dụ
int a=0, b=5; a = b++; // a=5 và b=6
int a=0, b=5; a=++b ; // a=6 va b=6
Tương tự cho
05/09/14
Các phép toán cơ bản
Các phép toán rút gọn !!!!
Thay vì a = a + b ; thì viết a += b;
Thay vì a = a - b ; thì viết a -= b;
Thay vì a = a * b ; thì viết a *= b;
Thay vì a = a / b ; thì viết a /= b;
Thay vì a = a % b ; thì viết a %= b;
Nếu không quen thuộc thì hạn chế sử dụng!!!
05/09/14
Các phép toán cơ bản
Phép toán điều kiện: hiệu quả, tiện
lợi, tương tự hàm IF(Excel), IIF(Fox)
<điều kiện>?<kết quả Đ>:<kết quả SAI>;
Ví dụ
a = b<=5&&c>=10? b + 1 : c-2 ;
String s1= s=="abc"?"zyz":"123";
Console.WriteLine(“Kq={0}”,a>b?a:b);
z=a>b?(a>c?a:c):(b>c?b:c);
Nên sử dụng tối đa !!!!
05/09/14
Một số phương thức thường dùng
Trong thời gian đầu, luôn khai báo
using System;
ở dòng đầu tiên của chương trình
Các phương thức thường dùng và
cần sử dụng thành thạo :
05/09/14
Một số phương thức thường dùng
In dữ liệu ra màn hình : dùng
Console.Write và Console.WriteLine
Có khoảng 18 cách sử dụng khác nhau!!
Console.Write( chuỗi );
Console.Write(chuỗi định dạng , dstham số);
Ví dụ
int i=5; String s=“abcd”;
Console.WriteLine(i);
Console.Write( s + s + i );
Console.Write( “{0} {1} {2}”,s,s,i);
05/09/14
Một số phương thức thường dùng
Nhập dữ liệu từ bàn phím: dùng
Console.ReadLine()
Lưu ý là kết quả nhận được là 1 chuỗi,
do vậy cần phải chuyển đổi nếu cần
thiết
Ví dụ
String hoten=“”; wnamsinh=“”;
hoten = Console.ReadLine();
wnamsinh=Console.ReadLine();
//sau đó chuyển sang số nguyên !!!