Bài giảng Lập trình DOTNET - Chương 1: Cơ bản về ngôn ngữ lập trình C# - Huỳnh Lê Uyên Minh

CHƯƠNG 1: CƠ BẢN VỀ NGÔN  
NGỮ LẬP TRÌNH C#  
Môn học: Lập trình DOTNET  
Giảng viên: Huỳnh Lê Uyên Minh  
Khoa: Sư phạm Toán – Tin, ĐH Đồng Tháp  
1
NỘI DUNG  
1. Giới thiệu ngôn ngữ C#  
2. Kiểu dữ liệu, các phương thức chuyển kiểu  
3. Khai báo biến, hằng, phép toán  
4. Các cấu trúc lệnh  
5. Hàm, tham số và cách truyền tham số  
6. Các lớp cơ sở: chuỗi, mảng, tập hợp  
7. Những ứng dꢀng Console  
1. Ngôn ngữ lập trình C#  
• Ngôn ngữ lập trình được xây dựng dựa trên nền tảng những ngôn ngữ  
tương tự C (C, C++, Java).  
• Hướng đối tượng  
• Hỗ trợ kiểm soát và xử lý ngoại lệ (exception) tốt.  
• Các loại ứng dꢀng: Console, Windows Forms, Web Forms, Windows  
Services, Web Services  
CLR trên  
Linux  
Hello.exe  
hoặc  
Hello.dll  
CLR trên  
Windows  
Hello.cs  
C# Compiler  
MSIL  
CLR trên  
MacOS  
3
Giới thiệu .Net Framework  
• Framework là một tập hợp các thư viện để hỗ trợ cho người lập trình.  
• Mỗi Framework được tạo ra có một kiến trúc khác nhau LTV phải tuân  
theo kiến trúc đó  
• .NET Framework là thư viện tài nguyên của Microsoft, hỗ trợ cho các lập  
trình viên trong nhiều yêu cầu khác nhau  
4
Giới thiệu .Net Framework  
• Tất cả các chương trình phát triển trên .NET sẽ được chuyển về mã trung  
gian - Microsoft Intermediate Language (MSIL)  
– Bước 1: Dịch mã nguồn MSIL  
– Bước 2: MSIL mã CLR thực thi  
• CLR: Common Language Runtime/ Bộ thực thi ngôn ngữ dùng chung  
• FCL: Framework Class Library  
5
Tạo ứng dụng Console  
6
Cấu trúc chương trình C#  
• Phần chú thích (option)  
// Chương trình C# đầu tiên  
• Phần khai báo dùng namespace (option)  
using System;  
using System.Collections.Generic;  
using System.Text;  
• Phần định nghĩa namespace, lớp và các phương thức  
namespace HelloWorld {  
class Program {  
static void Main(string[] args){  
{
Console.Write("Hello World!");  
Console.ReadLine();  
}
}
}
7
Vùng tên - Namespaces  
• Namespace là một khái niệm được sử dꢀng để phân nhóm các lớp đối tượng  
trong .Net Framework, tránh việc trùng tên giữa các lớp đối tượng  
Ví dꢀ 1: using System;  
using System.Data;  
using System.Windows.Forms;  
Ví dꢀ 2:  
System.Drawing2D.Pen  
và System.Drawing3D.Pen  
đều đề cập đến một lớp đối tượng Pen nhưng thuộc hai namespace  
khác nhau, do đó chúng là hai lớp đối tượng khác nhau.  
• Namespace System chứa nhiều lớp giao tiếp với hệ thống  
• Từ khóa using dùng để khai báo namespace  
VD: using System.Data.OleDb;  
8
Câu lệnh  
• Các câu lệnh được viết trong thân của phương thức (ở đây là phương  
thức Main)  
• Thực hiện một công việc nào đó  
• Kết thúc bởi dấu chấm phẩy (;)  
• Khối lệnh gồm nhiều lệnh và được đặt trong cặp dấu ngoặc nhọn { }  
namespace HelloWorld  
{
class Program  
{
Phương thức Main  
static void Main(string[] args)  
{
Console.Write("Hello World!");  
Console.ReadLine();  
Các câu lệnh  
}
}
}
9
Chú thích  
• Chú thích (comment) được dùng để giải thích về chương trình và các câu  
lệnh  
• Giúp cho chương trình dễ hiểu hơn  
• Được bỏ qua khi biên dịch  
• Không ảnh hưởng tới kết quả thực thi của chương trình  
• Gõ phần chú thích sau cặp ký tự //  
• Gõ phần chú thích giữa cặp ký tự /*và */  
/* Chương trình C# đầu tiên  
In ra câu chào "Hello World" */  
using System;  
namespace HelloWorld  
{
class Program  
{
static void Main(string[] args)  
{
Console.Write("Hello World!"); // Xuất ra câu chào  
Console.ReadLine(); // Chờ nhấn Enter  
}
}
}
10  
2. Kiểu dữ liệu  
• KDL là các loại dữ liệu và phạm vi giá trị của chúng trong  
bộ nhớ mà người lập trình sử dꢀng để lưu trữ.  
• Có 2 loại : KDL dựng sẵn & KDL tự định nghĩa.  
• C# cũng chia tập dữ liệu thành hai kiểu: giá trị và tham  
chiếu. Biến kiểu giá trị được lưu trong vùng nhớ stack, còn  
biến kiểu tham chiếu được lưu trong vùng nhớ heap.  
11  
Kiểu dữ liệu số nguyên  
Common Type  
System  
System.SByte  
Name  
sbyte  
short  
Description  
Range (min:max)  
**  
8-bit signed integer -128:127 (-27:27-1)  
-32,768:32,767 (-  
Số nguyên có dấu  
Số nguyên có dấu  
System.Int16 16-bit signed integer  
215:215-1)  
-
Số nguyên có dấu  
Số nguyên có dấu  
int  
System.Int32 32-bit signed integer 2,147,483,648:2,147,  
483,647 (-231:231-1)  
-
9,223,372,036,854,7  
long  
byte  
System.Int64 64-bit signed integer  
75,808:  
9,223,372,036,854,7  
75,807 (-263:263-1)  
8-bit signed integer  
0:255 (0:28-1)  
Số nguyên dương không dấu  
Số nguyên dương không dấu  
System.Byte  
ushort System.UInt16 16-bit signed integer 0:65,535 (0:216-1)  
0:4,294,967,295  
Số nguyên dương không dấu  
Số nguyên dương không dấu  
uint  
System.UInt32 32-bit signed integer  
System.UInt64 64-bit signed integer  
(0:232-1)  
0:18,446,744,073,70  
ulong  
9,551,615(0:264-1)  
12  
Kiểu dữ liệu số thập phân  
Common Type Descriptio  
Name  
Range (approximate)  
**  
System  
n
32-bit ±1.5 × 10-45 to ±3.4 × 1038  
Kiểu dấu chấm động, với 7 chữ số có nghĩa  
float  
System.Single  
±5.0 × 10-324 to ±1.7 ×  
Kiểu dấu chấm động có độ chính xác gấp  
đôi, với 15 chữ số có nghĩa  
double System.Double  
64-bit  
10308  
Có độ chính xác đến 28 con số, phải có hậu  
tố “m” hoặc “M” theo sau giá trị  
decimal System.Decimal 128-bit ±1.0 × 10-28 to ±7.9 × 1028  
Kiểu Boolean  
Giá trị logic  
bool System.Boolean  
true or false  
Kiểu Ký tự, Chuỗi  
Ký tự Unicode  
char  
System.Char  
System.String  
16-bit  
(Unicode) character  
string  
Unicode character string  
Kiểu đối tượng  
The root type, from which  
all other types in the CTS  
derive  
object System.Object  
13  
Kiểu chuỗi (string)  
• Kiểu string có thể chứa nội dung không giới hạn, vì đây là  
kiểu dữ liệu đối tượng được chứa ở bộ nhớ heap.  
• Khai báo:  
string s = “Nguyen Van A”;  
14  
Kiểu mảng  
• Mảng là một tập hợp các phần tử cùng một kiểu dữ liệu  
liên tiếp nhau và được truy xuất thông qua chỉ số.  
• Chỉ số bắt đầu từ 0.  
• Có 2 loại: mảng một chiều và mảng 2 chiều  
15  
Kiểu mảng  
• Mảng một chiều  
<KDL> []<Tên mảng>=new <KDL>[Số phần tử];  
VD: Khai báo mảng số nguyên arr gồm 5 phần tử  
int [] arr = new int [5];  
• Mảng hai chiều  
<KDL> [,]<Tên mảng>=new <KDL>[Số dòng, số cột];  
VD: Khai báo ma trận số nguyên mt gồm 5 dòng và 3 cột  
long [ ,] mt = new long [5, 3];  
16  
Enum – Kiểu liệt kê  
• Enum là một cách thức để đặt tên cho các trị nguyên (các trị  
kiểu số nguyên, theo nghĩa nào đó tương tự như tập các hằng),  
làm cho chương trình rõ ràng, dễ hiểu hơn  
• VD1:  
enum Ngay {Hai, Ba, Tu, Nam, Sau, Bay, ChuNhat};  
Hai = 0; Ba = 1; … ; ChuNhat = 6  
• VD2:  
enum Ngay {Hai = 1, Ba, Tu, Nam, Sau, Bay, ChuNhat};  
Hai = 1; Ba = 2; … ; ChuNhat = 7  
• VD3:  
enum Ngay {Hai = 1, Ba, Tu, Nam, Sau=10, Bay, ChuNhat};  
Hai = 1; Ba = 2; … ; Sau=10; Bay=11;ChuNhat = 12  
17  
Các ký tự lệnh – Escape Sequence  
Escape Sequence  
Character  
\'  
Single quote  
Double quote  
Backslash  
Null  
\"  
\\  
\0  
\a  
\b  
\f  
Alert  
Backspace  
Form feed  
Newline  
\n  
\r  
\t  
Carriage return  
Tab character  
Vertical tab  
\v  
18  
Chuyển đổi kiểu dữ liệu  
• Số thành chuỗi  
int so = 10;  
string chuoi = so.ToString();  
• Chuỗi thành số  
string chuoi = “12345”;  
double n = double.Parse(chuoi);  
double n = Convert.ToDouble(chuoi);  
int n = double.ToInt32(chuoi);  
• Kiểm tra dữ liệu có phải kiểu số không?  
19  
3. Khai báo biến, hằng, phép toán  
Identifier (định danh)  
• Định danh là việc xác định tên: biến, hàm, hằng, …  
• Phân biệt chữ hoa thường  
Quy ước đặt tên:  
• Sử dꢀng 26 chữ cái (thường/ hoa), 10 chữ số  
• Dấu nối ( _ )  
• Không dùng chữ số ở đầu  
• Không trùng với từ khoá  
20  
Tải về để xem bản đầy đủ
pdf 74 trang yennguyen 16880 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình DOTNET - Chương 1: Cơ bản về ngôn ngữ lập trình C# - Huỳnh Lê Uyên Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_dotnet_chuong_1_co_ban_ve_ngon_ngu_lap_t.pdf