sách hay về ngôn ngữ C?

  1. Lập trình

C/ C cộng cộng là ngôn ngữ cơ bản mình muốn học tập mn có sách nào hay ko ạ chia sẻ cho mình với

Từ khóa: 

lập trình

Nói đến sách lập trình C/C++ thì vô vàn. Tìm kiếm trên google ra nhiều lắm, từ tiếng anh đến tiếng việt. Mình thì không biết nên khuyến nghị bạn đọc cuốn nào hết. Mình chỉ nêu lên các Keyword, bạn tìm hiểu theo các khái niệm mà chưa được học bao giờ nhé:

- Lựa chọn IDE để Build, Debug, Run phần mềm viết bằng C/C++: Netbean,GCC/G++, MS Visual Studio,...

- Nền tảng lựa chọn triển khai: Window/Linux/MacOS. Mỗi nền tảng có 1 vài cách giao tiếp với [Phần cứng]/[Hệ điều hành] khác nhau. Liên quan đến cả hiệu năng và GUI (Lập trình giao diện).

- Cách Import các file .c, .cpp, .h,.hpp. nhúng ASembly Code. - Các loại Target output: .DLL, .SO, .EXE, .SYS

+ Biểu mẫu/Pattern để tạo các Target Output đó

+ Cách để build

- Main Entry Point cho một ứng dụng c/c++.

- Tìm hiểu các keyword , cú pháp trong c/c++. Có một số cú pháp viết code trong C/C++ như C99, C99,... Các chuẩn lập trình C++11. C++14,...

- Cách đặt tên biến. Biến tham chiếu (dùng biểu tượng &), Biến con trỏ (dùng *), Các kiểu dữ liệu nguyên thủy (int,string, char, mảng, wchar, double, float,...).

- Cách khai báo sử dụng Struct

  • Cách cấp phát bộ nhớ cho Struct
  • Cách sắp xếp thuộc tính trong Struct sẽ ảnh hưởng đến Memory được cấp phát. Ví dụ #pragma pack(push, 1) ,

- Cách sử dụng cấp phát bộ nhớ: alloc/calloc/free, new/delete,...

- Cách sử dụng: IF ELSE, WHILE , WHITE DO, BREAK/CONTINUE, FOR, SWITCH, GO TO...

- Cách đọc/ghi FILE

- Làm việc với Socket/Network, Lập trình mạng

  • + Giao thức
  • + Khởi tạo kênh kết nối giữa 2 ứng dụng
  • + Chat/Email,...
  • + Khái niệm LISTEN, BINDING, EVENT,... liên quan đến socket.
  • + Khái niệm ioctl trong socket

- Làm việc với khái niệm Share Memory, Lock, Semaphone,... - Làm việc với các khái niệm định nghĩa MACRO

- Cách làm việc với Class:

  • + Lập trình hướng đối tượng.
  • + Khởi tạo
  • + Hủy, Hàm Ảo
  • + Static/Dynamic Method: Phương thức tĩnh/động
  • + Thuộc tính
  • + Tham số
  • + Kế thừa, Đa hình
  • + Hàm trừu tượng
  • + Design Pattern trong C++

- Tìm hiểu một số thư viện

  • + Boost C++ Libraries
  • + STL
  • + MFC/Window API
  • + Thư viện QT/QT API

- Lập trình Driver cho hệ điều hành.

- Ngoài ra, còn nhiều khái nhiệm lập trình nâng cao/advanced - ...


Bạn thử khởi nguồn từ:


Trả lời

Nói đến sách lập trình C/C++ thì vô vàn. Tìm kiếm trên google ra nhiều lắm, từ tiếng anh đến tiếng việt. Mình thì không biết nên khuyến nghị bạn đọc cuốn nào hết. Mình chỉ nêu lên các Keyword, bạn tìm hiểu theo các khái niệm mà chưa được học bao giờ nhé:

- Lựa chọn IDE để Build, Debug, Run phần mềm viết bằng C/C++: Netbean,GCC/G++, MS Visual Studio,...

- Nền tảng lựa chọn triển khai: Window/Linux/MacOS. Mỗi nền tảng có 1 vài cách giao tiếp với [Phần cứng]/[Hệ điều hành] khác nhau. Liên quan đến cả hiệu năng và GUI (Lập trình giao diện).

- Cách Import các file .c, .cpp, .h,.hpp. nhúng ASembly Code. - Các loại Target output: .DLL, .SO, .EXE, .SYS

+ Biểu mẫu/Pattern để tạo các Target Output đó

+ Cách để build

- Main Entry Point cho một ứng dụng c/c++.

- Tìm hiểu các keyword , cú pháp trong c/c++. Có một số cú pháp viết code trong C/C++ như C99, C99,... Các chuẩn lập trình C++11. C++14,...

- Cách đặt tên biến. Biến tham chiếu (dùng biểu tượng &), Biến con trỏ (dùng *), Các kiểu dữ liệu nguyên thủy (int,string, char, mảng, wchar, double, float,...).

- Cách khai báo sử dụng Struct

  • Cách cấp phát bộ nhớ cho Struct
  • Cách sắp xếp thuộc tính trong Struct sẽ ảnh hưởng đến Memory được cấp phát. Ví dụ #pragma pack(push, 1) ,

- Cách sử dụng cấp phát bộ nhớ: alloc/calloc/free, new/delete,...

- Cách sử dụng: IF ELSE, WHILE , WHITE DO, BREAK/CONTINUE, FOR, SWITCH, GO TO...

- Cách đọc/ghi FILE

- Làm việc với Socket/Network, Lập trình mạng

  • + Giao thức
  • + Khởi tạo kênh kết nối giữa 2 ứng dụng
  • + Chat/Email,...
  • + Khái niệm LISTEN, BINDING, EVENT,... liên quan đến socket.
  • + Khái niệm ioctl trong socket

- Làm việc với khái niệm Share Memory, Lock, Semaphone,... - Làm việc với các khái niệm định nghĩa MACRO

- Cách làm việc với Class:

  • + Lập trình hướng đối tượng.
  • + Khởi tạo
  • + Hủy, Hàm Ảo
  • + Static/Dynamic Method: Phương thức tĩnh/động
  • + Thuộc tính
  • + Tham số
  • + Kế thừa, Đa hình
  • + Hàm trừu tượng
  • + Design Pattern trong C++

- Tìm hiểu một số thư viện

  • + Boost C++ Libraries
  • + STL
  • + MFC/Window API
  • + Thư viện QT/QT API

- Lập trình Driver cho hệ điều hành.

- Ngoài ra, còn nhiều khái nhiệm lập trình nâng cao/advanced - ...


Bạn thử khởi nguồn từ:


Mình không biết :v, bạn lên gg search nhanh hơn nhé