©# không chỉ là một công cụ lập trình, mà còn là một cộng đồng và một hệ sinh thái phần mèm toàn diện, điều này làm cho nó trở thành một trong những ngôn ngữ nôi bật nhát trong cộng đồn
Trang 1TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP.HCM KHOA HỆ THÓNG THÔNG TIN QUÁN LÝ
TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO MÔN HỌC: CƠ SỞ LẬP TRÌNH
DE TAI: TIM HIEU VE NGON NGU C#
Giảng viên hướng dẫn : Th§ Lê Quang Thiện
Sinh viên thực hiện : Bùi Thị Diễm My
Võ Thị Mai Trinh Lớp : DOG
Khóa : K88
Tp.Hà Chi Minh, thang 01 nam 2024
Trang 2
BAO CAO KÉT QUÁ LÀM VIỆC NHÓM 20
STT Ho va Tén Mã số sinh viên Nhiệm vụ Mức độ
hoàn thành
1 Bùi Thị Diễm My | 030238220129 | Câu 2; 4; 5 100%
2 Võ Thị Mai Trinh | 030238220285 | Câu 1;3; 5 100%
Nhận xét của giảng viên
TP.Hồ Chí Minh, ngày 16 tháng 01 năm 2024
Giảng viên
ThS Lê Quang Thiện
Trang 3LOI CAM ON
Nhóm em xin gửi lời cảm ơn chân thành đến thầy với tâm huyết và sự nhiệt huyết
mà thây đã dành cho chúng em trong suốt khoảng thời gian học tập vừa qua Những bài giảng, sự hướng dan tan tam va long tan tinh cua thay khong chỉ giúp chúng em
nam bat kiến thức một cách sâu sắc mà còn tạo điều kiện thuận lợi để chúng em phát triển toàn diện về mặt kiến thức và kỹ năng Sự chia sẻ kinh nghiệm, tận tâm giảng
dạy, và sự sáng tạo trong việc truyền đạt thông tin đã tạo nên môi trường học tập tích cực và đầy ý nghĩa Mong rằng những điều tốt đẹp nhát sẽ đến với thày trong công
việc giảng dạy và cuộc sống
Trang 42 Mục tiêu của việc phái triển C#: ccc 2ctt cọ ng c1 re 7
3 Các đặc trưng của ngôn ngữ C#: - - Là 2H HH HH1 kkreg 8
4 Ưu điểm và nhược điểm:
5, So sánh C# và /JVA: HH HH HH HH HH TH HH HH Hy 10
II NÊN TẢNG NGÔN NGỮ C# 0 neo 11 l1 sẽ 6 .(“GAá , HẤĂ 11
2 Biến và hằng: -.-:-22:+2 22v 22 221111221122 1 1.1111 12 bmMMm 12 2.3 Hằng: ung ererrie 13 2.4 — Biểu thứcC: nhe 13
II CHƯƠNG TRÌNH CON .- cnt thrHrHrrrrrrrrrriirriirrrie 14
EU t1 .4 H)H)HẬ)})Hà), 16 5.1 Hàm không có tham số và không có kiểu trả Về: - -2: 22552252 16 5.2 Hàm có tham số nhưng không có kiểu lrä Vễ: :-55ccScccccrxrerreerree 16 5.3 Hàm có tham số và có kiểu trả VỀ .¿: 22222222 222 tEEEEtrtrtrrsrrrtrerrrrrrrrii 17
IV MẢNG MOT CHIẾỂU - c5 2 22t S2 ng reo 18
4 ao nh 18
2 Đặc điểm của máảng: c2 2t 22v 22t 221 21111.111.111 18
SH 20 10 Ầ 18
4 Khai bao va Kh@i 0o i2 na 18
5 Một số thuộc tính và phương thức đặc trưng của mảng một chiều: 19
6 Cách duyệt máng một chiều: 55c 2 22 x22 2xx crrrrrrrrrrrree 19
Trang 5V DOAN CHUONG TRINH VE MẢNG MỘT CHIÊU cà cccccteerreree 20 KẾT LUẬN
TÀI LIỆU THAM KHẢO
DANH MỤC BẢNG
Bang 1 Ưu điểm và nhược điểm của C# 7+ +c+ce se sercererrsesrsrscsee 9 Bảng 2 So sánh C# Và J8VA - HH HH HH HH kg 10
Bang 3 Các kiểu dữ liệu của C# ¿5-2522 S2+t2E£E+EEEEeEeEeEverersrsrrerree 11
Bang 4 Một số thuộc tính và phương thức đặt trưng của mảng một chiều 19
Trang 6LOI MO DAU
Ngôn ngữ lập trình C# (C Sharp) đánh dâu một bước tiến đột phá trong lĩnh vực
phat trién phan mém, là sự hòa quyện của tính đơn giản, hiệu suất cao, và tính linh
hoạt Khi chúng ta nhìn vào thé giới công nghệ ngày nay, không thẻ phủ nhận vai trò quan trọng của việc chọn lựa một ngôn ngữ phù hợp đề thực hiện dự án phản mèm
một cách hiệu quả ©# không chỉ là một công cụ lập trình, mà còn là một cộng đồng
và một hệ sinh thái phần mèm toàn diện, điều này làm cho nó trở thành một trong
những ngôn ngữ nôi bật nhát trong cộng đồng phát triển phan mềm
C# không chỉ giới hạn ở việc làm cho code dễ đọc, nó còn mở ra một thé giới của các tính năng nâng cao như thuật ngữ LINQ, mô hình lập trình hàm (functional
programming), va kha nang đồng bộ thông tin qua async/await Mỗi tính năng đều
đóng góp vào sự phong phú và sức mạnh của ngôn ngữ này Sự kết hợp mạnh mẽ giữa C# và NET framework tao nên một môi trường lý tưởng cho phát triển ứng dụng đa nền tảng và hiện đại
Trong bài báo cáo này, chúng ta sẽ tìm hiệu vẻ tông quan của ngôn ngữ C# như là
các đặc trưng, ưu nhược điểm, cũng như một số cú pháp, tính năng cơ bản của nó
Trang 7| TONG QUAN VE NGON NGU C#
C# được thiết kế cho Common Language Infrastructure (CLI), ma gém
Executable Code va Runtime Environment, cho phép chung ta st dung cac ng6n ngit
high-level da dạng trên các nèn táng và cáu trúc máy tính khác nhau
C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), tr ở nên rat dé dang
2 Muc tiéu cua viéc phat trién C#:
Tiêu chuân EOMA liệt kê các mục tiêu của việc thiết kế ngôn ngữ C#:
- Ngôn ngữ được dự định là một ngôn ngữ lập trình đơn giản, hiện đại, hướng
đến nhiều mục đích sử dụng, và là một ngôn ngữ lập trình hướng đối tượng
- Ngôn ngữ và việc triển khai đáp ứng các nguyên tắc của ngành kỹ thuật phân mềm như kiêm tra chặt chẽ kiêu dữ liệu, kiếm tra giới hạn mảng, phát hiện các trường hợp sử dụng các biến chưa có dữ liệu, và tự động thu gom rác Tính mạnh mẽ, sự bên
bỉ, và năng suất của việc lập trình là rất quan trọng đối với ngôn ngữ này
- Ngôn ngữ sẽ được sử dụng đề phát triển các thành phan cua phan mém theo
hướng thích hợp cho việc triên khai trong các môi trường phân tán
- Khả năng di chuyên (portability) là rất quan trọng, đặc biệt là đối với những lập trình viên d& quen voi C va C++
- Hỗ tro quéc té hoa (i18n)
- Ngôn ngữ sẽ được thiết kế đề phù hợp với việc viết các ứng dụng cho cả hai
hệ thống: hosted và nhúng, từ các phan mèm quy mô lớn, đến các phan mém chi có
các chức năng đơn giản
- Mặc dù các ứng dụng ©# có tính kinh tế đối với các yêu câu về bộ nhớ và ché
độ xử lý, ngôn ngữ này không cạnh tranh trực tiếp về hiệu năng và kích thước đổi với
ngôn ngữ C hoặc assembly
Trang 83 Câc đặc trưng của ngôn ngữ C#:
©# lă ngôn ngữ đơn giản: Như ta đê biết thì ngôn ngữ C# dung trĩn nĩn tang
C++ va Java nín ngôn ngữ C# khâ đơn giản Nếu chúng ta thđn thiện với © vă C++
hoac tham chi la Java, chung ta sĩ thay ©# khâ gióng vẻ diện mạo, cú phâp, biíu thức,
toân tử vă những chức năng khâc được lđy trực tiếp từ ngôn ngữ C vă C+>, nhưng nó
đê được cải tiến đề lăm cho ngôn ngữ đơn giản hơn Một văi trong câc sự cải tiền lă
loại bỏ câc dư thừa, hay lă thím văo những cú phâp thay đồi
©# lă ngôn ngữ hiện đại: Một văi khâi niệm khâ mới mẻ khâ mơ hồ với câc bạn vừa mới học lập trình, như xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật
mê nguằăn v v Đđy lă những đặc tính được cho lă của một ngôn ngữ hiện đại cần
có Vă ©# chứa tất cả câc đặt tính ta vừa níu trín Câc ban sĩ dan tim hiĩu duoc câc
đặt tính trín qua câc băi học trong series n ăy
C# lă một ngôn ngữ lập trình thuần hướng đối tượng: Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) lă một phương phâp
lập trình có 4 tính chất Đó lă tính trừu tượng (abstraction), tinh dong gói (encapsulation), tinh da hinh (polymorphism) va tinh kĩ thira (inheritance) C# hĩ tro cho chúng ta tất cả những đặc tính trín Vă đề hiểu rõ hơn thì chúng ta sẽ có một chương trình băy về phần năy
C©Z# lă một ngôn ngữ ít từ khóa: C# được mô tả lă ngôn ngữ sử dụng giới hạn
những từ khóa (gồm khoảng 80 từ khóa vă mười mây kiểu dữ liệu xđy dựng san) Nếu bạn nghĩ rằng ngôn ngữ có căng nhiều từ khóa thì sẽ căng mạnh mẽ hơn Điều năy không phải sự thật, lấy ví dụ ngôn ngữ C# lăm điín hình nhĩ Nếu bạn học sđu
về C# ban sĩ thay rang ng6n ngữ năy có thẻ được sử dụng đề lăm bât cứ nhiệm vụ năo
Trang 94 Ưu điểm và nhược điểm:
đặc biệt là cho những người đã có kinh
nghiệm với ngôn ngữ lập trình C++ hoa
Java
2 Hỗ trợ mạnh mẽ cho lập trình hướng
đối tượng: C# là một ngôn ngữ lập trìn
hướng đối tượng (OOP) mạnh mẽ với tín
chất kế thừa, đa hình, trừu tượng và đóng gói
3 Tích hợp tốt với nền tảng Microsoft:
C# là ngôn ngữ chính thức của nèn tả
Microsoft, nên có sự tích hợp tốt với các cô
cu va dich vu cua Microsoft, nhu NET|
Framework va Visual Studio
4 Hiéu nang tét: C# cO hiéu nang tuong đối tốt, đặc biệt là khi được biên dich than
mã máy
5 Bảo mật: C# có cơ chế bảo mật mạnh
mẽ, bao gồm quản lý bộ nhớ tự động và kiế
soát truy cập vào dữ liệu, giúp trãnh các
hồng bảo mật phỏ biến
6 Hỗ trợ đa nền tảng: Với NET Core
(nay đã trở thành NET 5 và các phiên b
sau), C# hỗ trợ việc phát triển ứng dụng ¿
nèn tảng, bao gồm Windows, macOS
Linux
1 Phụ thuậc vào môi trường Microsoft: C# thường phụ thuộc vào các công cụ và framework c Microsoft, điều này có thể giới han
tính đa nền tảng của ứng dụng né bạn muốn chạy trên các hệ thốr
không phải của Microsoft
2 Tài liệu hạn chế: So với
nguồn cân được biên dịch than
mã máy trước khi chạy, điều này
có thê làm tăng thoi gian phat trién
So Với các ngôn ngữ biên dich ti thời
4 Giới hạn cho các ứng dụng đặc biệt: C# thường được sử
dụng cho phát triển các ứng dur
Windows, trò chơi, ứng dụng di động (qua Xamarin), và các ứr dụng web ASP.NET Néu_ bar
muốn phát triên một loại ứng dụn khác, có thê có những ngôn nụ
phù hợp hơn
Bang 1 Uw diém va nhuoc diém của C#
Trang 105 So sánh C# và Java:
Tiêu chí C# Java
Nha phat trién Phát triển bởi Microsoft và
được sử dụng chủ yếu cho cá ứng dụng Windows và nài
tảng Microsoft
Phat trên boi Sun Microsystems (nay la Oracle
va là một ngôn ngữ đa nề táng, có thẻ chạy trên nhiè
hệ điều hành khác nhau Môi trường Su dung Visual Studio la IDE Có nhiêu lựa chọn IDE, tron
phát triển (Integrated Developmer dé phé bién nhat la Eclipse v
Environment) chinh thic cu IntelliJ IDEA
Microsoft
Cu phap C# có một số cú pháp đặc biệt C# và Java đều có cú phát
như sự hỗ trợ mạnh mẽ chd tương tự với các khái niệm cơ thuộc tính (properties) và s bản như lớp (class), phương
(variable)
Hướng đổi C# và Java đêu là ngôn ngữ lập trình hướng đối tượng (OOP tượng mạnh mẽ với tính chất ké thừa, đa hình, trừu tượng và đóng
gói
Hiệu năng Ca C# va Java déu có hiệu năng tốt và gần với các ngôn nụ
lập trình gần với mã máy nhu C+
Tích hợp và _| Tích hợp chặt chẽ với các côn Sử dụng rộng rãi trong phá công nghệ liên | nghệ của Microsoft như NET| triển web (Java EE), phé quan Framework, Windows Form triển ứng dụng Android (sủ
WPF va Azure dung Android Studio) va ca
ứng dụng phía máy chủ (Ja Spring)
tại từ lâu và được sử dụng rộng rãi
Đa nên tảng NET Core (hiện tại là NET š
và các phiên bản sau) cung c
hỗ trợ đa nền tảng, cho phé|
viết ứng dụng chạy trêr
Windows, macOS va Linux
Java luôn hỗ trợ đa nền tảng
Trang 11ll NEN TANG NGON NGU C#
Boolean
unsigned (8 bit) integer
char Kigu Unicode} 2 byte U +0000 tei U +ffff ‘\0’
character (16 bit) decimal Kiéu thap 16 byte | (-7.9 x 1028 téi 7.9 x 1028] 0.0M
phan (128 bit) /100 to 28 double Kieu double | 8 byte (+/-)5.0 x 10-324 téi (+/- | 0.0D
integer (64 bit) toi
ulong Kiéu 8 byte 0 toi 0
unsigned | (64bit) | 18,446,744,073,709,551,61 integer
unsigned (16 bit) integer
Bang 3 Cac kiéu dé ligu cua C#
Trang 12- Kiểu dữ liệu dùng đề xác định kích thước và loại giá trị có thê được lưu trữ
- Giá trị là dữ liệu thực tế được lưu trữ trên biến và có thẻ thay đôi được Cách khai báo biến trong ©#: có 2 cách Tuy nhiên chúng ta nên sử dụng cách 2 Cách 1: <kiêu_ dữ liệu> <tên_biến>;
+ Ký tự đầu tiên không được phép sử dụng chữ số
+ Ký tự @ chỉ được phép đứng đầu ký tự (nhưng không khuyên khích sử dụng) + Có sự phân biệt giữa ký tự hoa và ký tự thường
Trang 13Trong cách khai báo này, tên kiểu được thay bằng từ khóa var Trình biên dịch C# khi gặp dòng lệnh này sẽ tự “suy đoán” ra kiêu của biến dựa vào giá trị gán cho nó
Nghĩa là dòng lệnh trên được C# tự động hiểu thành:
float i = 1,2;
Kết quả của của hai lệnh trên là như nhau
Khi sử dụng từ khóa var phải tuân thủ quy tắc: Biến phải được khởi tạo lúc khai báo, néu không trình biên dịch sẽ không có căn cứ nào đề suy đoán cả
2.3 Hang:
Hằng là một biến lưu trữ giá trị mà biến đó không thể thay đổi giá trị thêm một lần nữa, đề lưu trữ lại các giá trị khoa học hay bát cứ giá trị nào không thẻ thay đôi
Đẻ khai báo hăng chúng ta sử dụng từ khóa “consf”, cú pháp như sau:
const <tén kiéu> <tén bién> = <gia tri>;
Vi du:
const int mxN = 15;
const double pi = 3.14;
const inta = 7,b=8, c= 10;
const string s = "Lap trinh;
Khi khai báo hằng bắt buột phải có giá trị khởi tạo
Một hằng không thẻ thay đổi giá trị nên khi chúng ta có gắng thay đổi giá tri cua
nó chương trình sẽ báo lỗi
2.4 Biểu thức:
Những câu lệnh mà thực hiện việc đánh giá một giá trị gọi là biêu thức Một phép
gán một giá trị cũng gọi là biểu thức:
var1 = 24;
Trong câu lệnh trên phép đánh giá hay định lượng chính là phép gán có giá trị 24 cho biến varl Lưu ý là toán tử gán (*=') không phải là toán tử so sánh Do vậy khi
sử dụng toán tử này thì biến bên trái sẽ nhận giá trị của phân bên phải
Do var1 = 24 là một biểu thức được định giá trị là 24 nên biểu thức này có thê
được xem nhu phan bên phải của một biêu thức gán khác:
Var2 = var1 = 24;
13