Tổng hợp tài liệu lập trình C/C++ cho người mới

0
1321

Bạn đang bắt đầu học lập trình C/C++ và đang tìm kiếm tài liệu học tập? Bài viết này sẽ cung cấp cho bạn các tài liệu lập trình C/C++ miễn phí chất lượng nhất. Bên cạnh đó, bài viết cũng sẽ gợi ý cho bạn các giáo trình C/C++ (dành cho các bạn thích học qua sách) cũng như các khóa học lập trình C/C++ chất lượng & miễn phí.

Ngôn ngữ C và C++

Một số website cung cấp tài liệu học C/C++ không phân biệt giữa C và C++ dễ làm các bạn hoang mang. Trong bài này, mình sẽ chia rạch ròi tài liệu ngôn ngữ C và tài liệu lập trình C++ cũng như các đánh giá của cá nhân mình để bạn có thể lựa chọn ra tài liệu học tập tốt nhất cho bản thân.

C++ là ngôn ngữ được phát triển kế thừa từ ngôn ngữ C. Do đó, có những khác biệt nhất định giữa 2 ngôn ngữ này:

  • C là ngôn ngữ lập trình hướng thủ tục, trong khi C++ là ngôn ngữ lập trình hướng đối tượng.
  • C chỉ hỗ trợ con trỏ, trong khi C++ hỗ trợ cả con trỏ và tham chiếu.
  • C không có nạp chồng hàm (function overloading), trong khi C++ hỗ trợ tính năng này.
  • C sử dụng nhập (scanf), xuất (printf) trong khi C++ sử dụng cin và cout dễ dùng hơn.
  • C không có kiểu (string, bool) trong khi C++ có 2 kiểu dữ liệu này.

Để tìm hiểu sự khác nhau chi tiết & đầy đủ giữa C và C++. Bạn có thể tìm hiểu tại bài viết sau:

Lưu ý:

- Bài viết liên quan dành cho bạn -
  • Các tài liệu lập trình C/C++ dưới đây không có thứ hạng. Việc đánh giá tài liệu nào hay hơn, phù hợp hơn với người học là lựa chọn của bạn nhé.
  • Các tài liệu lập trình C/C++ sẽ được bổ sung thường xuyên, đừng quên bookmark để lưu lại khi cần bạn nhé.
  • Tham gia nhóm Lập Trình Không Khó trên Facebook để cùng nhau học tập bạn nhé.

Tài liệu lập trình C

Mục này sẽ cung cấp cho bạn các tài liệu lập trình C. Nếu bạn đang tìm kiếm tài liệu C++ thì xuống mục tiếp theo nhé. Trước tiên, mình sẽ gợi ý cho các bạn một số giáo trình lập trình C đáng để tham khảo.

Giáo trình lập trình C miễn phí

Mình sẽ đưa ra cả giáo trình lập trình C tiếng Việt và tiếng Anh. Nếu khả năng đọc hiểu của bạn tốt, bạn nên đọc giáo trình tiếng Anh. Nếu không thì cũng đừng ngại sử dụng chúng làm tài liệu tham khảo bổ sung nhé.

# Kỹ thuật lập trình C – Phạm Văn Ất

Sách Kỹ thuật lập trình C từ cơ bản đến nâng cao của thầy Phạm Văn Ất là tài liệu lập trình C mà nhiều trường đại học hiện nay vẫn đang lấy làm tại liệu tham khảo cho môn học lập trình C.

Sách gồm 546 trang, có 18 chương và 13 phụ lục. Nội dung của các chương như sau:

  • Chương 1: Các khái niệm cơ bản
  • Chương 2: Hằng biến và mảng
  • Chương 3: Biểu thức
  • Chương 4: Vào ra
  • Chương 5: Các toán tử điều khiển
  • Chương 6: Hàm và cấu trúc chương trình
  • Chương 7: Cấu trúc
  • Chương 8: Quản lý màn hình và cửa sổ
  • Chương 9: Đồ họa
  • Chương 10: Thao tác trên các tập tin
  • Chương 11: Lưu trữ dữ liệu và tổ chức bộ nhớ chương trình
  • Chương 12: Các chỉ thị tiền xử lý
  • Chương 13: Sử dụng ngắt trong C
  • Chương 14: Truy nhập trực tiếp vào bộ nhớ
  • Chương 15: Hàm xử ngắt và chương trình thường trú
  • Chương 16: Âm thanh, âm nhạc
  • Chương 17: Lập trình theo thời gian, theo sự kiện và trò chơi
  • Chương 18: Giao diện giữa C và Assembler

