Nội dung
Cấu trúc chương trình C
Không gian tên
Kiểu dữ liệu
Các thành phần điều khiển
Mảng trong C#
47 trang |
Chia sẻ: phuongt97 | Lượt xem: 519 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Lập trình ngôn ngữ C# - Chương 2: Các thành phần cơ bản trong C#, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2CÁC THÀNH PHẦN CƠ BẢN TRONG C#Nội dung13/08/2021Chương 2. Các thành phần cơ bản trong C#Cấu trúc chương trình C#1Không gian tên2Kiểu dữ liệu3Các thành phần điều khiển4Mảng trong C#52/471. 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ênusing System;using System.Collections.Generic;using System.Text;//Khai báo không gian tên của ứng dụngnamespace 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 } }}13/08/2021Chương 2. Các thành phần cơ bản trong C#3/47Một số khái niệm trong C#C# là ngôn ngữ phân biệt chữ hoa/thườngChú thíchChú 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íchTừ 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ácTất cả các từ khoá đều được viết thườngVí dụ: class13/08/2021Chương 2. Các thành phần cơ bản trong C#4/47Danh sách các từ khoá trong C#abstracteventnewstructasexplicitnullswitchbaseexternobjectthisboolfalseoperatorthrowbreakfinallyouttruebytefixedoverridetrycasefloatparamstypeofcatchforprivateuintcharforeachprotectedulongcheckedgotopublicunchecked13/08/2021Chương 2. Các thành phần cơ bản trong C#5/47Console nhập xuấtĐọc ký tự văn bản từ cửa sổ consoleConsole.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ìnhBill total: $52.23 Tip total/rate: $9.40 (18.0 %)13/08/2021Chương 2. Các thành phần cơ bản trong C#6/47Console nhập xuấtXuấ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ạngC: CurrencyD: DecimalE: ScientificF: Fixed pointG: General (mặc định)P: Percent13/08/2021Chương 2. Các thành phần cơ bản trong C#7/472. 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ạiCho phép dễ dàng tái sử dụng mã nguồnTrong thư viện .NET framework có nhiều không gian tênPhải tham chiếu tới để sử dụng13/08/2021Chương 2. Các thành phần cơ bản trong C#8/47Các namespace cơ bản13/08/2021Chương 2. Các thành phần cơ bản trong C#9/47Không gian tênKhai báo sử dụng:Using ;Tạo không gian tên:namespace { . }13/08/2021Chương 2. Các thành phần cơ bản trong C#10/473. Kiểu dữ liệuPhân loại kiểu dữ liệuTheo 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)13/08/2021Chương 2. Các thành phần cơ bản trong C#11/47Kiểu dữ liệuKiểu dữ liệu có sẵnC# 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 định13/08/2021Chương 2. Các thành phần cơ bản trong C#12/47Kiểu dữ liệu13/08/2021Chương 2. Các thành phần cơ bản trong C#13/47Kiểu dữ liệuKiể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, floatKiể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ớ HeapVí dụ: class, delegate, interface, object, string, dynamic13/08/2021Chương 2. Các thành phần cơ bản trong C#14/47Chuyển đổi các kiểu dữ liệuChuyể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ệuVí dụ: short x=5; int y=x;Chuyển đổi tường minh (explicity)Sử dụng toán tử chuyển kiểuSử dụng các tiện ích13/08/2021Chương 2. Các thành phần cơ bản trong C#15/47Chuyển đổi các kiểu dữ liệuChuyể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 íchParse: phương thức chuyển đổi một chuỗi sang một kiểu dữ liệu khácVí dụ:int a = Int32.Parse(“123”); // a sẽ mang giá trị số 123float b = Float.Parse(“20.7”); //b sẽ mang giá trị 20.7bool c = Boolean.Parse(“true”); //c sẽ mang giá trị true13/08/2021Chương 2. Các thành phần cơ bản trong C#16/47Chuyển đổi các kiểu dữ liệuSử dụng các tiện íchTryParse(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ị 123bool b;Boolean.TryParse(“false”,out b); //b sẽ mang giá trị falseConvert: lớp tiện ích cung cấp nhiều phương thức chuyển đổi kiểuVí dụ:double d = Convert.ToInt32(“123”); //d mang giá trị 12313/08/2021Chương 2. Các thành phần cơ bản trong C#17/47Biến và hằng (Variable & Constant)Biến (Variable)Một vùng nhớ có định kiểuCó thể gán và thay đổi giá trịCác biến phải được khởi gán trước khi sử dụng13/08/2021Chương 2. Các thành phần cơ bản trong C#Cú pháp:[ loại] kiểu_dữ_liệu tên_biến;– loại: public, private, protected, static– kiểu_dữ_liệu: int , long , float.– Tên biến: theo nguyên tắc đặt tênint tuoi;float diem;double tien;string ten;18/47Biế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ánCú 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áoKhông được gán trị của hằng bằng giá trị của biến13/08/2021Chương 2. Các thành phần cơ bản trong C#19/47Kiể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ụ:13/08/2021Chương 2. Các thành phần cơ bản trong C#20/47Kiểu liệt kê13/08/2021Chương 2. Các thành phần cơ bản trong C#21/47Kiểu chuỗi kí tự (string)Khai báoVí dụ: string st = “hello”;Sử dụngSử 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 13/08/2021Chương 2. Các thành phần cơ bản trong C#22/47Cách đặt tênLuôn luôn sử dụng 2 cách đặt tên là Camel Case hoặc Pascal CaseCamel 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ữ đầuPascal 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ườngKhô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ố13/08/2021Chương 2. Các thành phần cơ bản trong C#23/47Cách đặt tênLuô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àiTrá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 FrameworkKhông thêm các tiền tố hoặc hậu tố không có nghĩaSử dụng các tiền tố biến boolean bằng “Is”, “Can”, “Has”13/08/2021Chương 2. Các thành phần cơ bản trong C#24/47Toán tử trong C#Toán tử số học: +, -, *, /, %, ^, ++, --Toán tử quan hệ: ==, !=, >, >=, b?a-b:b-a;13/08/2021Chương 2. Các thành phần cơ bản trong C#25/47Toán tử trong C#Độ ưu tiên của toán tửThứ tự ưu tiên giữa các kiểu toán tử13/08/2021Chương 2. Các thành phần cơ bản trong C#Loại toán tửToán tửTính kết hợpMột ngôi- , ++ , --phải sang tráiHai ngôi^trái sang phải*, /, %+, -=phải sang tráiThứ tựKiểu toán tử1Số học2So sánh (quan hệ)3logic26/474. Các cấu trúc điều khiểnCâ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ệnCó lời gọi một phương thứcSử dụng các lệnh nhảy không điều kiện: goto, break, continue, return, throw13/08/2021Chương 2. Các thành phần cơ bản trong C#27/47Lệ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 ifelse (có thể lồng nhau)Câu lệnh chọn: switchcase13/08/2021Chương 2. Các thành phần cơ bản trong C#28/47Câu lệnh ifelseCú 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ập13/08/2021Chương 2. Các thành phần cơ bản trong C#29/47Ví dụ câu lệnh if...elseusing 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(); } }}13/08/2021Chương 2. Các thành phần cơ bản trong C#30/47Câu lệnh switch caseCú phápswitch (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ện13/08/2021Chương 2. Các thành phần cơ bản trong C#31/47Ví dụ câu lệnh switch caseNhậ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;Thực hiệnB1. Thực hiện Khởi tạoB2. 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 for13/08/2021Chương 2. Các thành phần cơ bản trong C#34/47Ví dụ câu lệnh forVí dụ: In ra màn hình 10 số nguyên dương đầu tiênusing 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 ;Ví dụ:class Program { static void Main(string[] args) { Console.WriteLine("10 so nguyen duong dau tien"); int i = 1; while (i 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 in ){ ;}Thực hiệnSố lần lặp Khối lệnh tương ứng bằng số lượng phần tử trong tập hợp13/08/2021Chương 2. Các thành phần cơ bản trong C#38/47Ví dụ câu lệnh lặp foreachinTính tổng các phần tử trong mảng13/08/2021Chương 2. Các thành phần cơ bản trong C#39/475. 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ệuKhai 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];13/08/2021Chương 2. Các thành phần cơ bản trong C#40/47Mả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à 0Khở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};13/08/2021Chương 2. Các thành phần cơ bản trong C#41/47Mảng trong C#Truy cập các thành phần trong mảngDùng toán tử chỉ số [ ]: [chỉ số]Chỉ số phần tử đầu tiên là 0Ví dụ:13/08/2021Chương 2. Các thành phần cơ bản trong C#42/47Mả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ình13/08/2021Chương 2. Các thành phần cơ bản trong C#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(); } }43/47Mả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 Array13/08/2021Chương 2. Các thành phần cơ bản trong C#44/47Mảng trong C#13/08/2021Chương 2. Các thành phần cơ bản trong C#45/47Bà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 = 0Bà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 RBà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 đó.13/08/2021Chương 2. Các thành phần cơ bản trong C#46/47Bà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.13/08/2021Chương 2. Các thành phần cơ bản trong C#47/47
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_lap_trinh_1_chuong_2_cac_thanh_phan_co_ban_t.pptx