Tải bản đầy đủ (.pdf) (34 trang)

Chương 2 . Giới thiệu về ngôn ngữ lập trình C# pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.19 MB, 34 trang )

2.1 Giới thiệu một số ngôn ngữ lập trình
2.1.1. Ngôn ngữ máy,ngôn ngữ Assembly và các ngôn ngữ bậc cao
2.1.2. C, C++, Visual Basic .NET và Java
2.1.3. Ngôn ngữ lập trình C#
2.1.4. Các ngôn ngữ bậc cao khác
2.2. Các kiểu ứng dụng
2.2.1. Console application
2.2.2. Windows application
2.3. Một số khái niệm cơ bản trong C#
2.3.1. Chú thích trong C#
2.3.2. Namespaces
2.3.3. Kí tự cách trắng (White Space)
2.3.4. Từ khoá (Keywords)
2.3.5. Lớp (Classes)
2.3.6. Phương thức (Method)
2.3.7. Câu lệnh trong C# (Statement)
2.3.8. Bộ nhớ
2.3.9. Toán tử
2.4 Ví dụ minh hoạ
2.4.1. Chương trình đưa ra màn hình một dòng thông báo
2.4.2. Chương trình tính tổng các số nguyên
Chương 2 . Giới thiệu về ngôn ngữ lập trình C#
Outline
2.1.1. Ngôn ngữ máy, ngôn ngữ Assembly và
các ngôn ngữ bậc cao
 Ngôn ngữ lập trình
● Hiện nay tồn tại hàng trăm loại khác nhau
● Thuộc một trong ba nhóm :
▪ Ngôn ngữ máy
▪ Ngôn ngữ Assembly
▪ Các ngôn ngữ bậc cao


2.1.1. Ngôn ngữ máy, ngôn ngữ Assembly và
các ngôn ngữ bậc cao (II)
 Ngôn ngữ máy
 Được máy tính hiểu trực tiếp
 Định nghĩa bởi thiết kế phần cứng máy tính
 Là ngôn ngữ phụ thuộc máy (machine-dependent).
 Mỗi loại máy tính đều có ngôn ngữ máy riêng của mình.
 Khó hiểu đối với con người
 Bao gồm các dãy số
 Cơ bản nhất là 1 và 0.
 Mã nhị phân
 Chỉ dẫn phần lớn những hoạt động căn bản của máy tính
 Chậm, dài dòng và dễ lỗi
 Dẫn tới ngôn ngữ Assembly
2.1.1. Ngôn ngữ máy, ngôn ngữ Assembly và
các ngôn ngữ bậc cao (III)
 Ngôn ngữ Assembly
 Những chữ viết tắt giống tiếng Anh
 Tượng trưng cho các hoạt động cơ bản của máy tính
 Được dịch ra ngôn ngữ máy
 Chương trình dịch hợp ngữ (Assemblers) chuyển sang ngôn
ngữ máy
 Chuyển đổi tốc độ cao
 Dễ đọc hơn đối với con người
 Vẫn khó sử dụng
 Nhiều câu lệnh cho một nhiệm vụ đơn giản
 Dẫn tới các ngôn ngữ bậc cao
2.1.1. Ngôn ngữ máy, ngôn ngữ Assembly và
các ngôn ngữ bậc cao (IV)
 Các ngôn ngữ bậc cao

 Những câu lệnh đơn để thực hiện các nhiệm vụ lớn
 Được dịch ra ngôn ngữ máy
 Trình biên dịch (Compilers) chuyển đổi sang ngôn ngữ máy
 Thời gian chuyển đổi đáng kể
 Trình thông dịch (Interpreters) chạy chương trình mà
không biên dịch
 Dùng trong môi trường phát triển
 Các chỉ dẫn con người có thể hiểu được
 Trông gần giống tiếng Anh hàng ngày
 Chứa các ký hiệu toán học chung.
