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 đủ
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:
bai_giang_lap_trinh_dotnet_chuong_1_co_ban_ve_ngon_ngu_lap_t.pdf

