30/09/2018, 16:02
Hỏi về lập trình C chuyên sâu
mọi người cho em hỏi muốn đi chuyên sâu về lập trình C thì cần quan tâm đến vấn đề gì ạ?
ai có tài liệu chuyên sâu về C có thể chia sẻ cho em với được không ạ? em cám ơn!
Bài liên quan
Chuyên sâu của C mà muốn học không thì khó lắm, C muốn chuyên sâu thì em phải đi đôi với thực hành. Còn về C thì anh nghĩ học sâu rất tốt. Tài liệu tiếng việt chắc không có chuyên sâu C. Sách hay anh nghĩ có 2 quyển
À quên note 1 cái, 2 quyển này chưa sâu lắm. Nhưng anh nghĩ em bắt đầu với 2 quyển này là ổn.
2 quyển này viết rất hay nhưng ngồi dịch mệt quá.
@14520054 nói đúng rồi. Tiếng anh khá một chút thì hẵng đọc, không thì tìm mấy quyển sách tiếng Việt đọc đỡ, anh thấy ở đây có nhiều người giới thiệu sách tiếng Việt nè.
Nhưng nên đặt mục tiêu về lâu về dài mình sẽ đọc được mấy quyển này. Vì ngoài đọc mấy quyển này, mình còn đọc được nhiều quyển khác hay hơn. Đặt mục tiêu dài hạn 1-2 năm sẽ đọc được ví dụ vậy
Anh ơi ! anh cho em hỏi muốn học C để làm việc được như python, java, js…gia công sản phẩm ấy ! thì phải học gì ạ !
Em muốn học C nhưng toàn được tư vấn là học C chả làm được gì ! Không thực dụng bằng các ngôn ngữ khác như PHP, java có thể làm ra sản phẩm nhìn thấy được luôn.
Anh làm chuyên về C anh có thể tư vấn cho em được không ạ
ai bảo học C không làm được gì thì mình thấy bạn không cần nói chuyện với họ nữa kẻo 1 lúc sau cười không nhặt đc mồm đấy
bạn muốn học cái gì làm ra sản phẩm đc luôn à? ok, ngay cả mình cùng từng nghĩ vậy và đa số là vậy nên đừng quá lo. Mình khuyên bạn ĐỪNG làm thế! bạn có thể có vài 3 cái ứng dụng nhỏ nhỏ bắt chước theo bài học người ta dạy nhưng sau đó sẽ chả tự làm đc cái gì đâu. Chỉ phí tg thôi, mình đã từng ham hố tham gia 1 khoá học lập trình iOS nên biết. Thay vào đó bh mình đọc lại các sách về ltrinh C CƠ BẢN, và vọc vạch từng chi tiết 1 trong từng câu lệnh, cấu trúc dữ liệu và học thuật toán. Khi mình chuyển sang Python thì chỉ cần 3 ngày là bắt đầu quen tay với nó (cơ bản Python cũng dễ học). Nch bạn cứ học tốt nền tảng, hiểu được bản chất thì ngôn ngữ nào cũng chơi ngon, học lên cao vèo vèo.
nên nhớ “Ngôn ngữ chỉ là công cụ thôi”
Mới viết được code C cho chip nhúng.
Viết ứng dụng trên PC vẫn chưa hình dung được làm như thế nào ra cái phần mềm
Phần mềm (hay chương trình) viết bằng C có nhiều lắm bạn ah nó là cả một thế giới đấy, kể cả ngày không hết và đều là mã nguồn mở nên bạn có thể xem được mã nguồn.
cp, mv, ls
… (nằm trong bộ coreutils), wget (phần mền dowload), diff ( phần mền so sánh file), …Bạn cứ lên
youtube.com
và search các chương trình mình nêu ở trên là biết C có thể làm được gì.ps: danh sách các phần mền miễn phí viết bằng C
en.wikipedia.org
Category:Free software programmed in C
Free software programmed in C. This category has the following 4 subcategories, out of 4 total. The following 200 pages are in this category, out of approximately 522 total. This list may not reflect recent changes (learn more).
Bạn có tài liệu để học cái này không, cho mình xin với
Mọi người có thể cho em một vài phần mềm đơn giản viết bằng C/C++ được không Cảm ơn mọi người rất nhiều. Em đang muốn viết một phần mềm quản lí bán hàng đơn giản bằng C/C++ mà không biết bắt đầu từ đâu. Em đang sử dụng visual studio.
Mình thấy trong C cũng có OOP nè !
cs.rit.edu
Mới biết thôi !
Tài liệu này :
ooc.pdf
1224.27 KB
bạn dùng cái OOP trong c bao giờ chưa?
mình được ghe thấy 1 lần nhưng không biết tìm nó sao cả.
C có OPP ???
coi chừng nhầm C++ và C nha bạn
Có thể viết OOP bằng C nhé, sử dụng con trỏ hàm và struct. Linux Driver dùng cái này nhé.
stackoverflow.com
Bạn tham khảo thêm ở đây:
Can you write object-oriented code in C?
đừng có nhầm lẫn nha bạn
bạn nên nhớ rõ là OPP có những tính chất gì
mình ví dụ: Tính đa hình trong OPP bạn thử miêu tả = C xem
struct ở đây là cấu trúc, mình nghĩ bạn đang nói đến class
=)) và bạn cần phải tìm hiểu thêm là con trỏ ở C và C++ nữa nha @@
cần phân biệt rõ C và C++ nha
Bạn đã đọc link mình đưa ra chưa?
Mình nhắc lại C có thể viết được OOP nhé, và Linux Kernel (Linux Driver) được viết theo mô hình OOP bằng C nhé!
Đương nhiên
truct
vàclass
khác nhau, ý mình là họ dùngstruct
đóng vai trò nhưclass
trong C++ và con trỏ hàm làm giống như phương thức trong C++.Bạn chưa từng nghe nói khái niệm con trỏ hàm? http://stackoverflow.com/questions/840501/how-do-function-pointers-in-c-work
PS: Mình nhắc lại là mình không nhầm lẫn C và C++ (vì nó là 2 ngôn ngữ hoàn toàn khác nhau). Bạn chưa biết thì đừng có nghĩ là nó không làm được, hãy tìm hiểu kỹ đi nhé.
=)) thử tạo 1 file .c và viết con trỏ hàm theo bạn nghĩ ??
và bạn có thể miêu tả tính đa hình giùm mình trong file .c kia
=))
à thêm cái mình có đọc hết, VÀ ĐA SỐ trong C thuần túy là 1 file .c k thể chạy được những cái bạn đưa ra để minh họa, bạn có thể code demo dc k ??? hay chỉ lấy vd người khác
thử cái này xem
swap(int *a,int *b) ?? trong C bạn nghĩ có hàm này k =))
và nếu sau khi có thêm 1 hàm swap(int *a)
theo bạn 2 hàm này có cùng tồn tại được trong C hay k ???
demo cho bạn hiểu nhé
mình lưu file .c nhé
ở đây có 2 hàm swap k hỗ trợ, da hình nơi chốn nào
còn con trỏ của bạn
C nó báo lỗi đấy =)) vd đơn giản nhất đó=))
hoặc bạn chứng minh giùm mình với
đừng lấy vd của người khác, 90% bạn chưa hiểu người khác làm gì đâu mà đem ra làm ví dụ
Mình chưa hiểu rõ về OOP và C nên không dám viết lung tung.
Mình không có ý gây war ở đây, và không muốn cãi nhau ở đây (mình xin dừng ở đây).
Mình chỉ đưa ra đường link và dẫn chứng cho câu hỏi C có viết được OOP? Và câu trả lời là có. Nếu bạn muốn tìm hiểu thì vui lòng đọc link mình đưa ra:
book:
Object Orientated Programming in ANSI-C http://www.cs.rit.edu/~ats/books/ooc.pdf
http://www.linux-mag.com/id/628/
http://stackoverflow.com/questions/351733/can-you-write-object-oriented-code-in-c
=)) mình cũng k có ý định cãi với bạn đâu
vi.wikipedia.org
mà tại bạn nói thế
bạn nên dựa vào những gì mình đã học, nếu bạn đã học hay đọc qua về hướng đối tượng
thì chắc chắc bạn sẽ biết những cái tính chất cơ bản nhất của nó
và trong C k có dc 1 số tính chất đó đâu
còn về phần con trỏ đây là ví dụ
hay nhất mà mình từng đọc
http://diendan.congdongcviet.com/threads/t42977::tim-hieu-ban-chat-cua-con-tro-tu-co-ban-den-nang-cao.cpp
1 số tính chất của OPP
Lập trình hướng đối tượng
Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là một mẫu hình lập trình dựa trên khái niệm "công nghệ đối tượng", mà trong đó, đối tượng chứa đựng các dữ liệu, trên các trường, thường được gọi là các thuộc tính; và mã nguồn, được tổ chức thành các phương thức. Phương thức giúp cho đối tượng có thể truy xuất và hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác (đối tượng được hỗ trợ các phương thức "this" hoặc "self"). Trong lậ...
bạn đọc rồi xem lại nha là không khí mất vui =))
theo mình biết thì C chỉ có lập trình hướng cấu trúc thôi. Còn C++ mới có lập trình hướng đối tượng. Từ ngôn ngữ lập trình assembly (lập trình tuyến tính) —> ngôn ngữ C (lập trình cấu trúc) --> ngôn ngữ C ++ (oop). Nếu C cũng có class thì người ta không phát triển C++ làm gì bởi 2 cái này chủ yếu khác nhau ở class đó. hoặc nếu có thể dùng C để biểu diễn class thì sẽ khó khăn và ko thực dụng.
ps: có gì sai xót mong mọi người góp ý