2.1.2. C, C++, Visual Basic .NET và Java
 C
 Phát triển bởi Dennis Ritchie
 Bắt nguồn từ ngôn ngữ B của phòng thí nghiệm Bell
 Có bổ sung thêm các tính năng về kiểu dữ liệu
 Được thừa nhận là ngôn ngữ của UNIX
 Hiện nay được sử dụng rộng rãi
 Có sẵn trong hầu hết các máy tính
 Ngôn ngữ của các hệ điều hành lớn
 Dẫn đến sự phát triển của C++
2.1.2. C, C++, Visual Basic .NET và Java (II)
 C++
 Bjarne Stroustrup phát triển tại phòng thí nghiệm Bell (những năm
1980)
 Mở rộng của C
 Dùng các phần tử trong Simula 67
 Ngôn ngữ lập trình mô phỏng
 Cung cấp những tính năng để “trau chuốt " C
 Kỹ thuật lập trình hướng đối tượng
 Ngôn ngữ lai

 Có thể lập trình theo kiểu cấu trúc Possible to program
structurally
 Có thể lập trình với kỹ thuật lập trình hướng đối tượng
 Có thể dùng cả hai
2.1.2. C, C++, Visual Basic .NET và Java (III)
 Lập trình hướng đối tượng (Object-Oriented Programming)
 Sử dụng các đối tượng (objects)
 Tái sử dụng các thành phần cấu tạo nên phần mềm
 Mô phỏng theo các mục của thế giới thực
 Tạo ra nhiều sản phẩm hơn lập trình cấu trúc
 Hiểu chương trình ,sửa chữa và thay đổi dễ dàng hơn
2.1.2. C, C++, Visual Basic .NET và Java (IV)
 Visual Basic . NET
 Dựa trên nền BASIC (giữa những năm 60)
 Beginners All-Purpose Symbolic Instruction Code
 Bill Gates bổ sung tại Microsoft
 Rút ra từ Visual Basic
 Là kết quả của Windows GUI (cuối 1980 đầu 1990)
 Graphical User Interface (Giao diện đồ hoạ)
 Có nhiều khả năng như lập trình hướng đối tượng,kiểm soát
lỗi và tạo giao diện đồ hoạ GUI
 Dẫn tới .NET
 Cho phép truy cập vào các thư viện .NET
 Phát triển lập trình hướng đối tượng
2.1.2. C, C++, Visual Basic .NET và Java (V)
 Java
 Dự án nghiên cứu của tập đoàn Sun Microsystems (1991)
 Tên mã hoá là Green
 Dựa trên nền tảng C và C++
 Dành cho các thiết bị tiêu dùng điện thông minh

 Sự thiếu phổ biến gây ra nguy cơ bị huỷ bỏ
 Đột nhiên sự thông dụng của WWW tạo ra tiềm năng mới
 Khả năng dùng Java thiết kế các nội dung động của trang Web
 Hoạt ảnh và các nội dung tương tác
 Thu hút được sự chú ý của giới kinh doanh
 Hiện nay được sử dụng rất rộng rãi
 Tăng cường các tính năng của WWW servers
 Cung cấp ứng dụng cho các thiết bị tiêu thụ
2.1.3. Ngôn ngữ lập trình C#
 C#
 Phát triển tại Microsoft, đội nghiên cứu do Anders Hejlsberg và Scott
Wiltamuth lãnh đạo
 Điều khiển sự kiện, hướng đối tượng, ngôn ngữ lập trình trực quan
 Dựa trên nền tảng C, C++ và Java
 Hợp nhất trong nền .NET platform
 Có thể phân phối các ứng dụng Web
 Các thiết bị và máy tính để bàn
 Các chương trình cho phép mọi người truy cập qua bất cứ thiết bị nào
 Cho phép giao tiếp với các ngôn ngữ máy khác.
 Integrated Design Environment (IDE)-Môi trường tích hợp phát triển phần
mềm
 Dễ dàng hoá việc lập trình và gỡ lỗi.
 Phát triển ứng dụng nhanh- Rapid Application Development (RAD)
2.1.3. Ngôn ngữ lập trình C# (II)
 SOAP
 Simple Object Access Protocol
