intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Windows - Ngôn ngữ C

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PPT | Số trang:123

73
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình Windows - Ngôn ngữ C trình bày các nội dung: Cấu trúc chương trình C#, kiểu dữ liệu, từ khoá, định danh biến, hằng, chuyển đổi kiểu, console I/O, lệnh phân nhánh switch, lệnh nhảy,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Windows - Ngôn ngữ C

  1. Ngôn ngữ C#
  2. Content 1. Cấu trúc chương trình C# 2. Kiểu dữ liệu, từ khoá, định danh biến, hằng… 3. Chuyển đổi kiểu 4. Console I/O 5. Tham số ref, out, param 6. Lệnh phân nhánh switch, lệnh nhảy 7. Lệnh lặp for, while, do while, foreach 8. Mảng 1 chiều, đa chiều 9. Kiểu enumeration 2
  3. Cấu trúc chương trình C# using  …… namespace  namespace  {{ [Khóa truy xu [Khóa truy xuấất]  t] class   { {  public static void Main() public static void Main() { {  …… }} // thành viên khác … // thành viên khác … }} // l // lớớp khác … p khác … 3
  4. Cấu trúc chương trình C#  using: làm code gọn hơn, không cần phải dùng tên của namspace  using System.  namespace của chương trình: ko bắt buộc. Dùng để hạn chế phạm vi của một tên, làm cho tên này chỉ có ý nghĩa trong vùng đã định nghĩa.  Giả sử có một người nói Tùng là một kỹ sư, từ kỹ sư phải đi kèm với một lĩnh vực nhất định nào đó, vì nếu không thì chúng ta sẽ không biết được là anh ta là kỹ sư cầu đường, cơ khí hay phần mềm. Khi đó một lập trình viên C# sẽ bảo rằng Tùng là CauDuong.KySu phân biệt với CoKhi.KySu hay hanMem.KySu. Namespace trong trường hợp này là CauDuong, CoKhi, PhanMem sẽ hạn chế phạm vi của những từ theo sau. 4
  5. Cấu trúc chương trình C#  Nếu ko có namespace namespace mặc định ko tên  Namespace có thể chứa: struct, interface, delegate, enum  Trường hợp đơn giản nhất: 1 lớp, 1 file cs và namespace mặc định 5
  6. Cấu trúc chương trình C#  class: kiểu trong C# được định nghĩa là một lớp (class), và các thể hiện riêng của từng lớp được gọi là đối tượng (object). Tối thiểu có 1 lớp chứa hàm entry point Main của chương trình.  Phương thức chính là các hàm được định nghĩa trong lớp. Các phương thức này chỉ ra rằng các hành động mà lớp có thể làm được cùng với cách thức làm hành động đó. public static void Main(): đầu vào của lớp (entry point) và được CRL gọi đầu tiên khi thực thi. 6
  7. Data Type  Bao gồm  Lớp đối tượng object  ký tự char  Chuỗi string  Số nguyên có dấu sbyte, short, int, long  Số nguyên không dấu byte, ushort, uint, ulong  Số thực float, double, decimal  Kiểu logic bool  Alias của các lớp dữ liệu trong .NET  string System.String  int System.Int32  object System.Object 7
  8. Data Type  Sử dụng kiểu dữ liệu  Định nghĩa trước (C#)  Built-in : int, long, string, object…  Chương trình định nghĩa  Class, struct, enum…  Person, Student, Employee… Data Type Built-in Built-in User User defined defined 8
  9. The built­in value type Name CTS Type Size Range sbyte System.SByte 8 -128..127 short System.Int16 16 (-32768 .. 32767) int Sytem. Int32 32 -231..231-1 long Sytem. Int64 64 -263..263-1 byte System.SByte 8 0..255 ushort System.UInt16 16 (0 .. 65535) uint System.UInt32 32 0..232-1 ulong System.UInt64 64 0..264-1 float System.Single 32 xấp xỉ từ 3,4E - 38 đến 3,4E+38 double System.Double 64 1,7E-308 đến 1,7E+308 decimal System.Decimal 128 Có độ chính xác đến 28 con số bool System.Boolean Kiểu true/false char System.Char 16 Ký tự unicode 9
  10. The built­in reference type  object: Sytem.Object  Kiểu dữ liệu gốc, cha của tất cả các kiểu dữ liệu trong C#  object o = new object();  string: Sytem.String  Chuỗi ký tự Unicode  string s1 = “Hi”;  string s2 = “Hi Hi “;  string s = s1 + s2; 10
  11. The built­in reference type 11
  12. Phân loại kiểu dữ liệu Phân loại theo cách thức Data type lưu trữ dữ liệu Reference Reference Value Valuetype type type type int num; long count; Object obj = new Object(); String str = “reference type”; 12
  13. Value Type  Chứa giá trị trực tiếp  Không thể null int i = 59;  Phải chứa giá trị xác định double x = 7.83;  Bao gồm int a = i;  Primitive type  double, char, int, float  Enum i 59  struct x 7.83 a 59 13
  14. Reference type  Chỉ tới nơi chứa dữ liệu string s1 = "Hello";  Có thể null string s2 = "Bye";  null: không chỉ tới bất kỳ string s3; s3 = s1; đâu  Bao gồm  Lớp (class) s1 "Hello"  string, object  Giao diện (interface) s3  Mảng (array)  Đại diện (delegate) s2 "Bye" 14
  15. Value type vs. Reference type Characteristic Value type Reference type Variable hold Value Reference Allocated Stack Heap Default Zero Null Parameter Copy value Copy reference 15
  16. identifier  Định danh: những từ được đặt ra để đại diện cho mọi thứ dùng trong chương trình  Khi đặt định danh: nên có tính gợi nhớ  Tạo ra định danh mới  HelloWorld, Program, Perform,…   phải khai báo trước khi sử dụng  Dùng định danh có sẵn  Console, WriteLine, ReadLine,…   phải chỉ ra nơi chứa định danh (namespace) 16
  17. Identifier  Bao gồm chữ cái, chữ số, ký tự gạch dưới  Không được bắt đầu bằng chữ số  Chuong_Trinh, x25, z, _abc, XửLý  hợp lệ  2abc, Chuong­Trinh, Xu Ly, class  không hợp lệ  Phân biệt CHỮ HOA và chữ thường  ChuongTrinh và chuongtrinh là khác nhau  Các định danh được khai báo trong cùng phạm vi  (scope) không được trùng nhau  Phải khác với từ khóa (dùng “@” khắc phục) 17
  18. Keyword Các từ khóa trong C# 2005 abstract const extern in operator sbyte throw virtual as continue false int out sealed true void base decimal finally interface override set try volatile bool default fixed internal params short typeof where break delegate float is partial sizeof uint while byte do for lock private stackalloc ulong yield case double foreach long protected static unchecked catch else get namespace public string unsafe char enum goto new readonly struct ushort checked event if null ref switch using class explicit implicit object return this value 18
  19. Constant  Một hằng là một biến nhưng trị không thay đổi const int a = 100; // giá trị ko thể thay đổi  Hằng bắt buộc phải được gán giá trị lúc khai báo  Trị của hằng có thể được tính toán vào lúc biên dịch  Hằng bao giờ cũng static 19
  20. Constant  Ưu điểm  Chương trình dễ đọc, khắc phục những con số “magic number” trong code.  Chương trình dễ sửa hơn.  Tránh lỗi dễ dàng hơn, trình biên dịch sẽ báo lỗi nếu gán lại giá trị cho hằng 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2