Tiếp dưới đây là một số giáo trình lập trình C của các trường đại học, cao đẳng. Do mình chưa đọc nên xin phép không đánh giá.

# Giáo trình C – Aptech

Tài liệu gồm 16 bài học, 135 trang bao gồm đầy đủ các kiến thức lập trình C cơ bản. Sách cung cấp rất nhiều ví dụ & source code.

# Giáo trình C – ĐHQG Hà Nội

Tài liệu lập trình C này gồm 7 chương, 95 trang. Theo mình xem thì đã lược bỏ một số phần kiến thức về kiểu cấu trúc (Struct)Chuỗi trong C.

# Giáo trình Ngôn ngữ lập trình C – Tiêu Kim Cương

Tài liệu khá đầy đủ, gồm 7 chương với 202 trang. Các chương bao gồm:

  1. Tổng quan về ngôn ngữ lập trình C
  2. Biểu thức
  3. Tổ chức chương trình về mặt dữ liệu
  4. Hàm và tổ chức chương trình về mặt cấu trúc
  5. Thao tác với tệp
  6. Đồ họa
  7. Bài tập tổng hợp

# Giáo trình Ngôn ngữ lập trình C – Nguyễn Hữu Tuấn

Giáo trình lập trình C này có 10 chương, 192 trang. Bạn có thể xem tại liệu C này qua link đưới đây:

# Sách Head First C

Ebook lập trình C: Head First C
Bài của cuốn ebook Head First C

Cuốn sách được rất nhiều bạn đọc đánh giá là hay với phong cách truyền đạt cực kỳ thú vị. Sách sử dụng rất nhiều hình ảnh để giúp người học có được sự hứng thú, có thể nói là họ kể chuyện thay vì hướng dẫn. Nó giúp bạn cảm thấy như mình đang đọc truyện tranh chứ không phải đang học lập trình.

Cuốn sách này gồm 632 trang gồm đầy đủ kiến thức của ngôn ngữ C. Thiết nghĩ theo giáo trình trên trường thì bạn không cần đọc hết cuốn sách này đâu. Đây đúng là một giáo trình đáng để bạn đọc. Click vào link dưới đây để xem và tải sách về nhé:

# Ebook C Notes for Professional

Cuốn ebook này là một cuốn tài liệu được viết và tổng hợp từ dự án tài liệu lập trình của diễn đàn hỏi đáp lập trình hàng đầu StackOverflow. Cuốn ebook này là bản tổng hợp đầy đủ các kiến thức lập trình C bởi các chuyên gia hàng đầu. Nó xứng đáng là một thư viện để bạn có thể tra cứu bất cứ kiến thức gì về ngôn ngữ C (bởi vì cách trình bày của nó không được đánh giá tốt cho người mới học).

Cuốn sách lập trình C này dài hơn 300 trang bao gồm 63 chương khác nhau. Bạn đọc có thể xem và tải sách về tại đây:

Khóa học lập trình C

Mục này sẽ gợi ý cho bạn một số khóa học lập trình C miễn phí chất lượng nhất. Bạn hãy lựa chọn cho mình khóa học mà bạn thích để theo học cùng với các giáo trình ở trên nhé.

# Khóa Học C bá đạo – Lập Trình Không Khó

Khóa học gồm 70 bài học lý thuyết & thực hành cung cấp cho bạn kiến thức lập trình C từ cơ bản đến nâng cao. Khóa học cho phép bạn tương tác trực tiếp qua video. Hơn hết, khóa học là miễn phí dành cho tất cả mọi người.

Khóa học này có gì nổi bật?

  1. Tập trung vào thực hành/ làm bài tập thay vì lý thuyết dày đặc.
  2. Được sự giúp đỡ của giảng viên (qua FB nhóm) và cộng đồng.
  3. Sử dụng command line, Visual Studio Code (theo xu hướng công nghệ)
  4. Đã có hơn 200.000 bạn học viên tham gia
  5. Số lượng bài tập thực hành có lời giải siêu khủng

Giảng viên của khóa học là ai?

  • Người sáng lập cộng đồng Lập Trình Không Khó
  • Cựu sinh viên đạt giải nhì ACM/ICPC tin học Việt Nam
  • Hiện đang công tác tại Zalo, vị trí Data Scientist

Tham gia ngay khóa Học C bá đạo, học xong thì thực hành thêm, vì trong khóa học cũng có nhiều bài thực hành:

# Learn C Programming – Programiz

Trang web cung cấp tài liệu lập trình C với giao diện rất thân thiện, cung cấp đầy đủ lý thuyết và có nhiều bài tập thực hành cho mọi người. Xem tutorial này bằng cách nhấp vào button dưới đây:

# C Programming Tutorial – freeCodeCamp

Bài giảng này kéo dài gần 4h, bao gồm đầy đủ các kiến thức C căn bản và được đăng tải thành một video duy nhất trên kênh Youtube của họ. Đây là một tổ chức đào tạo lập trình có tiếng và khóa học này nằm trong danh sách khóa học miễn phí của họ.

# Interactive C tutorial – learn-c.org

Tài liệu C này cho phép bạn học và tương tác trực tiếp với ngôn ngữ C trên trình duyệt. Trong mỗi bài học luôn có những bài tập thực hành và bạn phải làm nó ngay trên trình duyệt để hoàn thành bài học.

Tài liệu lập trình C++

Mục này sẽ tổng hợp các tài liệu, giáo trình và khóa học lập trình C++ miễn phí, hay và bổ ích dành cho các bạn. Như với mục lập trình C, mình sẽ đi lần lượt từ giáo trình tới khóa học và sau cùng là một số nơi để bạn luyện tập, thực hành C/C++ nhé.

Giáo trình lập trình C++

Dưới đây là một số giáo trình, ebook lập trình C++ tiêu biểu mà mình chọn lọc để gợi ý cho các bạn.

# Lập trình hướng đối tượng – Phạm Văn Ất

Cuốn sách tuy có phần hơi cũ nhưng kiến thức thì vẫn rất đầy đủ và bổ ích. Đây cũng là một trong những giáo trình lập trình C++ kinh điển. Cuốn sách gồm 10 chương và 4 phụ lục, 396 trang cung cấp cho bạn các kiến thức đầy đủ về lập trình C++ và hướng đối tượng, cũng như lập trình đồ họa trong C++ sử dụng graphics.h

  • Chương 1. C++ và lập trình hướng đối tượng
  • Chương 2. Hàm trong C++
  • Chương 3. Khái niệm về lớp
  • Chương 4. Hàm tạo, hàm huỷ và các vấn đề liên quan
  • Chương 5. Dẫn xuất và thừa kế
  • Chương 6. Tương ứng bội và phương thức ảo
  • Chương 7. Các dòng tin (stream)
  • Chương 8. Đồ hoạ
  • Chương 9. Truy nhập trực tiếp vào bộ nhớ
  • Chương 10. Một số chương trình hướng đối tượng trên C++

# Ngôn ngữ lập trình C++ – Học viện BCVT

Đây là một tài liệu lập trình C++ của Học viện Bưu chính viễn thông. Nội dung sách gồm 7 chương như sau:

  • Chương 1: Giới thiệu tổng quan về các phương pháp lập trình
  • Chương 2: Con trỏ và mảng
  • Chương 3: Kiểu dữ liệu có cấu trúc
  • Chương 4: Vào ra trên tệp
  • Chương 5: Lớp đối tượng
  • Chương 6: Tính kế thừa và tương ứng bội
  • Chương 7: Một số lớp quan trọng

# Ngôn ngữ lập trình C/C++ – ĐHQGHN

Đây là một tài liệu C/C++ được dùng làm giáo trình tại ĐHQG Hà Nội, tài liệu do thầy Phạm Hồng Thái biên soạn. Sách gồm 8 chương, 308 trang.

# Ebook C++ For Dummies

Ebook nước ngoài mình tổng hợp vào đây thì yên tâm không có gì phải chê. Cuốn sách khá nổi ở cả trong nước và nước ngoài. Họ sử dụng Codeblock để giảng dạy, một IDE khá phổ biến hiện nay.

# Ebook C++ Notes for Professional

Cuốn ebook này là một cuốn tài liệu được viết và tổng hợp từ dự án tài liệu lập trình của diễn đàn hỏi đáp lập trình hàng đầu StackOverflow. Cuốn ebook này là bản tổng hợp đầy đủ các kiến thức lập trình C++ bởi các chuyên gia hàng đầu. Nó xứng đáng là một thư viện để bạn có thể tra cứu bất cứ kiến thức gì về ngôn ngữ C++ (bởi vì cách trình bày của nó không được đánh giá tốt cho người mới học).

Cuốn sách lập trình C++ này dài hơn 600 trang bao gồm 146 chương khác nhau. Bạn đọc có thể xem và tải sách về tại đây:

Khóa học lập trình C++

# Lập trình C++ căn bản

Tài liệu C++ này trang bị cho bạn các kiến thức lập trình C++ cơ bản để tiếp tục học lập trình hướng đối tượng.

Xem khóa học: Lập trình C++ cơ bản