(giao thức truy xuất đối tượng đơn giản)
 Cho phép giao tiếp giữa các ngôn ngữ lập trình khác nhau
 Bất kỳ ngôn ngữ .NET nào
 Chia sẻ các chương trình khó khăn ( “ chunks”) trên internet

2.1.4. Các ngôn ngữ bậc cao khác
 Fortran (Formula Translator)
 IBM phát triển (1950)
 Các ứng dụng khoa học và kỹ thuật
 Tạo các ứng dụng khoa học và kỹ thuật
 Vẫn được sử dụng rộng rãi
 COBOL (Common Business Oriented Language)
 Phát triển bởi những người dùng máy tính,các nhà máy và chính
phủ (1959)
 Thao tác hiệu quả với lượng dữ liệu lớn
 Thường kết hợp với các phần mềm thương mại
 Pascal
 Phát triển bởi Professor Nicklaus Wirth (cuối 1960)
 Dùng trong giảng dạy.
2.2. Các kiểu ứng dụng
 2.2.1 Ứng dụng Console “ConsoleApplication”
 Không có các thành phần trực quan
 Chỉ có đầu ra văn bản
 Hai loại
 Dấu nhắc MS-DOS
 Dùng trong Windows 95/98/ME
 Dấu nhắc lệnh
 Dùng trong windows 2000/NT/XP
 2.2.2 Ứng dụng Windows : “WindowsApplication”
 Có vài dạng đầu ra
 Chứa giao diện đồ hoạ (GUIs)
2.3.Một số khái niệm cơ bản trong C#
 2.3.1. Chú thích
 Chú thích trên một dòng dùng //…
 Chú thích trên nhiều dòng dùng /* … */

 Trình biên dịch bỏ qua chú thích
 Chỉ dùng cho người đọc
 2.3.2 .Namespaces (Không gian tên)
 Nhóm các tính năng có liên quan của C# vào một loại
 Cho phép dễ dàng tái sử dụng mã
 Trong thư viện .NET framework có nhiều không gian tên
 Phải tham chiếu tới để sử dụng
2.3.Một số khái niệm cơ bản trong C#
 2.3.3.Kí tự cách trắng (White Space)
 Chứa các khoảng trống, ký tự xuống dòng và tabs
 2.3.4.Từ khoá (Keywords)
 Các từ không được dùng làm tên biến,tên lớp hay bất kỳ thứ gì
khác
 Có các chức năng đặc biệt không thể thay đổi trong ngôn ngữ
 Ví dụ : class
 Tất cả các từ khoá đều được viết thường
2.3.Một số khái niệm cơ bản trong C#
 2.3.5.Lớp (Classes)
 Tên lớp chỉ có thể là một từ dài (tức là không có dấu cách trong
tên lớp)
 Tên lớp được viết hoa với mỗi chữ cái đầu của từ tiếng anh được
thêm vào (ví dụ như MyFirstProgram )
 Mỗi tên lớp là một từ định danh
 Có thể chứa các chữ cái,chữ số và dấu gạch dưới (_)
 Không được bắt đầu bằng chữ số
 Có thể bắt đầu bằng biểu tượng @
 Thân lớp bắt đầu với dấu mở ngoặc nhọn ({)
 Thân lớp kết thúc với dấu đóng ngoặc nhọn (})
2.3.Một số khái niệm cơ bản trong C#
 2.3.6.Phương thức (Method)

 Tạo các khối chương trình
 Phương thức Main
 Mỗi ứng dụng console hay windows phải có duy nhất một
phương thức này
 Tất cả các chương trình đều bắt đầu bằng cách chạy phương
thức Main
 Các dấu ngoặc nhọn được dùng để bắt đầu ({) và kết thúc (}) một
phương thức
 2.3.7.Câu lệnh (statements)
 Tất cả những gì có trong cặp ngoặc kép(“) được coi là một xâu
 Mỗi câu lệnh đều phải kết thúc bằng dấu chấm phảy (;)
