Chuyển đến nội dung chính

Tự học lập trình C

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 đó.

 



source https://techacadamy.com/tu-hoc-lap-trinh-c/

Nhận xét

Bài đăng phổ biến từ blog này

Bài 2: Chương trình Java đầu tiên ?

Trong bài học này chúng ta sẽ viết một chương trình in ra màn hình dòng chữ “Hello World” – bài học nhập môn đối hầu hết các ngôn ngữ lập trình. Đầu tiên chúng ta sẽ tiến hành viết mã và biên dịch thủ công để hiểu cơ chế sau đó sẽ chuyển sang dùng Netbeans IDE để chạy chương trình. Bước 1 : Thiết lập môi trường Để viết chương trình Java đầu tiên bạn sẽ cần đến: Java SE Development Kit 8 (JDK 8) Bạn có thể tải về phiên bản Windows tại đây . (Hãy chắc chắn rằng bạn tải về là JDK chứ  không phải là JRE nhé). Một trình soạn thảo văn bản (text editor): bạn có thể sử dụng notepad hoặc notepad++. Bước 2 : Bạn mở Notepad trong Windows lên và gõ đoạn code sau vào: class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } } Ứng dụng này chỉ đơn giản in ra màn hình dòng chữ Hello World. Lưu lại đoạn code trên với tên file là HelloWorldApp.java Trong ví dụ trên chúng ta thấy cách ...

Bài 7: khai báo mảng trong java

Mảng là tập hợp nhiều phần tử có cùng tên, cùng kiểu dữ liệu và mỗi phần tử trong mảng được truy xuất thông qua chỉ số của nó trong mảng. Chúng ta sử dụng mảng trong trường hợp muốn lưu trữ nhiều biến tương tự nhau chẳng hạn như danh sách các sinh viên trong một lớp. Cách khai báo mảng: <kiểu dữ liệu> <tên mảng>[]; hoặc <kiểu dữ liệu>[] <tên mảng>; Ví dụ: String danhSachSinhVien[]; hoặc String[] danhSachSinhVien; Khai báo cùng lúc nhiều mảng có kiểu dữ liệu giống nhau. int[] mang1, mang2, mang3; Khởi tạo mảng Không giống như trong C, C++ kích thước mảng trong Java được xác định khi khai báo. Để cấp phát bộ nhớ hay nói cách khác là kích thước cho mảng trong Java chúng ta cần dùng từ khóa  new . Chẳng hạn để cấp phát vùng nhớ cho mảng gồm 10 số thực trong Java chúng ta khai báo như sau: double mangSoThuc = new double[10]; Chúng ta có thể khởi tạo giá trị ban đầu cho các phần tử của mảng khi nó được khai báo. Ví dụ: int mangSoNguyen[] = {1, 2...

Bài 3: Hướng dẫn sử dụng Netbeans trong lập trình Java

Trong bài học này chúng ta sẽ học cách sử dụng Netbeans IDE thông qua ví dụ ở bài số 2. Bạn có thể cài đặt Netbeans theo 2 cách: download JDK tích hợp Netbeans vài cài 1 lần (phiên bản Netbeans này chỉ hỗ trợ ngôn ngữ Java) hoặc download JDK riêng rồi sau đó chọn lựa phiên bản Netbeans phù hợp (có thể sử dụng để lập trình HTML5 & PHP, C/C++…). Trong trường hợp này tôi chọn cách thứ nhất. Chúng ta tiến hành làm theo trình tự sau: Bước 1: Download Netbeans tại:   http://www.oracle.com/technetwork/java/javase/downloads/index.html . Bạn nhớ chọn Netbeans With JDK. Bước 2: Tiến hành cài đặt chương trình như các chương trình thông thường khác. Bước 3: Mở Netbeans sau đó chọn File -> New Project Bước 4: Chọn Java Application Bước 5: Điền tên Project Name và chọn đường dẫn lưu ứng dụng. Lưu ý là tên class main phải trùng với tên class chúng ta khai báo trong mã nguồn. Bước 6: Xóa hết mã có sẵn trong class HelloWorldApp và chèn đoạn mã trong ví dụ ở  bài số 2 ...