# Lập trình hướng đối tượng C++

Tài liệu lập trình C++ này cung cấp cho bạn các kiến thức lập trình hướng đối tượng căn bản dựa trên nền tảng bạn đã có kiến thức cơ bản về C++.

# C++ Language – cplusplus.com

Gần như mọi thứ bạn cần đều có ở trang cplusplus.com và trang cppreference.com. Đây là 2 kho từ điển online, là tài liệu lập trình C/C++ để tra cứu khi cần. Và tất nhiên, họ cũng có tài liệu bài giảng cho ngôn ngữ C++.

# C++ Tutorial – W3schools.com

Cũng là một website có nhiều tutorial cho hầu hết các ngôn ngữ. Học tại đây bạn sẽ có những bài tập thực hành trực tiếp trên trình duyệt. Điều này giúp bạn học tập có sự tương tác với ngôn ngữ giúp bạn hứng thú hơn.

# Interactive C++ tutorial – learn-cpp.org

Tài liệu C++ này cho phép bạn học và tương tác trực tiếp với ngôn ngữ C++ trên trình duyệt. Trong mỗi bài học luôn có những bài tập thực hành và bạn phải làm nó ngay trên trình duyệt để hoàn thành bài học.

Thực hành C/C++ ở đâu?

# Lập Trình Không Khó

Tại LTKK, bạn có rất nhiều tài liệu lập trình C/C++ và bài tập để thực hành. Tất cả các bài tập đều có lời giải mẫu tham khảo và rất nhiều bài tập có hướng dẫn chi tiết từ ý tưởng đến lời giải. Tất cả được tổng hợp tại bài viết dưới đây:

# codeforces

Codeforces là một sân chơi thi đấu dành cho mọi lập trình viên. Tất cả các kỳ cựu C/C++ có giải Olympic tin học, ACM đều thi đấu tại sân chơi này. Đây là một địa chỉ xứng đáng để bạn có thể tự rèn luyện kiến thức của mình, đặc biệt về tư duy lập trình.

# leetcode

Đây cũng là một sân chơi về cơ bản là giống codeforces ở trên. Trên này có rất nhiều bài tập thực hành mà các nhà tuyển dụng hàng đầu sử dụng để tuyển lập trình viên.

# Hackerrank

Cũng khá giống 2 website trên, một lựa chọn khác dành cho bạn thôi.

Tài liệu học C/C++ khác

Tài liệu cấu trúc dữ liệu và giải thuật

Dưới đây là một số tài liệu cấu trúc dữ liệu & giải thuật dành cho bạn. Vì cái này không phụ thuộc vào ngôn ngữ, nhưng đa phần các trường dạy, sinh viên sẽ học sau khi học C/C++ nên mình nghĩ là cần thiết cung cấp cho các bạn tại bài viết tổng hợp tài liệu lập trình C/C++ này:

Khóa học C/C++ (Có phí)

Nếu bạn đang muốn tìm kiếm một khóa học lập trình C/C++ bài bản, có giáo viên hướng dẫn, lộ trình rõ ràng với mức phí hợp lý. Bạn có thể tham khảo khóa học lập trình C++ từ A – Z của thầy Dương Tích Đạt.

Khóa học trang bị cho bạn kiến thức cả về C lẫn C++, bao gồm:

  • Sử dụng thư viện STL thành thạo cũng như kĩ thuật lập trình hàm.
  • Thành thạo ngôn ngữ C/C++ với các kiểu dữ liệu mảng, con trỏ, kiểu cấu trúc.
  • Thiết kế, xây dựng, thử nghiệm và gỡ lỗi (design, implement, test, and debug).
  • Kiến thức lập trình để xây dựng phần mềm từ ý tưởng đến thành phẩm.
  • Biết sử dụng kỹ thuật đệ quy để giải quyết bài toán phức tạp.
  • Tự học thêm C++ hoặc học một ngôn ngữ khác khi đã có được căn bản vững.

Do mình có hợp tác với đơn vị bán khóa học nên trong tháng này bên họ tặng 40% giá trị khóa học chỉ còn chưa tới 400k. Bạn có thể tham khảo nếu cảm thấy khóa học phù hợp và nhập mã LTKK để nhận được ưu đãi.

Mình vừa giúp các bạn tổng hợp tài liệu lập trình C/C++ để các bạn có được cài tài liệu học tập tốt nhất. Nếu bạn có bất kỳ tài liệu hay nào muốn đóng góp cho tất cả chúng ta, đừng quên để lại dưới bình luận để mọi người cùng tham khảo nhé.

Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments