Bài giảng ngôn ngữ C# - Bài 2: Căn bản trong ngôn ngữ C# giúp người học mô tả được cách khai báo biến; phạm vi của biến và cấp độ truy cập; các lệnh trong C#; mô tả điều khiển thực hiện chương trình C#; cấu trúc của một chương trình C#; xây dựng một chương trình đơn giản sử dụng C#.
BÀI CĂN BẢN TRONG NGÔN NGỮ C# GV Chử Đức Hồng TÌNH HUỐNG DẪN NHẬP Như phân tích trước, việc quản lý học viên trường đại học quốc gia liên quan đến nhiều vấn đề như: điểm thi, tên, tuổi,… Máy tính khơng tự nhận thức thông tin quản lý thực mà phải biểu diễn, mã hóa để xử lý thông tin Những thông tin học viên trường đại học quốc gia biểu diến thực ngôn ngữ C#? MỤC TIÊU Mô tả cách khai báo biến Trình bày phạm vi biến cấp độ truy cập Các lệnh C# Mô tả điều khiển thực chương trình C# Trình bày cấu trúc chương trình C# Xây dựng chương trình đơn giản sử dụng C# NỘI DUNG Các từ khóa Các kiểu liệu Biến, Toán tử Cấu trúc chương trình lệnh C# 1.1 CÁC TỪ KHĨA • Ngơn ngữ C# cung cấp sẵn khoảng 80 từ khóa Ví dụ: abtract, class, using, namespace, break, continue, as, do, event, is, in, new, true, if, else, float, char, finally, protected, return, string, default, for, while,… • Trong cửa sổ mã nguồn, mặc định từ khóa có màu xanh da trời 1.2 CÁC KIỂU DỮ LIỆU CƠ BẢN • Mỗi kiểu liệu xây dựng sẵn C# ánh xạ đến kiểu liệu hỗ trợ CLS NET • Theo nguồn gốc: Kiểu liệu dựng sẵn (built-in) hay bản: ngôn ngữ cung cấp; Kiểu liệu người dùng định nghĩa (user-defined): người lập trình xây dựng • Hoặc theo cách thức lưu nhớ: Kiểu liệu giá trị (value): Lưu kích thước thật stack; Kiểu liệu tham chiếu (reference): Lưu địa stack đối tượng thật lưu heap • Có loại kiểu liệu như: Số nguyên, logic, số thập phân, số thực ký tự 1.2 CÁC KIỂU DỮ LIỆU CƠ BẢN (tiếp theo) Kiểu liệu số nguyên Ngôn ngữ C# cung cấp kiểu liệu số nguyên: Chọn kiểu liệu: ulong sohieusv; Sbyte diemthivaotruong; short hocphanthilai; ulong tienhocphi; 1.2 CÁC KIỂU DỮ LIỆU CƠ BẢN (tiếp theo) Kiểu liệu số thực số thập phân Số thực Thập phân Chọn kiểu liệu: Float diemthimon; 1.2 CÁC KIỂU DỮ LIỆU CƠ BẢN (tiếp theo) Kiểu liệu logic kí tự Logic Kí tự Chọn kiểu liệu: char tensv; char quequan; Chuyển kiểu liệu • Trong C# cho phép thực chuyển đổi số kiểu liệu • Có hai cách để thực việc chuyển đổi kiểu liệu: Chuyển đổi kiểu tự động; Chuyển đổi kiểu tường minh • Ví dụ: Chọn kiểu liệu: char tensv; char quequan; PROPERTIES On passing, 'Finish' button: On failing, 'Finish' button: Allow user to leave quiz: User may view slides after quiz: User may attempt quiz: Goes to Next Slide Goes to Next Slide At any time At any time Unlimited times PROPERTIES On passing, 'Finish' button: On failing, 'Finish' button: Allow user to leave quiz: User may view slides after quiz: User may attempt quiz: Goes to Next Slide Goes to Next Slide At any time At any time Unlimited times 1.5 BIỂU THỨC • Biểu thức câu lệnh thực việc đánh giá giá trị Ví dụ: 37 int diemvaotruong1 = diemvaotruong2 = 20; 38 diem1 = 2*diem2; • Những dấu tab, space dòng cách gọi khoảng trắng C# bỏ qua khoảng trắng trừ khoảng trắng chuỗi ký tự Ví dụ: hai lệnh sau nhau: 39 int diemthi = 2; 40 int diemthi=2; Tuy nhiên hai lệnh sau lại khác nhau: 41 char tensv = “123 456”; 42 char tensv = “123456”; 24 1.5.1 CÂU LỆNH • Một dẫn lập trình đầy đủ thực cơng việc kết thúc dấu “;” Câu lệnh đặt thân phương thức • Ví dụ: 43 int • diemthi; 44 diemthi = + 2; Câu lệnh có nhiều loại: Câu lệnh đơn giản Câu lệnh có cấu trúc Các câu lệnh đơn giản • Một chương trình bao gồm nhiều câu lệnh Với chương trình đoạn chương trình bao gồm câu lệnh không phân nhánh đơn giản lệnh gán, lệnh vào/ra trình biên dịch thực câu lệnh theo thứ tự từ lệnh lệnh cuối • Ví dụ: 45 Char 46 47 tensv = “Nguyễn thị Thu”; tensv = console.read(); console.writeline(tensv); 25 1.5.1 CÂU LỆNH (tiếp theo) Lệnh phân nhánh không điều kiện hàm • Thực phân nhánh khơng điều kiện cách gọi hàm hàm • Ví dụ: 48 Static void hienthitensv() 49 { 50 console.writeline(“Sinh viên học bổng kỳ là:”); 51 timsv(); 52 … 53 } 54 Static void timsv() 55 { 56 … 57 } 26 1.5.1 CÂU LỆNH (tiếp theo) Lệnh phân nhánh khơng điều kiện từ khóa • Dùng từ khóa: goto, break, continue, return, statementthrow • Ví dụ: 58 Static void hienthitensv() 59 { 60 console.writeline(“Sinh viên học bổng kỳ là:”); 61 … 62 goto 63 … Timsv 64 Timsv: 65 … 66 } 27 1.5.1 CÂU LỆNH ( tiếp theo) Lệnh phân nhánh có điều kiện • Phân nhánh có điều kiện thực cách sử dụng lệnh điều kiện Sự phân nhánh thực biểu thức điều kiện phân nhánh xác định Các từ khóa lệnh như: if, switch • Lệnh: if: if (biểu thức điều kiện) else • Ví dụ: 67 if (tongdiemthi > 20) 68 69 70 console.writeline(“Sinh vien co trung tuyen”); else console.writeline(“Sinh vien khong trung tuyen”); 28 1.5.1 CÂU LỆNH ( tiếp theo) Lệnh phân nhánh có điều kiện Lệnh switch: switch (biểu thức điều kiện) { case : [default: ] } Ví dụ: • Switch diemhocky • • { Case 7.0: • • console.writeline(“Hoc bong loai 1”); break; • • Case 8.0: console.writeline(“Hoc bong loai 2”); • • break; Case 9.0: • • • • console.writeline(“Hoc bong loai 3”); break; • Default: console.writeline(“Khong bong”); break; • } duoc hoc 29 1.5.1 CÂU LỆNH ( tiếp theo) Lệnh lặp • Vịng lặp for: for ([ phần khởi tạo] ; [biểu thức điều kiện]; [bước lặp]) • Vịng lặp while: while (Biểu thức) • Vịng lặp while: while ( điều kiện ) • Câu lệnh lặp foreach: foreach ( in < tên tập hợp>) 30 1.5.1 CÂU LỆNH ( tiếp theo) Lệnh nhảy • Break sử dụng đưa chương trình khỏi vịng lặp tiếp tục thực lệnh tiếp sau vịng lặp • Continue ngừng thực cơng việc cịn lại vòng lặp thời quay đầu vòng lặp để thực bước lặp • Hai lệnh break continue tạo nhiều điểm thoát làm cho chương trình khó hiểu khó trì Do phải cẩn trọng sử dụng lệnh nhảy 31 1.6 CÁC KHƠNG GIAN • Namespace dùng để tránh xung đột trùng tên namespace coi tập hợp lớp đối tượng cung cấp định danh cho kiểu liệu đặt cấu trúc phân cấp • Khai báo sử dụng namespace chương trình: using < Tên namespace > • Để tạo namespace dùng cú pháp sau: namespace { < Định nghĩa lớp A> < Định nghĩa lớp B > } 32 PROPERTIES On passing, 'Finish' button: On failing, 'Finish' button: Allow user to leave quiz: User may view slides after quiz: User may attempt quiz: Goes to Next Slide Goes to Next Slide At any time At any time Unlimited times TĨM LƯỢC CUỐI BÀI • Nắm cách khai báo biến C# • Nắm kiểu liệu ánh xạ với kiểu liệu NET • Nắm tốn tử cách hoạt động phép tốn C# • Cấu trúc cách hoạt động loại câu lệnh đơn giản câu lệnh rẽ nhánh, lệnh lặp C# • Khái niệm namespace cách thức tổ chức chương trình C# đơn giản 34 PROPERTIES On passing, 'Finish' button: On failing, 'Finish' button: Allow user to leave quiz: User may view slides after quiz: User may attempt quiz: Goes to Next Slide Goes to Next Slide At any time At any time Unlimited times PROPERTIES Allow user to leave interaction: Show ‘Next Slide’ Button: Completion Button Label: Anytime Don't show Next Slide PROPERTIES Allow user to leave interaction: Show ‘Next Slide’ Button: Completion Button Label: Anytime Don't show Next Slide ... dụ: 27 diemtb1 = 10; diemtb2 = 12 28 Phép toán Kết 29 diemtb1 = = diemtb2; false 30 diemtb1 != diemtb2; true 31 Diemtb1 > diemtb2 false 32 Diemtb1 >=10; 33 Diemtb1 < diemtb2; 34 Diemtb1diemsv2:diemcaonhat=diemsv1?diemcaonhat=diemsv2; • Giải thích: Biểu thức diemsv1>diemsv2 sai Thực biểu thức: diemcaonhat = diemsv2 Kết quả: diemcaonhat=9