Bài giảng Cơ sở Lập trình 1 - Chương 2: Các thành phần cơ bản trong C#
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở Lập trình 1 - Chương 2: Các thành phần cơ bản trong C#", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_co_so_lap_trinh_1_chuong_2_cac_thanh_phan_co_ban_t.pptx
Nội dung text: Bài giảng Cơ sở Lập trình 1 - Chương 2: Các thành phần cơ bản trong C#
- Chương 2 CÁC THÀNH PHẦN CƠ BẢN TRONG C#
- Nội dung 1 Cấu trúc chương trình C# 2 Không gian tên 3 Kiểu dữ liệu 4 Các thành phần điều khiển 5 Mảng trong C# 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 2/47
- 1. Cấu trúc chương trình C# //Vùng bắt đầu khai báo sử dụng các không gian tên using System; using System.Collections.Generic; using System.Text; //Khai báo không gian tên của ứng dụng namespace myConsoleApplication { //Vùng bắt đầu khai báo tên các Class class Program { //Vùng khai báo các phương thức static void Main(string[] args) { //Vùng khai báo lệnh } } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 3/47
- Một số khái niệm trong C# C# là ngôn ngữ phân biệt chữ hoa/thường Chú thích ◼ Chú thích trên một dòng // ◼ Chú thích trên nhiều dòng /* */ ◼ Trình biên dịch bỏ qua chú thích Từ khoá (keyword) ◼ Có các chức năng đặc biệt không thể thay đổi trong ngôn ngữ ◼ Không được dùng làm tên biến, tên lớp hay bất kỳ thứ gì khác ◼ Tất cả các từ khoá đều được viết thường Ví dụ: class 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 4/47
- Danh sách các từ khoá trong C# abstract object byte private event this fixed uint new bool override char struct false try foreach as operator case protected explicit throw float ulong null break params checked switch finally typeof goto base out catch public extern true for unchecked 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 5/47
- Console nhập xuất Đọc ký tự văn bản từ cửa sổ console ◼ Console.Read() ◼ Console.ReadLine() Xuất chuỗi kí tự ◼ Console.Write() ◼ Console.WriteLine() Ví dụ: Console.WriteLine("Bill total:\t{0,8:c}", billTotal); Console.WriteLine("Tip total/rate:\t{0,8:c} ({1:p1})", tip, tipRate); Kết quả in ra màn hình Bill total: $52.23 Tip total/rate: $9.40 (18.0 %) 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 6/47
- Console nhập xuất Xuất chuỗi kí tự ◼ Định dạng số: Console.WriteLine(“chuỗi định dạng”, số) ◼ Trong đó: Chuỗi định dạng: {số thứ tự, số lượng khoảng trống: kí tự định dạng} Ví dụ: {0,8:C} viết kiểu tiền tệ, dành 8 vị trí ◼ Một số kí tự định dạng C: Currency D: Decimal E: Scientific F: Fixed point G: General (mặc định) P: Percent 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 7/47
- 2. Không gian tên (namespace) 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ã nguồn Trong thư viện .NET framework có nhiều không gian tên Phải tham chiếu tới để sử dụng 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 8/47
- Các namespace cơ bản 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 9/47
- Không gian tên Khai báo sử dụng: ◼ Using ; Tạo không gian tên: ◼ namespace { . } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 10/47
- 3. Kiểu dữ liệu Phân loại kiểu dữ liệu ◼ Theo phương thức định nghĩa: Có sẵn (Build-in) Người dùng tự định nghĩa (user-defined) ◼ Theo cách thức lưu trữ Giá trị (Value) Tham chiếu (Reference) 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 11/47
- Kiểu dữ liệu Kiểu dữ liệu có sẵn ◼ C# hỗ trợ một số kiểu dữ liệu có sẵn, mỗi kiểu dữ liệu này tương ứng với một kiểu dữ liệu hỗ trợ bởi .NET CLS (Common Language System) ◼ C# có thể sử dụng đối tượng do các ngôn ngữ khác trong bộ .NET tạo ra va ngược lại (Ví dụ: Visual Basic .NET) ◼ Mỗi kiểu dữ liệu có kích thước xác định 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 12/47
- Kiểu dữ liệu 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 13/47
- Kiểu dữ liệu Kiểu giá trị (value type) ◼ Dữ liệu được lưu trữ trên vùng nhớ ngăn xếp (stack) ◼ Ví dụ: int, long, float Kiểu tham chiếu (reference type) ◼ Địa chỉ lưu trữ trong ngăn xếp (stack) ◼ Dữ liệu thực sự được lưu trữ trong vùng nhớ Heap ◼ Ví dụ: class, delegate, interface, object, string, dynamic 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 14/47
- Chuyển đổi các kiểu dữ liệu Chuyển đổi ngầm định (implicity) ◼ Trình biên dịch tự động thực hiện, đảm bảo không bị mất mát dữ liệu ◼ Ví dụ: short x=5; int y=x; Chuyển đổi tường minh (explicity) ◼ Sử dụng toán tử chuyển kiểu ◼ Sử dụng các tiện ích 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 15/47
- Chuyển đổi các kiểu dữ liệu Chuyển đổi tường minh (explicity) ◼ Sử dụng toán tử chuyển kiểu (Casting) ◼ Ví dụ: double a=34.5; int b = (int) a; ◼ Sử dụng các tiện ích Parse: phương thức chuyển đổi một chuỗi sang một kiểu dữ liệu khác Ví dụ: int a = Int32.Parse(“123”); // a sẽ mang giá trị số 123 float b = Float.Parse(“20.7”); //b sẽ mang giá trị 20.7 bool c = Boolean.Parse(“true”); //c sẽ mang giá trị true 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 16/47
- Chuyển đổi các kiểu dữ liệu ◼ Sử dụng các tiện ích TryParse(chuỗi cần chuyển, out biến chứa giá trị đã được chuyển đổi) TryParse trả về giá trị true (nếu chuyển thành công) hoặc false (nếu chuyển không thành công – mặc định) Ví dụ: int a; Int32.TryParse(“123”, out a); //a mang giá trị 123 bool b; Boolean.TryParse(“false”,out b); //b sẽ mang giá trị false Convert: lớp tiện ích cung cấp nhiều phương thức chuyển đổi kiểu Ví dụ: double d = Convert.ToInt32(“123”); //d mang giá trị 123 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 17/47
- Biến và hằng (Variable & Constant) Biến (Variable) ◼ Một vùng nhớ có định kiểu ◼ Có thể gán và thay đổi giá trị ◼ Các biến phải được khởi gán trước khi sử dụng Cú pháp: [ loại] kiểu_dữ_liệu tên_biến; int tuoi; – loại: public, private, protected, static float diem; – kiểu_dữ_liệu: int , long , float . double tien; – Tên biến: theo nguyên tắc đặt tên string ten; 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 18/47
- Biến và hằng (Variable & Constant) Hằng (Constant) ◼ Là biến nhưng giá trị không thể thay đổi sau khi khởi gán ◼ Cú pháp: = ; ◼ Ví dụ: const int a = 100; ◼ Hằng bắt buộc phải được gán giá trị lúc khai báo ◼ Không được gán trị của hằng bằng giá trị của biến 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 19/47
- Kiểu liệt kê Là tập hợp các tên hằng có giá trị không thay đổi (thường được gọi là danh sách liệt kê). Cú pháp: [thuộc tính] [bổ sung] enum [:kiểu cơ sở] {danh sách các thành phần liệt kê} Ví dụ: 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 20/47
- Kiểu liệt kê 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 21/47
- Kiểu chuỗi kí tự (string) Khai báo ◼ Ví dụ: string st = “hello”; Sử dụng ◼ Sử dụng các các toán tử: == (bằng), != (khác), + (nối chuỗi) ◼ Ví dụ: string s1 = "hello "; string s2 = "world"; Console.WriteLine(s1+ s2); //”hello world” Console.WriteLine(s1 + s2 == "hello world"); //True 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 22/47
- Cách đặt tên Luôn luôn sử dụng 2 cách đặt tên là Camel Case hoặc Pascal Case ◼ Camel Case: Chữ cái đầu tiên của từ đầu tiên viết thường, các từ còn lại viết hoa chữ đầu ◼ Pascal Case: Viết hoa chữ cái đầu tiên của tất cả các từ Không đặt tên các biến khai báo cùng tên nhau mà chỉ khác nhau ở chữ hoa và chữ thường Không sử dụng tên bắt đầu với ký tự số Không sử dụng tên kết thúc với ký tự số 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 23/47
- Cách đặt tên Luôn luôn đặt tên có ý nghĩa cụ thể Tránh sử dụng từ viết tắt trừ khi quá dài Tránh viết tắt những từ nhỏ hơn 5 ký tự Tránh đặt tên các biến hoặc hàm trùng với hàm hoặc biến mặc định của Framework Không thêm các tiền tố hoặc hậu tố không có nghĩa Sử dụng các tiền tố biến boolean bằng “Is”, “Can”, “Has” 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 24/47
- Toán tử trong C# Toán tử số học: +, -, *, /, %, ^, ++, Toán tử quan hệ: ==, !=, >, >=, b?a-b:b-a; 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 25/47
- Toán tử trong C# Độ ưu tiên của toán tử Loại toán tử Toán tử Tính kết hợp Một ngôi - , ++ , phải sang trái Hai ngôi ^ trái sang phải *, /, % +, - = phải sang trái Thứ tự ưu tiên giữa các kiểu toán tử Thứ tự Kiểu toán tử 1 Số học 2 So sánh (quan hệ) 3 logic 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 26/47
- 4. Các cấu trúc điều khiển Câu lệnh: ◼ Chương trình C# là một dãy các câu lệnh (statements) ◼ Mỗi câu lệnh kết thúc bởi dấu “;” ◼ Các câu lệnh được xử lý tuần tự theo chiều từ trên xuống dưới (trừ trường hợp các lệnh nhảy, rẽ nhánh, lặp ) Lệnh nhảy không điều kiện ◼ Có lời gọi một phương thức ◼ Sử dụng các lệnh nhảy không điều kiện: goto, break, continue, return, throw 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 27/47
- Lệnh nhảy có điều kiện (rẽ nhánh) Rẽ nhánh chỉ được thực hiện khi điều kiện rẽ nhánh là đúng (true) Câu lệnh if else (có thể lồng nhau) Câu lệnh chọn: switch case 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 28/47
- Câu lệnh if else Cú pháp: if (biểu thức điều kiện) ; [else ;] Thực hiện Nếu biểu thức điều kiện là True thì Công việc 1 được thực hiện, ngược lại công việc 2 được thực hiện. Ví dụ: Nhập một số, cho biết tính chẵn lẻ của số vừa nhập 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 29/47
- Ví dụ câu lệnh if else using System; using System.Collections.Generic; using System.Text; namespace IfElse { class Program { static void Main(string[] args) { int n; Console.Write("nhap so n:"); n = Convert.ToInt32(Console.ReadLine()); if ((n % 2) == 0) Console.WriteLine(n + " la so chan"); else Console.WriteLine(n + " la so le"); Console.ReadLine(); } } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 30/47
- Câu lệnh switch case Cú pháp switch (biểu thức) { case giá_trị_1: {Các lệnh 1; break; } case giá_trị_n: {Các lệnh n; break; } [default: Các lệnh n+1;] } Thực hiện Biểu thức có giá trị 1, lệnh 1 thực hiện Mặc định, lệnh n+1 được thực hiện 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 31/47
- Ví dụ câu lệnh switch case Nhập vào số nguyên, viết ra dạng chữ của số đó using System; using System.Collections.Generic; using System.Text; namespace SwitchCase { class Program { static void Main(string[] args) { int n; Console.Write("nhap so n (0<n<4):"); n = Convert.ToInt32(Console.ReadLine()); switch (n) { case 1: { Console.WriteLine(n + ": mot"); break; } case 2: { Console.WriteLine(n + ": hai"); break; } case 3: { Console.WriteLine(n + ": ba"); break; } default: { Console.WriteLine(n + " Khong biet doc"); break; } } Console.ReadLine(); } } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 32/47
- Câu lệnh lặp Câu lệnh lặp for Câu lệnh lặp while Câu lệnh lặp do while Câu lệnh lặp foreach in 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 33/47
- Câu lệnh lặp for Cú pháp for ([Khởi tạo]; [Biểu thức điều kiện]; [Bước lặp]) ; Thực hiện B1. Thực hiện Khởi tạo B2. Kiểm tra điều kiện - Nếu đúng thực hiện Câu lệnh rồi Bước lặp và quay lại B2. - Nếu sai chuyển sang câu lệnh sau for 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 34/47
- Ví dụ câu lệnh for Ví dụ: In ra màn hình 10 số nguyên dương đầu tiên using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace forStatement { class Program { static void Main(string[] args) { Console.WriteLine("10 so nguyen duong dau tien"); for (int i = 1; i <= 10; i++) Console.Write("{0} ", i); Console.ReadLine(); } } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 35/47
- Câu lệnh lặp while Cú pháp while (biểu thức điều kiện) ; Ví dụ: class Program { static void Main(string[] args) { Console.WriteLine("10 so nguyen duong dau tien"); int i = 1; while (i <= 10) { Console.Write("{0} ", i); i++; } Console.ReadLine(); } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 36/47
- Câu lệnh lặp do while Cú pháp do while ; Ví dụ: class Program { static void Main(string[] args) { Console.WriteLine("10 so nguyen duong dau tien"); int i = 1; do { Console.Write("{0} ", i); i++; } while (i <= 10); Console.ReadLine(); } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 37/47
- Câu lệnh lặp foreach in Cho phép tạo vòng lặp thông qua một tập hợp hay một mảng Cú pháp foreach( in ) { ; } Thực hiện Số lần lặp Khối lệnh tương ứng bằng số lượng phần tử trong tập hợp 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 38/47
- Ví dụ câu lệnh lặp foreach in Tính tổng các phần tử trong mảng 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 39/47
- 5. Mảng trong C# Mảng là tập hữu hạn các phần tử có cùng kiểu dữ liệu Khai báo [] int[] so; float[] diem; string[] tenlop; Tạo thể hiện mảng (dùng new) [kiểu dữ liệu][ ] [tên mảng] = new [kiểu dữ liệu][tổng số phần tử] int [] so = new int[10]; float[] diem = new float[3]; 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 40/47
- Mảng trong C# Giá trị mặc định: mỗi thành phần sẽ chứa giá trị mặc định của kiểu dữ liệu Ví dụ: int [] so = new int[5]; tạo một mảng gồm 5 số nguyên, mỗi thành phần giá trị mặc định là 0 Khởi tạo thành phần của mảng ◼ Đặt các giá trị khởi tạo trong cặp dấu { } ◼ Ví dụ: int[] myIntArray1 = new int[5]{2,4,6,8,10}; int[] myIntArray2 = {2,4,6,8,10}; 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 41/47
- Mảng trong C# Truy cập các thành phần trong mảng ◼ Dùng toán tử chỉ số [ ]: [chỉ số] ◼ Chỉ số phần tử đầu tiên là 0 ◼ Ví dụ: 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 42/47
- Mảng trong C# Ví dụ: Nhập mảng a gồm N phần tử, in mảng vừa nhập ra màn hình class Program { static void Main(string[] args) { int n, i; int[] a; Console.WriteLine("Nhap so luong phan tu: "); n = Convert.ToInt32(Console.ReadLine()); a = new int[n]; for (i = 0; i < n; i++) { Console.WriteLine("Nhap phan tu thu {0}: ", i); a[i] = Int32.Parse(Console.ReadLine()); } Console.WriteLine("Mang vua nhap la: "); for (i = 0; i < n; i++) { Console.Write("{0} ", a[i]); } Console.ReadLine(); } } 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 43/47
- Mảng trong C# Ngôn ngữ C# cung cấp cú pháp chuẩn cho việc khai báo những đối tượng Array 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 44/47
- Mảng trong C# 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 45/47
- Bài tập về nhà Bài 1. Viết chương trình nhập 2 số thực a và b. Tính tổng, hiệu, tích, thương của 2 số đó. Bài 2. Viết chương trình giải và biện luận phương trình bậc nhất ax + b = 0 Bài 3. Viết chương trình giải và biện luận phương trình bậc 2: ax2 + bx + c = 0, trong đó các hệ số a, b, c ∈ R Bài 4. Viết chương trình nhập vào 3 số a, b, c. Kiểm tra xem 3 số đó có thoả mãn 3 cạnh của tam giác? Nếu thoả mãn tính chu vi và diện tích của tam giác đó. 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 46/47
- Bài tập về nhà Bài 5. Viết chương trình nhập vào từ bàn phím một số nguyên dương N. Kiểm tra xem số đó có phải số nguyên tố hay không? In kết quả ra màn hình. Bài 6. Viết chương trình nhập vào từ bàn phím số nguyên dương N. Kiểm tra số đó có phải số hoàn hảo hay không? In kết quả ra màn hình. VD: 6 là số hoàn hảo (vì 6=1+2+3) Bài 7. Viết chương trình nhập vào từ bàn phím dãy gồm N số nguyên. Sắp xếp dãy theo chiều tăng dần và in kết quả ra màn hình. 15/06/2021 Chương 2. Các thành phần cơ bản trong C# 47/47