Ebook Lập trình C# từ cơ bản đến nâng cao: Phần 1 - Phạm Công Ngô

Chia sẻ: Le Na | Ngày: | Loại File: PDF | Số trang:101

0
402
lượt xem
146
download

Ebook Lập trình C# từ cơ bản đến nâng cao: Phần 1 - Phạm Công Ngô

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Ebook Lập trình C# từ cơ bản đến nâng cao: Phần 1 gồm nội dung 7 chương đầu tài liệu. Nội dung phần này trình bày các vấn đề về các nét cơ bản của C#, xuất nhập dữ liệu, các lệnh điều khiển, phương thức, lớp trong lập trình hướng đối tượng C#, tính thừa kế trong C# và tính đa dạng.

Chủ đề:
Lưu

Nội dung Text: Ebook Lập trình C# từ cơ bản đến nâng cao: Phần 1 - Phạm Công Ngô

  1. PHẠM CÔNG NGÓ É ĐẾN CD NHÀ XUẤT BÀN GtÁO DỤC VIỆT NAM
  2. PHẠM CỒNG NGÔ LẬP TDÌNH c » từ cơ bản đến nâng cao (Tái bản lẩn th ứ hai) NHÀ X U Ấ T BẢN GIÁO DỤC VIỆT NAM
  3. Công ly cổ phẩn Sắch Đại học - Dạy nghể - Nhà xuất bản Giáo dục Việt Nam gỉữ quyển công bế tác phẩm. 19 - 2010/CXB/178 - 2244/GD Mã số : 7B656yO - DAI
  4. L ờ i q iớ i rh iệ u Đầu thế kỷ XXI, Microsoít đite ra một bộ Visual Studio ,NET (VS 7.0), Có thể nói từ v s 2001 đến v s 2 0 0 3 đã có một bước cải tiến đảng kể vể nội dung, Bộ Visual Studio 6.0 (với các ngôn ngữ Visual Basic 6.0, Visual C++ 6.0, ASP 3.0,...) đâ đem lại cho lập trình viên nhiều thuận tiện và lợi ích. Tuy nhiên khi bộ Visual Studio. NET đưỢc công bố thi mọi ngư
  5. ngắn gọn và dể hiểu tác giả đâ cố gắng dựa vào kinh nghiệm giảng dạy cũng như các bài giảng đã được soạn và chinh lý để cuốn sách được hoàn thiện hơn. Cuốn sách này đưỢc xuất bản lần đầu cho nẻn không thể tránh khỏi khiếm khuyểt. Tác giả rất mong các bạn đồng nghiệp gần xa. các sinh viên sử dụng bộ sách này đóng góp ý kiến để lần tái bản sau được hoàn chinh hơn. Cuối cùng tác giả cũng có một lời mách nhỏ là tắt cả các chương trình trong sách đều đã chạy tốt trêii máy PC có cài đạt bộ Visual Studio 20 0 3 và các bạn hãy cố gắng tự mỉnh đánh vào máy đề kiểm tra kết quả. đây cũng là một phương pháp tự học rất hiệu quả mà trong bao năm qua tác giả và đổng nghiệp đã sử dụng. Mọi ý kiến góp ý và thư từ xin gửí về Công ty CP Sách ĐH - DN, 25 Hàn Thuyên, Hà Nội, hoặc email: pcongngo@yahoo.com .vn TÁC GỈẢ Hà Nội, 15 - 8 - 200 7
  6. C hươN q 1. C ác nét c ơ bẢN CỦA c # 1 .1. GIỚI THiỆU c # c** (được phát âm là "C sharp") là một ngôn ngữ lập trinh hướng đối tưcfrig. hiện đại. tin cậy và được sử dụng nhiểu cho Internet, c** được kế thùầ từ các ngôn ngữ lập trình hưé^g đối tưcrtig quen thuộc khác như CTT. Java. được xây dựtìg từ mộí nhóm các kỹ sư phần mềm của Microsoít do hai ngưâri lãnh đạo là Anders Hejlsberg và Scott Wiltamuth. Các chưcffig trình c** chủ yếu được viết trong môi tn/cfríg "console" và môi trường "windows form". Để giới thiệu một chương trinh đầu tiên làm ví dụ, các bạn phải cài đạt bộ Visual Studio ,NET (2003) trong Windows 2000 hoặc Windows XP. - Nhấn Start -> Program trong WừKÌows- - Chọn Mlcrosoít Studio -NET 2003. - Từ menu File -> New — Project. > Nevv P ro je c t Iw npl8«s '11 B ỉpỉỉc6 n < p aõ' J v is m I FTQỉ«ets • - J Vtsu«l _ J s«tu(ỉ onct 0«pỉộ>iTwnt Pro}«ce ề • _ J o th tr Pro jKt$ A f4 r MŨ âF F Ori« Conc^ Contoh ^ ỉtủdỉO SolưOon^ w « b A p p l(C « & o n * iiCr»rv AppỊiCMion - proỊect for aetông e ccmmand*ỉỉn« app^cAGort IImií; Conioi«Applicalỉon2 LocaOon: C: ,g«o«ocứó firov/se Nev> ẵữkỉbon I O>nsoỉe«%ppỉicoocti2 w Creat9 dlr«ctory fúr Sứlubdn y/dl b« cre9(
  7. Trong hình 1.1, phía trái Project Types chọn Visual c*f Project. ở phía phải Templates, chọn Console Application, - Tại Textbox có nhãn Name; p rgl. - Tại Textbox có nhãn Location: C :\tu hoc csharp. - Nhấn nút OK. Sau đó. nhấn đồng thcrt 2 phím Ctrl + A để lự& chọn toàn bộ rồi bấm phím Delete. Cuối cùng bạn gõ vào văn bản chương trình sau: Ví dụ 1.1. Viết chưcmg trinh hiển thị trẽn màn hình dòng chữ: "Hello world !”. using System; public class progl { public static void Main () I Console. WriteLine ( Hello Víorld ! ) " ” ; Console.ReadLineO; ) } Đ ể chạy chương trình nhấn phím F5 và ta có dòng chữ hiển thị trên màn hình: S n ế t quá: Hello VVortd! 1.2. BĨẾN, BIỂU THỨC Sử dtưig 26 chữ cái tiếng Anh thường và hoa: ~ a. b, c. d. e, f, g, h, i, j, k, 1, m. n, o. p, q. r, s, í. u, V, w, X, y, z. - A . B, c, D,...w, X, Y. z. - 10 chữ số 0, 1, 2. 3, 4. 5 . 6 . 7, 8, 9. - Dấu gạch dcfới _ (không phải dấu trừí.
  8. Tên biến, biểu thức hoặc phương thửt (hay hàm) chỉ được sử dụng 63 kí tự trên mới hợp lệ, Ví dụ: Hanoi; HANOI; _Hanoi; Ha_noi. ^!5v.Cỉiú ý; + C hửsố 0.1.... 9 không được phép đặt vị trí đầu tiên của tên biến. + Tên biến không đưỢc phép đặt trùng với các từ khoá (keyword). 4- Tên biến phân biệí nhau bởi chữ thường và chữ hoa (điểu này khác hoàn toàn vtì ngôn ngữ Pascal). + Dấu gạch dưétì có thể đặt ở vi tri đầu hoặc giữa tên biến đều hợp lệ. 1.3. T ừ K H O Á (KEYVVORD) Bàng 1.1. T khoã cùa ngôn ngữ c# ừ abstrocí as base booi break byte ose cotch char checked ciass consí continue decimal đefault đelegote do double eise enum event explicit extern false tinally fixed fioat for foreach goto ịf impliclt in Int ínterface internai Is lOCQ íong namespace new null object operator out overrìde params prỉvate protected publlc readonly res return sbyte sealed short sifeof stackolloc statlc stiing strucí swtch this throw ínje try typeoí unií • ulong uncbeckeđ unsaíe ushort uslng Virtual voiđ whỉ)e
  9. 1.4. KIÊU (TYPE) Bàng 1.2. Mô tà câc kiểu dữ liệu xây dựng sân Kiểu c # S6 Kiểu Mô tỏ byte •NET byte 1 Byte SỐ nguyên đưong không dốu: 0 4 255 - char 2 Char Ký tụ Unicode bool 1 Booleon Già tfỊ logic true/ false sbyte 1 Sbyte SỐ nguyên cố đâu: -128 + 127 short 2 Intló SỐ nguyên c ố ctóu giã trị: -32768 -r 32767. ushort ' 2 Uintìó SỐ nguyên không ddu: 0 -ỉ- 65.535 ínt á Int32 Số nguyên c ố đđu: -2.147,483.647 Ỷ 2.14^483.647 uint 4 Uint32 SỐ nguyên không dốu: 0 -i- 4.294,967.295 íloat 4 Singíe Kiểu dốu châm động giá ừ xấp xỉ tù 3.4E-38 đến 3,4E+38rvoì 7 chữ sổ có nghĩa đouble 8 Double Kiểu ddu chốm động cỏ độ chính xỏc gâ’p đôi, giá ừ xốp xỉ to 1.7E-308 đến l,7E+308,với IS lỏ c h ữ s ố c ố n g h ía . de clm a l 8 Decimal Cố độ chính xốc đến 28 con số và giở fr| thi*ip phân, đưoc dùng trong tính toán tài chính, kiểu này đỏi hỏi phài có hộu tố "m" hay "M" theo sau già trị. long 8 Int64 SỐ nguyèn có dđu: -9,223.370.036,054,775,808 -í- 9.223.372.036.854.775.807 ulong 8 Uint64 SỐ nguyèn không đđu: 0 -f Oxffffmfffffffff 1.5. KHAI BÁO BĨẾN pECLARATIO N) kiểu b iâi ỉ , biến 2 = giá trị; int a, b = 2; double X = 1 .4 56378, y, &. string s = ''Hanoi”; 8
  10. iong m = 356L: bytc vb = 67; sbyte sb = -2 0 5 : Iishort u sl = 7653; ulong u!l = 568u!; íloa( fl = 1.367P: tioubledl = 1.25439: boo! b l = true; char ch = ‘M'; decima! vdl = 1.28659M; string s l » "Hd noi’’; string s2 » 'Vieí nam"; btring s3 = s l + s2: " ^ C h ú ỷ: - Vcrt kiếu íioat sau giá trị gán cho biến luôn phải ghi thêm chữ F (viết hoa). Ví dụ; íloat f l = 1.2589F; - Các kiểu biến khác không nhất thiết phải ghi thêm. Có thể bỏ chữ L vẫn hỢp !ệ. Ví dụ: long 11 = 125987654L. 1.6. CÁC TOÁN TỦ SỐ HỌC + cộng - trù • nhân / chia % chia lổy số dư ++ Í++ -Ì, lãng gió trị i lên 1 đon vị —i; i - giòm giã trị i xuống 1 đon VỊ Ví dụ; int a = 16. b = 3; int q l * a + b; kết quả q l = 19: 9 2.LẬPT1Ú .NC> NH
  11. int q2 = a / b; kết quả q2 ® 5; int q3 = a % b; kết quả q3 = 1; double q4 = (doubie) a/b; kết quả q4 = 3 .2 kiểu viết iệnh gán ngắn gọn: i+ = 5; tương đuơng i = i + 5; = 4; tuơng đifc?ng i = i - 4; * » 6; tuơng đương i = i • 6; i / = 2; tương đưcMg i = i / 2; 1.7. TO Á N TỬ Q U A N HỆ VÀ LOGIC > lớn hon >« íớn hơn hoộc bàng < nhó hon < ss nhỏ hon hoộc bàng bồng không bàng && vò 1 ! hoộc Ị phủ định Ví dụ: if ( b) Ỉ & (a > c)) lênh 1; Í if (a !* b) lệnh 2; 1.8. TOÁN TỬ XỬ LÝ BIT & và bit t h oộc bỉt 1 phù đ nh bií » đ ch phải (right shift) « d c h trói (ieftshift) A xor b il 10 2.L ầ fT rtlM ....N C £
  12. Vĩ dụ 1.2. using System; class xulybit s t â t i c VDíd Main(string (] arg s ) int a = Ỉ26, b = 86; int ql, q2, q3, q4, q5; ql = a & b q2 = a I b; q3 - a ^ b; q4 = a » 2; q5 = b « 3; C onsoỉe,W riteLine r a = "+a+” ; b = *'+b); Console.WriteLine ( ql = ' " ’+ql+*'; q2 = * ’+q2); Console.VíriteLine ( ' = ”+q3+"; q4 = ”+q4); * q3 = Consoie.WriteLineq5 * *'+q5); Ccnsoie,ReadLine(); } P . K ế ỉ quả: a = 126; b = 86; ^ q 1 = 86; q 2 = 126; q3 = 40: q4 = 31; q5 = 688, Để hiểu được kết quả này ta nhớ lại bảng các phép toán logic VỞI bit: o b a &b a b a-^b 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 11
  13. + Đổi cdc số d, b từ hệ 10 về hệ 16. a = 126 -> a = {7E)i^. b = 86 -> b = (56)k;. + Đổi a từ hệ 16 về hệ 2. a = (7E ),^-> 0 1 1 1 1 1 1 0 q4 = a » 20 00 1 1 1 1 1 q4 = (lF )„ = (1 6 + 15ho= (31),0. + Đổi b từ hệ 16 về hệ 2. b= (56),-»01010110 q5 = b « 3; 0 1 0 1 0 1 1 0 0 0 0 2 B 0 q5 = (2B0)„ = (2.256 + 11.16)io = (688}jo. 1.9. C H Ú THÍCH Cách chú thích các đểu dòng lệnh và đoạn iệnh chưcrtig trình trong cũng giống như trong C++ hay Java. - Chú thích cho một dòng: / / dòng được chú thích đến hết dòng - Chú thích cho nhiều dòng; /* dòng 1 ; dòng 2 ; , dòng n; V 1.10. K ĩỂu LIỆT KÊ (ENUM ) Cú pháp kiểu liệt kê phải đặt từ khoá enum lẻn đầu: enurn E 1 { a, b, c = 15, d, e} ; Trong đó E1 !à tên biến có kiểu enum fliệt kê): bằng số a lấy giá trị ng ạ;ên bằng 0 b lấy giá trị 1 c lấy giá trị 15 12
  14. d lấy giá trị 16 e iấy giá trị 17 ' S v i d ụ 1.3. using System; class Enumeration ( enum El( a, b, c « 15, d, e ; } static void MainO I Console.WriteLine ( ”Gia tri b » ’ {int)E1 .b); ’+ Console.WriteLine (’Gia tri d » *'+ {int)El-d); * Console.ReadLine (); } 1 ^ ^ K ết quở. Giá trị b = 1 Giá trị d = 16 1.11. KIÊU CẤU TRÚC - STRUCT Kiểu struct giống như trong ngôn ngữ c. Stmct điíỢc định nghĩa với tất cả các biến có kiểu public đặt trên class và dưới using System. Trong hàm Main 0 ta khai báo các biến có kiểu struct và gán trựt tiếp dữ liệu cho các biến struct qua toán tử chấm {dot operator). stru G t S tl public sfr\ng ten; Public int maso; } + Khai báo biến struct trong hàm Mdin 0 Stl p; + Truy cập vào các biến trong struct p.ten = "Hoa"; p.maso = 555; 13
  15. s Ví dụ 1.4. using System; public struct stl { public string ten; public int mâso; ) class ViduStruct { static '/oid MainO { stl p; / / k h ạ í bao bien p co kieu stl p .ten = Hoa" ; t p.maso » 555; Console.WriteLine ( Ten: ’ " ’+p.ten+"\nMa so: "+p.maso>; Console.ReadLine () } S ^ K ế t quả: Ten: Hoa Ma so: 555 1.12. KIỂU M ẢN G (ARRAY) + Mảng m ột chiểu: int [ ] a - new int [ 10] ; + Mảng hai chiều: double t , mat * new double [ 3,3) ; ) Mục này ta chỉ nêu kiểu khai báo mảng. Đ ể hiểu về mảng các bạn xem ờ chương 5. 14
  16. ChươNq 2 . X uất NhẬp d ữ liỆu 2.1. XUẤT D ử LỈỆU RA MÀN H ÌN H 2.1.1. Xuất dữ iiệu không định dạng int a = 15; double b » 123,45789; char ch * ’M*; string str * "Ha Noi” / Console .Hriteline (‘ = *a b * ”+b); Console.Writeline("ch » str = ”+str); 2.1.2. Xuất dữ liệu c ó định d ạ n g với số dấu phày động float fl = 123.7658437; double dl = -?25.45
  17. shorta a = intló.Parse (Console.ReađLineO); ushort a a = Ulntlố.Parse (Consoie-ReadllnôO); unit a a = Ulnt32.Parse(Console,ReaơLineO); long a a = !ntó4.Parse (Consoie.ReadLineO); uiong a a = Ulnt64,ParseCConsole,ReadLineO); string s s = Console.ReađLineO; ch = Char.Parse(Console.ReađLineO): char ch ch = char.Parse(ConsoIe.ReadUneO): a » Single.ParseíConsole.ReadUneO); fIoat a a * tloat.ParseCConsoỉe.ReađUneO); a = Double,Parse(Console.ReadUne()); đoubte a a = double.Parse(Console.ReadLíneO); c 5 \ / í dụ 2.1. using Systemĩ class InOut ( static void MainO { ■ int. ID; //ma so string narae; //ten float salarỵ; //luong uĩong tel; //díen thoai Console.Write("Nhap nia 80: ") ID = Int32.Parse(Console.ReadLine 0); Console.Write ("Nhap ten ỉ ") narae = Console-ReadLine0; Console.Write("Nầap luong: "); salary “ Single.Parse(C
  18. Console.Wríte{"; Ten: ”+namet; Console.Write( ; Luong: ”+salary); ” Console.VỉriteLine { • '; So dien thoai; "+tel); Console.ReadLine0;// doi go mot phim S ksí quá: Nhap ma so: 111 Nhap ten; An Nhap luong: 2000 Nhap so dien ỉhoai: 8676432 Ma so: 111; Ten: An; Luong: 2000; So dien thoai: 8676432 17 JềC*
  19. ChươNq f , C á c lệ N h đ ỉỀ u khiỂ N Các lệnh điều khiến được chia làm ba nhóm: - Lệnh iặp hay lệnh chu trình. - Lệnh điều kiện. - Lệnh lựa chọn. 3.1. CÁC LỆNH LẶP (LOOP) Trong c6 bốn lệnh lặp; for; do... ivhile, while, íoreach. 3.1.1. Lệnh lặ p to r for (bt khởi tao; bt điều kiên; bt thay đổi) { lênh 1; lệnh 2; ) Trong đó biểu thứt (bt) khởi tạo. biểu thức điều kiện và biểu thức thay đổi đứttg tách nhau bởi dấu chấm phảy. Ví dụ: for (int i = 0; i < 5; i++) {} dụ 3.1. Sử dụng vòng lạp for để hiển thị bình phưcftig của số nguyên ỉ từ 0 đến 10 . using System class LoopForl { statỉc void MaiTiO for (int i ■ 0; i FTTÓNH. MC.B
  20. Vòng lặp for còn thực hiện vóí các biểu thút phút tạp. Trong ba biểu thút tách nhau bởi dấu chấm phảy thì ở biểu thút khởi tạo và biểu thứt thay đổi có thể chứa nhiều biểu thức con và chúng tách nhau bc^ dấu phẳy còn biểu thức điều kiện thi có các phép toán quan hệ như && (và); !! (hoặc) tạo thành. Vi dụ 3.2. Hiển thị các giá trị i và j đồng thời, using System; class LoopFor2 i static void Mâin {) I int i, j; for (i = 0, j = 5; {i < 4) && ( > 2); i++, j— ) j Console.WriteLine{"i = "+i+"; j = "+j); Console.ReadLine(); H k ồ í quà: = 0 ;j = 5 = l;j = 4 = 2 :j = 3 Nếu thay đổi toán tử && bằng toán tử I I ta sẽ có kết quả khác một chút. Các bạn hãy tự thay*đoi. Vòng lặp for còn thựd hiện vófi biểu ứìứt có kiểu íloat, double. Trong vòng íor. lệnh thay đổi được viết: for (double i = 0; i

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản