PRF192 - Phần 4: Mô-đun hoá và hàm
Ứng với CLO4, buổi 16 đến 27 và là phần trọng số lớn nhất trong đề thi cuối kỳ. Nửa đầu bàn về mô-đun: mô-đun là gì, vì sao phải chia nhỏ chương trình, đặc điểm của một mô-đun tốt với tính kết dính cao và ghép nối lỏng, mỗi mô-đun chỉ làm một việc, cùng các nguyên tắc định nghĩa mô-đun khi phân tích một bài toán thực tế. Nửa sau hiện thực hoá mô-đun bằng hàm trong C: định nghĩa hàm với kiểu trả về, tên và danh sách tham số; nguyên mẫu hàm và lý do phải khai báo trước khi dùng; cách gọi hàm và nhận giá trị trả về; truyền tham số theo giá trị cùng hệ quả là hàm không sửa được biến của lời gọi; phân biệt hàm thư viện với hàm tự viết; phạm vi và thời gian sống của biến cục bộ, toàn cục và static.
Chưa có bài thi nào cho chủ đề này.
Chủ đề liên quan
PRF192 - Cơ sở lập trìnhPRF192 - Phần 1: Máy tính, phần mềm và chương trình C đầu tiên
Ứng với CLO1, buổi 1 đến 3. Phần mở đầu trả lời câu hỏi nền tảng: một chương trình là gì và nó chạy trên máy tính như thế nào. Nội dung gồm khái niệm cơ bản về hệ thống máy tính với phần cứng, phần mềm, bộ nhớ và bộ xử lý; các bước phát triển một phần mềm từ phân tích bài toán, thiết kế thuật toán, viết mã, kiểm thử tới bảo trì; và cách chuyển một bài toán thực tế thành thuật toán rồi thành mã nguồn. Phần thứ hai đi vào cấu trúc một chương trình C đơn giản: chỉ thị tiền xử lý #include và vai trò của nó, hàm main làm điểm bắt đầu thực thi, dấu chấm phẩy kết thúc câu lệnh, cặp ngoặc nhọn gom khối, cách viết chú thích. Khép lại bằng quy trình mã nguồn - biên dịch - liên kết - thực thi và cách dùng trình biên dịch C trong môi trường DevC++.
PRF192 - Phần 2: Biến, kiểu dữ liệu, toán tử và biểu thức
Ứng với CLO2, buổi 4 đến 8. Phần này xây dựng bộ công cụ tính toán cơ bản của C. Nội dung bắt đầu từ khai báo biến và hằng, quy tắc đặt tên định danh, hai cách tạo hằng bằng const và bằng #define; rồi tới kiểu dữ liệu với int, float, double, char cùng các biến thể unsigned và long, kích thước ô nhớ và miền giá trị của từng kiểu, cùng thao tác bộ nhớ cơ bản khi một biến được cấp phát. Phần nhập xuất giới thiệu scanf và printf với các đặc tả định dạng %d, %f, %c, %s. Phần biểu thức trình bày toán tử số học kèm bẫy phép chia nguyên và phép chia lấy dư, toán tử quan hệ, toán tử logic, toán tử trên bit, toán tử gán rút gọn và toán tử tăng giảm, rồi khép lại bằng trộn kiểu dữ liệu, ép kiểu và thứ tự ưu tiên.
PRF192 - Phần 3: Cấu trúc điều khiển - rẽ nhánh và vòng lặp
Ứng với CLO3, buổi 9 và 10. Phần này dạy cách điều khiển luồng thực thi của chương trình. Nhánh rẽ gồm câu lệnh if, if-else, if lồng nhau và thang else-if để xử lý nhiều điều kiện, cùng switch-case với vai trò bắt buộc của break và nhánh default, kèm những giới hạn khiến switch không thay thế được if trong mọi tình huống. Nhánh lặp gồm ba dạng for, while và do-while, tiêu chí chọn dạng phù hợp, biến đếm và điều kiện dừng, khác biệt cốt lõi giữa while kiểm tra trước và do-while kiểm tra sau nên luôn chạy ít nhất một lần, hai lệnh break và continue, cùng vòng lặp lồng nhau. Phần cuối bàn về phong cách lập trình: thụt lề nhất quán, đặt tên có nghĩa, viết chú thích và tránh lồng quá sâu.
PRF192 - Phần 5: Con trỏ
Ứng với CLO5, buổi 28 đến 31. Phần này giới thiệu con trỏ là biến lưu địa chỉ của một biến khác, cùng những tình huống bắt buộc phải dùng tới nó. Nội dung gồm cú pháp khai báo con trỏ theo kiểu dữ liệu trỏ tới, hai toán tử cốt lõi là lấy địa chỉ và truy xuất giá trị tại địa chỉ, số học con trỏ và ý nghĩa của việc cộng trừ theo kích thước kiểu, con trỏ NULL cùng nguy cơ truy xuất con trỏ chưa khởi tạo. Trọng tâm ứng dụng là truyền con trỏ làm tham số hàm để đạt hiệu ứng truyền theo tham chiếu, nhờ đó hàm sửa được biến của lời gọi, minh hoạ kinh điển bằng hàm hoán đổi hai giá trị. Phần cuối là dữ liệu cấp phát động với malloc, calloc, realloc và free, kèm rủi ro rò rỉ bộ nhớ khi quên giải phóng.