2.3.Một số khái niệm cơ bản trong C#
 2.3.8. Bộ nhớ
 Mỗi biến chiếm một vị trí trong bộ nhớ
 Bao gồm tên,loại,kích thước và giá trị
 Khi một giá trị mới được nhập vào thì giá trị cũ sẽ bị mất.
 Các biến đã sử dụng vẫn giữ nguyên giá trị của chúng sau khi
dùng
number1 45
Vị trí nhớ chỉ ra tên và giá trị của biến number1.
2.3.Một số khái niệm cơ bản trong C#
2.3.9. Toán tử
 Toán tử số học
 Không phải tất cả các toán tử đều dùng cùng một biểu tượng
 Dấu (*) là nhân
 Gạch chéo (/) là chia
 Dấu phần trăm (%) là toán tử lấy modul
 Cộng (+) và trừ (-) giữ nguyên ý nghĩa
 Phải viết trên đường thẳng
 Không có toán tử mũ

2.3.Một số khái niệm cơ bản trong C#
 Phép chia
 Phép chia biến đổi phụ thuộc vào biến sử dụng
 Khi chia hai số nguyên,kết quả luôn được làm tròn thành số
nguyên.
 Để có kết quả chính xác hơn dùng các loại biến có hỗ trợ thập
phân.
 Trật tự
 Dấu ngoặc được thực hiện trước
 Chia,nhân và modul được thực hiện tiếp theo
 Trái sang phải
 Cộng và trừ được thực hiện cuối cùng
 Trái sang phải
Toán tử C# Toán tử số học

Biểu thức đại số

Biểu thức C#
Cộng
+
f + 7
f + 7
Trừ

p – c
p - c
Nhân
*
bm
b * m

Chia
/
x / y or
x / y
Modul
%
r mod s
r % s
Bảng toán tử số học.

Toán tử Toán tử Order of evaluation (prec edenc e)
( )
Ngoặc
Thực hiện đầu tiên.Nếu các cặp ngoặc lồng

vào nhau,thứ tự tính từ trong ra ngoài,còn nếu

có vài cặp ngoặc ngang nhau(nghĩa là khô
ng
lồng nhau),chúng được tính từ trái sang phải

*, / or %
Nhân
Chia
Modul
Thực hiện thứ hai.Nếu có nhiều toán tử kiểu

này thì chúng được thực hiện từ trái qua phải
+ or -
Cộng

Trừ
Thực hiện cuối cùng.Nếu có nhiều toán tử

loại này thì thực hiện theo thứ tự từ trái
sang
phải
Bảng thứ tự thực hiện các toán tử số học

2.4 Ví dụ minh hoạ
 2.4.1. Chương trình đưa ra màn hình một dòng thông báo
Ta lần lượt xét 4 ví dụ :
• Welcome1.cs In một dòng thông báo
• Welcome2.cs In một dòng thông báo bằng nhiều câu lệnh
• Welcome3.cs In nhiều dòng thông báo bằng một câu lệnh
• Welcome4.cs In một dòng thông báo trong hộp thông báo
1 // Welcome1.cs
2 // A first program in C#.
3
4 using System;
5
6 class Welcome1
7 {
8 static void Main( string[] args )
9 {
10 Console.WriteLine( "Welcome to C# Programming!" );
11 }
12 }
Welcome to C# Programming!
Có hai dòng chú thích
đơn.Chúng bị trình biên dịch bỏ

qua và chỉ dùng để giúp người
lập trình khác.Dùng ký hiệu (//)
Đây là cách dùng trực tiếp cho
compiler biết nó nên chứa
không gian tên System .
Dòng trống không có ý nghĩa gì
với compiler và chỉ dùng để tăng
tính rõ ràng cho chương trình
Bắt đầu định nghĩa lớp Welcome1 với
từ khoá class theo sau là tên lớp
Đây là cách bắt đầu phương
thức Main.Trong trường hợp
này nó chỉ thị cho chương trình
làm mọi thứ
Đây là chuỗi ký tự mà
Console.WriteLine chỉ thị cho
compiler đưa ra
Welcome1.cs
Đầu ra

×