Hiện nay, ngôn ngữ lập trình C là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. Đồng thời nhân sự lập trình lập trình viên C là vô cùng khan hiếm, vì thế mức lương của lập trình C là rất cao so với những ngôn ngữ lập trình khác. Tuy nhiên, nhiều sinh viên khá bối rối trong việc tự học lập trình C. Vậy tự học lập trình C thế nào là tốt và hiệu quả nhất ?
I. Tự học ngôn ngữ lập trình C có khó không ?
Khi bắt đầu học một lĩnh vực nào đó chúng ta đều vấp phải những khó khăn nhất định. Học ngôn ngữ lập trình nói chung và học lập trình sử dụng ngôn ngữ C nói riêng đều có những khó khăn đặc trưng.
Khi mới bắt đầu làm quen với ngôn ngữ C sẽ thấy rất thú vị. Tuy nhiên, vì lần đầu tiếp xúc sẽ thấy rất khó hiểu về cấu trúc của ngôn ngữ lập trình, không biết nên bắt đầu từ đâu. Vì thế, nhiều bạn không quen hoặc mới bắt đầu học sẽ thấy việc tự học lập lập trình C rất khó.
Có một lời khuyên dành cho các bạn khi bắt đầu làm quen với bất cứ ngôn ngữ lập trình nào, đó là: Hãy tự mình làm tất cả các bài tập mà bạn có, dù nó dễ đến mức nào đi nữa, chỉ khi bạn viết được đúng chương trình thì mới chứng tỏ là nó dễ.
Theo con số thống kê cho thấy, tại các trường đại học về công nghệ thông tin có hơn 50% các bạn chưa qua kỳ thi lần I cuối kỳ môn C. Vì thế, khi xác định tự học lập trình C bạn nên tập trung tối đa và việc học, thực hành thường xuyên để làm quen cú pháp và tư duy trong lập trình C
II. Lộ trình tự học lập trình C
Để học lập trình C nhanh và hiệu quả nhất. Dưới đây là lộ trình học ngôn ngữ lập trình C cho người mới bắt đầu:
Phần 1. Giới thiệu về ngôn ngữ lập trình C
Bài 1. Giới thiệu khóa học (chính là bài này)
Bài 2. Cài đặt môi trường lập trình C
Bài 3. Biên dịch code C sử dụng g++
Bài 4. Biến và hằng trong C
Bài 5. Các kiểu dữ liệu trong C
Bài 6. Hiện tượng tràn số trong C
Bài 7. Nhập xuất trong C
Bài 8 – 10. Toán tử trong C
Bài 11. Bài tập In ra mã ASCII của ký tự nhập từ bàn phím
Bài 12. Bài tập hoán vị 2 số nguyên
Phần 2. Cấu trúc điều khiển & rẽ nhánh
Bài 13. Cấu trúc điều khiển if else
Bài 14. Bài tập xếp loại học sinh
Bài 15. Bài tập tìm số lớn nhất trong 3 số a, b, c
Bài 16. Vòng lặp for trong C
Bài 17. Bài tập tính tổng các số chẵn trong đoạn [a, b]
Bài 18. Bài tập in ra các số nguyên tố nhỏ hơn 1000
Bài 19. Vòng lặp while và do … while
Bài 20. Sự linh hoạt trong sử dụng vòng lặp
Bài 21. Lệnh break và continue
Bài 22. Cấu trúc điều khiển switch case
Bài 23. Bài tập phân tích thừa số nguyên tố
Bài 24. Bài tập tìm số đảo ngược
Bài 25. Bài tập tìm BCNN của 2 số
Phần 3. Hàm trong C
Bài 26. Một số hàm trong thư viện toán học math.h
Bài 27. Hàm người dùng định nghĩa – BT xây dựng máy tính bỏ túi
Bài 28. Hàm trả về giá trị – BT tìm min max của 3 số
Bài 29. Hàm không trả về giá trị
Bài 30. Hàm đệ quy
Bài 31. Bài tập đảo ngược số sử dụng hàm
Bài 32. Phạm vi của biến
Bài 33. Tham trị và tham chiếu
Bài 34. Lệnh return và exit
Bài 35. Bài tập kiểm tra số armstrong
Bài 36. Bài tập đảo in ngược chuỗi dùng đệ quy
Bài 37. Bài tập đổi số nhị phân sang thập phân và ngược lại
Bài 38. Bài tập chuyển số thập phân sang bát phân và ngược lại
Bài 39. Bài tập tính giai thừa của số n nhập từ bàn phím
Bài 40. Bài tập tìm số Fibonacci thứ n nhập từ bàn phím
Phần 4. Mảng trong C
Bài 41. Nhập xuất mảng 1 chiều trong C
Bài 42. Bài tập tính tổng các số lẻ trong mảng 1 chiều
Bài 43. Bài tập tìm số lớn nhất, nhỏ nhất trong mảng 1 chiều
Bài 44. Bài tập tìm vị trí của số lớn nhất trong mảng 1 chiều
Bài 45. Bài tập sắp xếp mảng 1 chiều tăng, giảm dần
Bài 46. Bài tập liệt kê các số nguyên tố trong mảng 1 chiều
Bài 47. Thuật toán sắp xếp nổi bọt – Bubble sort
Bài 48. Thuật toán sắp xếp chọn – Selection sort
Bài 49. Thuật toán sắp xếp chèn – Insertion sort
Bài 50. Thuật toán tìm kiếm nhị phân
Bài 51. Bài tập tìm số lớn thứ 2 ở trong mảng 1 chiều
Bài 52. Thêm, xóa phần tử trong mảng 1 chiều
Bài 53. Bài tập mảng 1 chiều có lời giải tổng hợp
Bài 54. Nhập xuất mảng 2 chiều
Bài 55. Tuyển tập bài tập mảng 2 chiều có lời giải
Phần 5. Chuỗi trong C
Bài 56. Nhập xuất chuỗi trong C
Bài 57. Các hàm trong thư viện string.h
Bài 58. Đảo ngược chuỗi trong C
Bài 59. Chuyển chuỗi sang số nguyên trong C
Bài 60. Chuyển số nguyên sang chuỗi trong C
Bài 61. Bài tập đếm số từ của chuỗi trong C
Bài 62. Tuyển tập bài tập chuỗi trong C có lời giải
Phần 6. Con trỏ trong C
Bài 63. Con trỏ trong C
Bài 64. Mối liên hệ giữa con trỏ và mảng trong C
Bài 65. Con trỏ và hàm trong C
Bài 66. Cấp phát bộ nhớ động trong C
Bài 67. Cấp phát động mảng 2 chiều trong C
Đọc thêm tài liệu tham khảo: Tìm hiểu bản chất của con trỏ – từ cơ bản đến nâng cao
Phần 7. Kiểu struct trong C
Bài 68. Struct trong C
Bài 69. Bài tập quản lý sinh viên sử dụng struct
Phần 8. Đọc ghi file trong C
Bài 70. Đọc ghi file trong C
Phần 9. Các bài học bổ sung
Hướng dẫn debug trên Visual Studio Code
Phần 10. Kết thúc khóa học
Đồ án 1. Hướng dẫn làm game rắn săn mồi trong C
III. Cách tự học lập trình C hiệu quả
Để tự học lập trình C bạn cần có phương pháp học hiệu quả, dưới đây là một số lời khuyên khi tự học lập trình C
1, Không nên code quá nhanh mà phải làm cho nó đúng trước khi tiếp tục.
Khi tham gia học lập trình C, luôn có một vài sinh viên tham gia lớp học biết một chút về lập trình. Chắc chắn, một số trong những sinh viên này làm rất tốt trong vài tuần đầu tiên từ khi khóa học diễn ra. Tuy nhiên họ đi quá nhanh qua phần giới thiệu của khóa học, nghĩ rằng họ biết tất cả – nhưng họ hiếm khi làm. Họ biết một số tài liệu, nhưng không đủ để nắm vững các nguyên tắc cơ bản.
Vì vậy một lời khuyên dành cho bạn đó là bạn không nên đi quá chậm cũng như quá nhanh. Nhưng khi bạn bắt đầu học bất cứ một chủ đề nào thì bạn cần phải nắm vững mọi thứ trong đó, đối mặt với những ý tưởng khó khăn hơn, bạn sẽ giúp bạn nắm bắt được những điều cơ bản.
2. Xem mã ví dụ
Không giống như các môn học khác chỉ cần đọc mà việc học lập trình là về mã. Khi lần đầu tiên học lập trình, bạn nên chắc chắn xem xét và cố gắng hiểu mọi ví dụ. Khi tôi lần đầu tiên học lập trình, tôi sẽ đọc các ví dụ mã trước văn bản và cố gắng tìm ra những gì họ đã làm. Nó không phải lúc nào cũng hiệu quả, nhưng nó đã buộc tôi phải xem xét ví dụ một cách cẩn thận, và nó thường giúp cho việc ghi lại rõ ràng hơn.
Nếu bạn muốn xem mã mẫu nào, bạn có thể đọc hướng dẫn lập trình giới thiệu của trang web này. Bạn có thể tìm hiểu về các kỹ thuật lập trình C tại website chính thức của Devpro Việt Nam.
3. Không chỉ đọc mã ví dụ mà bạn cần thực hành nó
Khi bạn đang đọc một hướng dẫn lập trình (hoặc cuốn sách ), thật dễ dàng để nhìn vào mã mẫu và nói “Tôi hiểu rồi, tôi hiểu, điều đó có ý nghĩa”. Tất nhiên, bạn có thể hiểu được nó, nhưng bạn có thể không nhớ được nó. Chỉ có một cách để nhớ đó là tiến hành thực hành ngay khi đọc được một mã nào đó.
Trình biên dịch Code :: Blocks là trình biên dịch phù hợp với lập trình C mà bất cứ ai học C đều cần cài đặt trên máy của mình. Sau đó, nhập mã mẫu vào trình biên dịch – nếu bạn nhập nó, thay vì sao chép và dán nó, bạn sẽ thực sự buộc mình phải trải qua mọi thứ ở đó và nhớ nó dễ dàng hơn. Gõ mã sẽ buộc bạn phải chú ý đến các chi tiết của cú pháp của ngôn ngữ – những thứ giống như những dấu chấm phẩy sau mỗi dòng.
4. Viết mã riêng của bạn càng sớm càng tốt
Một khi bạn hiểu một điều gì đó về ngôn ngữ lập trình C hoặc thậm chí nếu bạn vẫn đang bắt đầu xung quanh nó, hãy bắt đầu viết các chương trình mẫu sử dụng nó. Đôi khi thật khó để tìm thấy những ý tưởng tốt cho những chương trình để viết nhưng hãy thử bắt tay vào thực hiện nó.
Bạn cũng có thể reimplement các ví dụ từ cuốn sách hoặc hướng dẫn bạn đang đọc. Cố gắng làm như vậy mà không cần nhìn lại mã mẫu, nó sẽ không được dễ dàng như tưởng tượng của bạn nhưng nó sẽ giúp ích cho bạn rất nhiều trong công việc sau này.
Nếu bạn không thể nghĩ ra một chương trình lớn để viết, thì bạn có thể bắt đầu với một chương trình nhỏ giống như một trò chơi, bạn có thể bắt đầu xây dựng những phần nhỏ mà sau này bạn có thể sử dụng cho một trò chơi. Cho dù bạn sử dụng chúng sau này hay không, bạn sẽ nhận được cùng một trải nghiệm hữu ích.
5. Tìm hiểu cách sử dụng Debugger (Trình gỡ lỗi)
Một điều cần lưu ý khi bạn học bất cứ một ngôn ngữ lập trình nào đó là bạn cần một trình gỡ dối tốt, nó sẽ hỗ trợ bạn rất nhiều trong quá trình học lập trình. Bước đầu tiên để làm như vậy là tìm hiểu cách sử dụng một công cụ được gọi là trình gỡ lỗi, cho phép duyệt qua mã của bạn.
Trình gỡ lỗi sẽ cho phép bạn xếp hàng từng dòng thông qua một đoạn mã. Nó sẽ cho phép bạn xem các giá trị của các biến, và liệu mã bên trong câu lệnh if có được thi hành hay không. Trình gỡ rối có thể giúp bạn trả lời nhanh các câu hỏi về mã của bạn đang làm gì.
Tôi thường thấy sinh viên không muốn sử dụng trình gỡ lỗi. Những sinh viên này thực sự làm cho việc lập trình trở nên khó khăn, mất thời gian để tìm những lỗi rất đơn giản. Hãy bắt đầu tìm hiểu về trình gỡ lỗi ngay hôm nay.
6. Tìm hiểu thêm về ngôn ngữ C qua các phương tiện khác nhau.
Internet chứa đầy thông tin về lập trình và một số giải thích hoạt động code khá tốt phù hợp cho nhiều đối tượng khác nhau. Ngoài ra còn có rất nhiều sách hay với các giải thích chi tiết mà các bạn có thể tìm hiểu để học lập trình C.
Nhưng nếu điều đó không hiệu quả, cách dễ nhất để tìm ra giải pháp đó là hỏi người khác. Bạn có thể nhận được một liên kết quay lại cùng một văn bản mà bạn không hiểu. Thay vào đó, hãy nói lại sự hiểu biết của bạn về văn bản trong lời đó để cung cấp kiến thức lại cho những người khác. Càng nhiều câu hỏi của bạn tiết lộ về những gì bạn đang suy nghĩ, thì càng dễ dàng cho một chuyên gia am hiểu có thể trả lời câu hỏi đó.
1 / 5 - (1 Đánh Giá)