Tổng hợp tài liệu lập trình C/C++
| |

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

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:

[sc_quote]Làm rõ sự khác nhau giữa ngôn ngữ C và C++[/sc_quote]

Lưu ý:

  • 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

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/Ky%20thuat%20lap%20trinh%20C%20tu%20co%20ban%20den%20nang%20cao%20-%20Gs.Pham%20Van%20At%20-%20546%20Trang.pdf”]Download Kỹ thuật lập trình C từ cơ bản đến nâng cao[/sc_download]

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.

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/c_aptech.pdf”]Download giáo trình C – Aptech[/sc_download]

# 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.

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C_%C4%90HQGHN.pdf”]Download giáo trình C DDHQG Hà Nội[/sc_download]

# 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

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C_Ti%C3%AAu%20Kim%20C%C6%B0%C6%A1ng.pdf”]Download Giáo trình Ngôn ngữ lập trình C – Tiêu Kim Cương[/sc_download]

# 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:

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C_Nguy%E1%BB%85n%20H%E1%BB%AFu%20Tu%E1%BA%A5n.pdf”]Download Giáo trình Ngôn ngữ lập trình C – Nguyễn Hữu Tuấn[/sc_download]

# 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é:

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/stackoverflow/CNotesForProfessionals.pdf”]Download Ebook Head First C[/sc_download]

# 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:

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/stackoverflow/CNotesForProfessionals.pdf”]Download Ebook C Notes for Professional[/sc_download]

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:

[sc_quote]Học ở đây: Khóa học lập trình C miễn phí chất lượng[/sc_quote]

[sc_quote]Thực hành ở đây: Tổng hợp bài tập C/C++ có lời giải chi tiết[/sc_quote]

# 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:

[sc_download url=”https://www.programiz.com/c-programming”]Xem tài liệu Learn C Programming – Programiz[/sc_download]

# 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ọ.

[sc_download url=”https://www.youtube.com/watch?v=KJgsSFOSQv0″]Xem C Programming Tutorial – freeCodeCamp[/sc_download]

# 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.

[sc_download url=”https://www.learn-c.org/”]Xem Interactive C tutorial – learn-c.org[/sc_download]

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++

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/Lap-trinh-h%C6%B0%C6%A1ng-doi-tuong-Pham-Van-At.pdf”]Download Ebook Lập trình hướng đối tượng – Phạm Văn Ất[/sc_download]

# 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

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C%2B%2B_B%C6%B0u%20ch%C3%ADnh%20vi%E1%BB%85n%20th%C3%B4ng.pdf”]Download Ebook Ngôn ngữ lập trình C++ của Học viện BCVT[/sc_download]

# 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.

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C%2B%2B_Ph%E1%BA%A1m%20h%E1%BB%93ng%20th%C3%A1i.pdf”]Download Ebook Ngôn ngữ lập trình C/C++ của thầy Thái[/sc_download]

# 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.

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/cpp/ebooks/C%2B%2B%20For%20Dummies%2C%207th%20Edition_Stephen%20R.%20Davis.pdf”]Download Ebook C++ For Dummies[/sc_download]

# 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:

[sc_download url=”https://github.com/ltkk/tai-lieu-lap-trinh/raw/master/stackoverflow/CPlusPlusNotesForProfessionals.pdf”]Download Ebook C++ Notes for Professional[/sc_download]

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.

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

# 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++.

[sc_quote]Xem khóa học: Lập trình Hướng đối tượng cơ bản[/sc_quote]

# 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++.

[sc_download url=”http://www.cplusplus.com/doc/tutorial/”]Learn C++ programing language[/sc_download]

# 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.

[sc_download url=”https://www.w3schools.com/cpp/”]Learn C++ programing language[/sc_download]

# 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.

[sc_download url=”https://www.learn-cpp.org/”]Xem Interactive C++ tutorial – learn-cpp.org[/sc_download]

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

# Luyện Code Online

Luyện Code Online là một website cung cấp các bài tập lập trình từ cơ bản cho các bạn mới học lập trình cho tới các bạn muốn ôn thi các kỳ thi OI/Olympic/ACM-ICPC. Không chỉ là cung cấp bài tập, các thành viên có thể sử dụng chức năng chấm code trên web để đánh giá lời giải của mình đúng hay sai thông qua các bộ test (ẩn) đã được chúng tôi chuẩn bị từ trước. Như vậy, các thành viên có thể thực hành & tương tác trực tiếp, đánh giá được lời giải của mình có đủ chính xác hay không. Qua đó, các bạn sẽ có thể tích lũy được rất nhiều kinh nghiệm & kiến thức về lập trình.

Tại đây, chúng tôi có các bài tập:

  • Bài tập lập trình cơ bản
    • Bài tập cơ bản (làm quen)
    • Bài tập cấu trúc điều khiển
    • Bài tập vòng lặp
    • Bài tập mảng 1 chiều, 2 chiều
    • Bài tập chuỗi (string)
    • Bài tập toán học (đơn giản)
    • Bài tập tư duy (đơn giản)
  • Bài tập theo chủ đề
    • Cấu trúc dữ liệu (Ngăn xếp, Hàng đợi, Cây, Đồ thị, Segment tree, BIT, …)
    • Giải thuật (BFS, DFS, KMP, Z Algo, …)
    • Quy hoạch động
    • Tham lam
    • Toán học
    • Các bài toán kinh điển

[sc_quote]Trải nghiệm: Luyện Code Online – Học lập trình tương tác trực tuyến [/sc_quote]

# 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:

[sc_quote]Đọc tiếp: Kho bài tập C/C++ có lời giải siêu to [/sc_quote]

# 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.

[sc_download url=”https://codeforces.com/problemset?order=BY_SOLVED_DESC”]Luyện tập tại codeforces.com[/sc_download]

# 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.

[sc_download url=”https://leetcode.com/problemset/all/?difficulty=Easy”]Luyện tập tại leetcode[/sc_download]

# 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.

[sc_download url=”https://www.hackerrank.com/”]Luyện tập tại Hackerrank[/sc_download]

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.

[sc_quote]Xem khóa học: Học lập trình C/C++ TỪ A – Z[/sc_quote]

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é.

Similar Posts

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