Lập trình C# - Bài 3: Các cấu trúc điều khiển của C#

Vẫn mở cửa sổ dòng lệnh, mở thêm của sổ NotePad và bắt đầu viết, dịch,sửa lỗi và thi hành các chương trình sẽ viết (Lưu ý khi lưu lại tập tin chương trình :chọn Save/Save As, chọn folder lưu trữ là C:\ViDu, chọn Save As Type : All Files, và đặt tên phần mở rộng là CS)

ppt45 trang | Chia sẻ: nguyenlam99 | Lượt xem: 1023 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Lập trình C# - Bài 3: Các cấu trúc điều khiển của C#, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BUỔI 3 : CÁC CẤU TRÚC ĐIỀU KHIỂN CỦA C#*Các cấu trúc điều khiển trong C#*Cấu trúc chọn lựaCú phápDạng 1 : if (điều kiện) ;Dạng 2 : if (điều kiện) ; else ;*Cấu trúc chọn lựa (tt)Lưu ý-Từ khóa if và else phải viết ở dạng chữ thường(thường hay mắc sai sót khi viết IF, iF, If, Else, ELSE,...)- Dấu chấm phẩy phải có để kết thúc 1 phát biểu lệnh Thường hay mắc lỗi!!!*Cấu trúc chọn lựa (tt)using System;class Test{static public void Main(String[] s){int a=0, b=1,c=2;If (a==b) Console.WriteLine(a+b+c);}}*Cấu trúc chọn lựa (tt)using System;class Test{static public void Main(String[] s){int a=0, b=1,c=2;if (a==b) Console.WriteLine(a+b+c) ///////}}*Cấu trúc chọn lựa (tt)Lưu ý:Toàn bộ điều kiện phải đặt trong cặp dấu ngoặc tròn Ví dụ if (a>=b) Console.WriteLine(a); if ( ( a+ b =10 ) ) ..Thường hay mắc lỗi!!!*Cấu trúc chọn lựa (tt)using System;class Test {static public void Main(String[] s){ int a=0, b=1; if a>b a=a+b;}}*Cấu trúc chọn lựa (tt)using System;class Test {static public void Main(String[] s){int a=0, b=1,c=2;if (a>b) && (a>c) Console.WriteLine(a+b+c);} }*Cấu trúc chọn lựa (tt)Lưu ý Trong C# (và cả C, C++, Java ) thì phép toán so sánh bằng nhau là ==Ví dụ if ( a = b ) a += 2* b ;Trong C,C++ : hiệu ứng phụTrong Java, C# : thông báo lỗiThường hay mắc lỗi!!!*Cấu trúc chọn lựa (tt)using System;class Test {static public void Main(String[] s){int a=0, b=1,c=2;if (a=b) Console.WriteLine(a+b+c);} }*Cấu trúc chọn lựa (tt)Lưu ýTương tự như Pascal, C/C++,Java : nếu có hơn 1 lệnh cần thực hiện  sử dụng cặp dấu { và }Ví dụ if (a > b ) { c = a+ (b++); Console.WriteLine( c ) ; }*Cấu trúc chọn lựa (tt)Ví dụ if (a ==0 ) { if (b==0) Console.WriteLine(“VSN”); else Console.WriteLine(“VN”); } else { c=-b/a; Console.WriteLine( c ) ; }*Cấu trúc chọn lựa (tt)if (a ==0) if (b == 0) if (c ==0) Console.WriteLine(“VSN”); else Console.WriteLine(“VN”); else Console.WriteLine(“ x = {0} “, -c/b);else { delta = b*b - 4*a*c; if (delta 0 ) { x1 = (-b + Math.Sqrt(delta) ) / 2 / a ; x2 = (-b - Math.Sqrt(delta) ) / 2 / a ; Console.WriteLine(“ x1 = {0 } , x2 = {1} “, x1,x2); } }*Cấu trúc chọn lựa (tt)Ví dụ các cấu trúc if .. else lồng nhauMột số cách sử dụng phương thức Console.WriteLine Phối hợp trong 1 biểu thức dạng chuỗi Sử dụng tham sốSử dụng các hàm toán học với lớp Math (tra cứu trong System)*Cấu trúc chọn lựa (tt)Cú phápswitch (biểu thức) { case : lệnh ; break; case : lệnh ; break; ... default : lệnh ; break; }*Cấu trúc chọn lựa (tt)Các từ khóa switch, case, default, break phải viết ở dạng chữ thườngÝ nghĩa của default cũng tương tự như ý nghĩa else trong cấu trúc Case của ngôn ngữ PascalVới các giá trị có câu lệnh cần thực hiện  kết thúc bằng phát biểu breakKhông cần cặp dấu { và } *Cấu trúc chọn lựa (tt)switch (a%10) { case 1 : b = a>10 ? a+1 : a-1; break; case 2 : case 3 : case 4 : b= a + b; c = a - b ; if ((a + b ) > 20 ) { c++; a = a + 2; } break; default : Console.WriteLine(a+b-c); break;}- Liệt kê giá trị- Không cần dấu { và }- Cơ chế fall through*Cấu trúc chọn lựa (tt)Lưu ýTrong Pascal , ,, :Trong C# case : case : case :*Cấu trúc chọn lựa (tt)case 4 : b= a + b; c = a - b ; if ((a + b ) > 20 ) { c++; a = a + 2; } // break; default : Console.WriteLine(a+b-c); break;Thường mắc sai sót nhưng sẽ có thông báo lỗi!!!!*Cấu trúc chọn lựa (tt)Lưu ý : Cho phép sử dụng kiểu chuỗi (String) trong switch (ngoài các kiểu liệt kê, nguyên, ký tự, bool( Điễm mạnh!!!)using System;class Test{public static void Main() { String s = Console.ReadLine(); switch (s) { case "Thu Hai" : Console.WriteLine("Monday"); break; case "Thu Ba" : Console.WriteLine("Tuesday"); break; } }}*Cấu trúc lặpNhất quán : Đúng thì lặp, Sai thì thoátDạng forfor (;; ) ;Mô tảB1 : Thi hành biểu thức khởi độngB2 : Nếu biểu thức điều kiện Sai thì sang B6B3 : Thi hành lệnhB4 : Thi hành biểu thức lặpB5 : Quay về B2B6 : Thoát vòng lặp*Cấu trúc lặpThể hiện sơ đồ : 2 1for (;; ) ; 3 (Đ)456 (S)*Cấu trúc lặpLưu ý:for : chữ thườngCác thành phần cách nhau bằng ;Có thể bỏ bớt bất kỳ thành phần nàoVí dụ : Tính tổng N số nguyên đầu tiênChương trình ViDu1_11.cs*Cấu trúc lặpint S= 0;for (int i=1; iN) break ; S = S+ i ; i + + ; } Nên viết đầy đủ, đừng bỏ phần nào !!!*Cấu trúc lặpVòng lặp for giảm dầnSo sánh với PascalCác biến,biểu thức không nhất thiết phải là kiểu liệt kêBước tăng giảm không nhất thiết là 1*Cấu trúc lặpCấu trúc do .. whiledo{lệnh;}while (điều kiện);Lưu ý :Từ khóa do và while là chữ thườngDùng break và continue*Cấu trúc lặpCấu trúc do .. while do { lệnh; }while (điều kiện);SaiĐúngHay quên ( và ) !!!!!*Cấu trúc lặpfloat R=0;do { Console.Write(“Nhap ban kinh : “); string s=Console.ReadLine(); R=Single.Parse(s); if (R0)and(N0 và q là N (!p) V (!q) ==> (N10)do { .. } while ( (N10) );*Cấu trúc lặpHay đơn giản hơn !!! do { if (điều kiện tương tự trong Pascal) break; } while (true);do { . If (N>0&&N* để dịch các tập tin chương trình Ví dụ CSC vidu1_3.cs Sau khi dịch, có thể kiểm tra kết quả (tập tin exe) bằng lệnh DIRThử thi hành chương trình Ví dụ vidu1_3  : phím ENTER(Thực hiện tương tự với các tập tin ví dụ khác)*Vẫn mở cửa sổ dòng lệnh, mở thêm của sổ NotePad và bắt đầu viết, dịch,sửa lỗi và thi hành các chương trình sẽ viết (Lưu ý khi lưu lại tập tin chương trình :chọn Save/Save As, chọn folder lưu trữ là C:\ViDu, chọn Save As Type : All Files, và đặt tên phần mở rộng là CS)*Thử viết các chương trình trong bài tập đính kèmThử nghiệm các phương thức của Console liên quan đến con trỏ màn hình, màu sắc, âm thanh.*Tài Liệu Tham KhảoC# Language (MSDN) C# Online.NET C# Friends C# Specification ECMA-334 C# Language Specification (.pdf) ISO C# Language Specification (for purchase) Microsoft Visual C# .NET Borland's C# Builder for the Microsoft® .NET Framework SharpDevelop: Open Source C# IDE

Các file đính kèm theo tài liệu này:

  • pptltcs_bai3_hcktdh_8887.ppt
Tài liệu liên quan