Xin chào và chào mừng.
Hãy nói về c ngôn ngữ lập trình.
Cuối cùng chúng ta cũng có thể bắt đầu học một chút về c.
Tôi muốn cung cấp tổng quan và đưa ra bạn biết một chút về cách c ra đời.
Vì vậy, c là một mục đích chung ngôn ngữ lập trình mệnh lệnh.
Nó hỗ trợ lập trình có cấu trúc.
Bây giờ chúng ta đã nói về cấp cao hơn ngôn ngữ và chúng tôi
đã mô tả cách c là lập trình cấp cao hơn ngôn ngữ, điều này chỉ có nghĩa
là sử dụng dễ dàng hơn và hiệu quả hơn hơn là viết một hợp
ngữ, hiểu các tập lệnh.
Tuy nhiên, cụ thể là nó rất chung chung mục đích và điều này có nghĩa là bạn
có thể viết tất cả các loại ứng dụng bằng ngôn ngữ lập trình c.
Một số ngôn ngữ lập trình rất cụ thể cho ứng dụng
hoặc miền cụ thể.
Vì vậy, ví dụ trong một chương trình ngôn ngữ như coban, bạn thực sự
chỉ có thể sử dụng ứng dụng kinh doanh phù hợp.
Một chương trình như matlab hoặc một công cụ như matlab, bạn chỉ có thể viết một
số ứng dụng nhất định.
C, bạn có thể viết hoạt động ứng dụng hệ thống, bạn có thể viết
các chương trình chung, tất cả nhiều loại khác nhau.
Nó cũng là một điều bắt buộc đối với ngôn ngữ lập
trình máy tính, có nghĩa là về cơ bản được tổ chức xung quanh các
câu lệnh, biến, những thứ tương tự.
Nếu bạn học máy tính lập trình chi tiết hơn, bạn sẽ thấy rằng có
các các loại ngôn ngữ lập trình, những thứ như lập
trình hàm ngôn ngữ hoặc ngôn ngữ lập trình logic, trong đó điều
đó có nghĩa là rằng ngôn ngữ lập trình được tổ chức
hơi khác một chút.
Ví dụ, như lập trình logic ngôn ngữ chỉ có một tập
hợp các vị ngữ và đặt câu hỏi.
C là mệnh lệnh, một tập hợp câu lệnh, giải thích những việc cần làm.
Vì vậy, bạn sẽ sử dụng các câu lệnh này.
Bạn sẽ viết cái này dòng mã trong chương trình của bạn.
Và về cơ bản, những gì nó sẽ làm là nó
sẽ thay đổi trạng thái của mã hoặc trạng thái của dữ liệu.
Nó sẽ tập trung vào cách hoàn thành công việc và bạn sẽ tạo
các biến và dữ liệu và bộ nhớ và các thuật toán và sử dụng
các câu lệnh để thực hiện việc này.
Nó là một trong những cách được sử dụng rộng rãi nhất
ngôn ngữ lập trình của mọi thời đại, và đó chỉ là một sự thật.
Và đó là một trong những lý do tuyệt vời để tìm hiểu nó là vì nó
được sử dụng trên rất nhiều ứng dụng khác nhau và rất nhiều mã khác nhau.
Nó đã được xung quanh khá lâu là tốt.
Đó là một ngôn ngữ hiện đại.
Và ý tôi muốn nói là nó sử dụng hầu hết các cấu trúc điều khiển cơ bản và
đây là những thứ như câu lệnh điều kiện, câu lệnh if và các tính
năng của ngôn ngữ hiện đại.
Vì vậy, nó có các chức năng, nó có các biến, tất cả những thứ hay ho này mà
hầu hết các ngôn ngữ hiện đại đều sử dụng.
Nó được thiết kế để lập kế hoạch từ trên xuống, có nghĩa là bạn có thể bắt đầu ngay từ đầu
và đi xuống khi bạn lập kế hoạch.
Vì vậy, bạn có thể bắt đầu ở người dùng cấp độ giao
diện và sau đó bạn có thể đi xuống cấp độ thấp hơn và thực sự triển khai mã cấp thấp hơn.
Nó được tổ chức xung quanh việc sử dụng các chức năng.
Vì vậy, đối với bạn toán học mọi người ra ở đó
hiểu được những gì một chức năng hoặc thiết kế mô-đun là, điều này khá cơ bản.
Nhưng các chức năng là một cách để tổ chức mã của bạn.
Chúng tôi sẽ đưa ra rất nhiều ví dụ về các chức năng trong thiết kế mô-đun.
Hiểu điều này không quan trọng ngay bây giờ, nhưng bạn nên hiểu rằng ở cấp
độ cao, c sẽ được tổ chức xung quanh khái niệm này.
Và nó rất đáng tin cậy và rất dễ đọc.
Đáng tin cậy có nghĩa là khi bạn viết mã, nó sẽ làm những gì
bạn yêu cầu nó làm.
Nó sẽ không chỉ sụp đổ không có lý do.
Và có thể đọc được nghĩa là khi bạn nhìn vào nó và bạn nhìn vào
mã nguồn và các câu lệnh mà bạn có thể hiểu những gì
đang xảy ra nếu bạn hiểu ngôn ngữ.
Bạn không cần phải loại đoán và nói
xem họ đang cố gắng làm gì ở đây, làm gì có nghĩa là hoặc nó không phức tạp.
Nó rất dễ đọc để hiểu một chương trình c khi bạn nhìn thấy nó và sau
khi bạn hiểu ngôn ngữ.
Nó được sử dụng trên mọi thứ từ nhiều máy tính, hệ điều
hành, máy tính lớn khác nhau.
Như tôi đã nói, nó rộng rãi được sử dụng, vì vậy rất hữu ích để tìm hiểu.
Đó là ngôn ngữ ưa thích cho sản xuất các chương trình xử lý văn
bản, bảng tính và trình biên dịch.
Rất nhiều trình biên dịch được viết bằng c.
Chúng tôi đã hiểu thuật ngữ này là gì trình biên dịch có nghĩa là từ bài giảng cuối cùng của chúng tôi.
Đây là lời nhắc nhở, đây là những gì lấy mã nguồn và dịch
nó sang những tập lệnh.
Vì vậy, bạn thực sự có thể viết một trình biên dịch, chỉ
là một chương trình bằng ngôn ngữ c, rất hay.
Nó đã trở nên rất phổ biến đối với lập trình hệ thống nhúng.
Hệ thống nhúng là những thứ như bộ vi xử lý, được tìm thấy
trong ô tô, máy ảnh, đầu đĩa DVD.
Embedded có chương trình phải hiệu quả.
Nó chạy trên không nhiều bộ nhớ, không có nhiều phần cứng cấp cao.
Vì vậy, nhúng là lập trình thời gian thực.
Và nó trở nên khá phổ biến ở đó là bởi vì nó rất hiệu quả.
Nó cũng tiếp tục đóng vai trò mạnh mẽ vai trò trong sự phát triển của Linux.
Và khi tôi nói một chút về lịch sử của c, bạn sắp
xem bạn sẽ chú ý tại sao.
Nhưng Linux là một hệ điều hành rất phổ biến hệ thống cho những bạn không quen thuộc.
Nó tương tự như cửa sổ.
Đó chỉ là một cách khác để tương tác với máy tính của bạn.
Nó được sử dụng rất nhiều.
Đó là cơ sở cho mac hệ điều hành, Macintosh.
Và c có một vai trò lớn trong văn bản của hệ điều hành đó.
Vì vậy, một lần nữa lý do quan trọng tại sao bạn muốn học ngôn ngữ này.
Tôi đã đề cập trước đó c chương trình ở mức cao.
Và điều đó có nghĩa là họ ít nhiều dễ sửa đổi và dễ dàng điều chỉnh các mô hình
hoặc ngôn ngữ mới, một lợi ích khác.
Trong những năm 1990, nhiều nhà phần mềm bắt đầu chuyển sang ngôn ngữ c ++ cho
các dự án lập trình lớn.
Bây giờ bạn có thể tự hỏi mình tại sao lại là vấn đề đó.
Chúng tôi đang học c, không phải c ++.
Chà, lý do quan trọng là bởi vì c là một tập con của c ++.
Tôi đã nói với bạn, nó có tổ chức xung quanh chức năng, thiết kế mô-đun.
C ++ luôn luôn tồn tại điều khoản này của các đối tượng.
Chúng tôi sẽ không học các đối tượng trong lớp này.
Nhưng lý do tôi đang đề cập đến c ++ là bởi vì nếu bạn học c, bạn sẽ biết
rất nhiều về c ++.
Và c ++ là một ngôn ngữ thực sự phổ biến.
Vì vậy, bất kỳ chương trình c nào mà bạn viết là sẽ là một chương trình hợp lệ trong c ++.
Vì vậy, nó sẽ được tuyệt vời.
Nếu bạn muốn tiếp tục và bạn muốn học c ++,
bạn đã biết một nửa ngôn
ngữ bởi vì bạn sẽ biết c, rất quan trọng.
C là một tập con của c ++.
C vẫn là một kỹ năng cốt lõi cần thiết bởi tập đoàn và nó luôn đứng
trong top 10 kỹ năng mong muốn.
Một lần nữa, một lý do khác để tìm hiểu nó.
Tôi sử dụng c mỗi ngày trong công việc của tôi.
Tôi làm việc tại Xerox.
Tôi dùng nó mỗi ngày.
Chúng tôi lập trình trên hệ điều hành Linux và chúng tôi viết các ứng dụng c và chúng
tôi cũng viết các ứng dụng c ++.
Nó không phải là một ngôn ngữ cũ.
Nó không bao giờ được sử dụng nữa.
Nó được sử dụng khá ít.
Vì vậy, nếu bạn ngồi trong đó suy nghĩ Tôi không muốn lãng phí thời gian của
tôi với c, tôi muốn đi học một cái gì đó mới và thú vị ruby
hoặc một số thậm chí một cái gì đó thậm chí mới hơn như go hoặc một cái gì đó.
C vẫn phổ biến và vẫn còn rộng rãi được sử dụng và vẫn là một kỹ
năng được yêu cầu bởi rất nhiều ngành.
Vì vậy, bằng cách học c, bạn sẽ để có một sơ yếu lý lịch rất thị trường.
Bạn sẽ có thể nhận được rất nhiều vị trí khác nhau.
C cung cấp các cấu trúc ánh xạ hiệu quả đến các
hướng dẫn máy điển hình.
Vì vậy, chúng tôi đã nói về ý tưởng này về một trình biên dịch và hướng dẫn
máy ở mức thấp nhất.
Bởi vì ánh xạ này là như vậy dễ dàng trong c, nó thường được sử dụng
bởi các chương trình trước đây được thực hiện bằng hợp ngữ.
Và cũng vì lý do này mà nó cũng rất dễ dàng để viết hệ điều hành hoặc các chương
trình nhúng, như tôi đã đề cập vì lý do này.
Vì vậy, nó cung cấp quyền truy cập cấp thấp vào bộ nhớ và nó có nhiều khả năng cấp thấp, nó
có thể tương tác trực tiếp với phần cứng rất nhiều trình điều khiển.
Trình điều khiển là chương trình tương tác với phần cứng, rất nhiều trình điều
khiển được viết bằng c.
Và nó yêu cầu tối thiểu hỗ trợ thời gian chạy.
Và lý do cho điều này một lần nữa là vì nó dễ
dàng ánh xạ đến các hướng dẫn lắp ráp.
Bây giờ một chút lịch sử về c là một ngôn ngữ cũ hơn.
Nó được phát minh vào năm 1972 bởi một người tên là Dennis Ritchie của Phòng thí nghiệm Bell.
Anh ấy đang làm việc trên hệ điều hành UNIX hệ thống, là tiền thân của Linux.
Về cơ bản nó là một hoạt động hệ thống đang chạy trên phần cứng khác
nhau, Linux chạy trên phần cứng PC.
Vì vậy, nó cũ hơn đó là một lợi thế.
Bạn nghĩ rằng nó có thể là một bất lợi, nhưng nó cũ hơn.
Vì vậy, nó đã được thử và đã kiểm tra nó đáng tin cậy.
Nó được tạo ra như một công cụ dành cho các lập trình viên đang làm việc.
Mục tiêu chính khi thiết kế một ngôn ngữ là để
nó hữu ích và để nó trở thành dễ đọc và có thể ghi.
Tôi đã đề cập đến khả năng đọc về cơ bản là xem chương trình và
hiểu nhanh những gì đang diễn ra.
Vì vậy, nó không phức tạp như vậy.
Writeability là có thể viết mã nhanh chóng, hiệu
quả, có thể thực hiện mọi việc một cách nhanh chóng.
Vì vậy, nếu bạn viết một số mã, bạn không cần phải viết
20 dòng mã để thêm hai số, bạn viết một dòng mã.
Nó rất dễ viết.
Vì vậy, khả năng đọc và khả năng ghi là mục tiêu quan
trọng và lợi thế quan trọng của lập trình ngôn ngữ và c dễ dàng đáp ứng điều này.
Một số lịch sử khác.
Ban đầu nó được biết đến rộng rãi là ngôn ngữ phát
triển của hệ điều hành Unix.
Và hầu như, tất cả đều mới
hệ điều hành được viết sau năm 1972 được viết bằng c hoặc c ++.
Một lần nữa, rất phổ biến, rất, rất hữu ích.
Nó phát triển từ trước ngôn ngữ lập trình tên là B, đó là lý do
tại sao nó có tên là c.
Tôi đoán họ đã không không thông minh lắm.
Họ chỉ nói này a b, b c.
Ngoài ra còn có một ngôn ngữ Nhân tiện, được gọi là d.
Nó sử dụng nhiều khái niệm của b trong khi thêm một số cách nhập
dữ liệu và các tính năng mạnh mẽ khác.
Bạn có thể không có manh mối nhập dữ liệu là gì, đừng lo
lắng về điều đó ngay bây giờ.
Biết rằng nó đã thêm một số mới các tính năng từ b, chủ yếu là b có vấn đề
này là không đánh máy được nghĩa là dữ liệu không có kiểu.
Và c đã cải thiện điều đó.
Nó cũng có sẵn cho hầu hết các máy tính.
Vì vậy, đây là một lợi thế có nghĩa là nếu bạn muốn viết một chương trình c,
bạn có thể viết nó trên hầu hết các hoạt động hệ
thống, bạn có thể viết nó trên windows, bạn có thể viết nó trên mac, bạn có thể viết nó trên hệ điều hành Linux.
Và nó cũng độc lập với phần cứng.
Một yếu tố quan trọng khác khi viết mã.
Nếu nó độc lập với phần cứng điều đó có nghĩa là nó dễ di động hơn.
Điều đó có nghĩa là bạn có thể lấy chương trình, bạn có thể chạy nó
trên một hệ điều hành khác.
Vì vậy, có sẵn cho hầu hết các máy tính có nghĩa là bạn có thể viết một chương trình c, nó
không có thứ gì đó đi làm trừ khi nó di động.
Vì vậy, bằng cách độc lập với phần cứng có nghĩa là nó có thể hoạt động trên nhiều hệ thống khác.
Vì vậy, vào cuối năm 1970, c đã phát triển thành cái mà ngày
nay được gọi là truyền thống c.
Đây là những gì bạn sẽ thấy trong giai cấp này, truyền thống c.
Sự mở rộng nhanh chóng của công việc c trên nhiều nền
tảng phần cứng khác nhau dẫn đến nhiều biến thể.
Vì vậy, tôi muốn nói một chút về các biến thể khác nhau của c và điều này thực sự
có nghĩa là có sự khác biệt tiêu chuẩn, vì vậy giống như
có cửa sổ 10, cửa sổ a và cửa sổ 7.
Có các phiên bản khác nhau của c.
Có một C89, C90, C99 và C11.
Và điều này về cơ bản đại diện cho năm 1989, 1990, 1999 và 2011.
Vì vậy, chúng là phiên bản tiêu chuẩn của c.
Một chương trình chỉ được viết theo tiêu chuẩn c và không có bất kỳ giả định phụ thuộc vào
phần cứng sẽ chạy chính xác trên bất kỳ nền tảng với trình biên dịch c tiêu chuẩn.
Nó luôn quan trọng để có tiêu chuẩn.
Vì vậy, những gì chúng tôi thực sự chỉ đang nói ở đây đã từng có
nhiều biến thể khác nhau của c.
Và chúng tôi bắt đầu tiêu chuẩn hóa vào năm 1989.
Và bằng cách tiêu chuẩn hóa, chúng tôi có thể bây giờ về cơ bản chạy nó ở bất cứ đâu.
Chúng tôi không có, hey, Microsoft là sẽ phát hành phiên bản c của họ.
Google sẽ phát hành phiên bản c của họ, chúng tôi
không gặp vấn đề đó nữa.
Chúng tôi đã tiêu chuẩn hóa nó.
Nếu bạn có phiên bản c không chuẩn, nó có thể không hoạt động trên các hệ điều hành khác nhau
hoặc các thiết bị khác nhau.
Vì vậy tiêu chuẩn hóa là quan trọng.
Tôi đã đề cập đến điều này bởi vì tôi muốn để
cho bạn biết chúng tôi sẽ tập trung vào tiêu chuẩn nào và cho bạn biết một chút về các tiêu chuẩn.
C89 là tiêu chuẩn đầu tiên.
1989 nó được hỗ trợ bởi hầu như tất cả các trình biên dịch c.
Hầu hết các mã bạn thấy ở đó ngày nay được viết bằng c dựa trên
C89, nó có các cấu trúc cơ bản.
Và vì vậy mỗi tiêu chuẩn có thể có các tính năng mới của ngôn
ngữ, v.v., đó là một lý do rằng nó quan trọng.
Nhưng C89 vì nó lâu đời nhất, nó được sử dụng rộng rãi nhất.
C99 là một bản sửa đổi nhỏ mở rộng về một số chức năng mà bạn thấy
một số khả năng.
Nó đã không được chấp nhận rộng rãi và không phải tất
cả các trình biên dịch đều hỗ trợ nó, nhưng chúng tôi sẽ tập trung chủ yếu vào C99.
Vì vậy, tiêu chuẩn hiện tại thường là được gọi là C11, 2011, không được sử
dụng nhiều, nhưng nó có rất nhiều tính năng thú vị, rất
nhiều thứ khác nhau tuyệt vời.
Chúng ta sẽ nói về cả ba tiêu chuẩn, nhưng chúng tôi sẽ tập trung vào C99.
Và chỉ mô tả một chút về phòng thí nghiệm c trình biên dịch có thể
không triển khai tất cả các tính năng ngôn ngữ được ủy quyền bởi tiêu chuẩn, điều đó đôi khi xảy ra.
Nhưng chúng tôi sẽ dựa trên các ví dụ của chúng tôi và các khái niệm về c cả ba
tiêu chuẩn, tập trung vào các khái niệm trong C11 nhưng chủ yếu là C99 là
các khái niệm cơ bản.
Vì vậy, tôi đã đề cập đến vấn đề này trước đây, nhưng một lần nữa tôi muốn nhắc lại.
Vì tất cả những lý do tôi đã đề cập như vậy cho đến nay, đây là lý do tại sao c rất quan trọng.
Đây là lý do tại sao điều quan trọng là phải tìm hiểu và đây là lý do tại sao nó phổ biến.
Và lý do cho điều này là bởi vì mọi người thích
nó, nó dễ viết dễ đọc.
Và như chúng tôi đã đề cập trước đó, Mục tiêu của Dennis Ritchie là làm cho nó được
các nhà phát triển sử dụng, đó là ngôn ngữ dành cho nhà phát triển.
Vì vậy, trong một hoặc hai thập kỷ qua, bạn có thể đã
chuyển từ c sang các ngôn ngữ như c ++ mục tiêu c trong java, nhưng c vẫn quan trọng.
Và một lần nữa, tôi đang đánh bại điều này cho đến chết nhưng nó là quan trọng.
Bằng cách học c, bạn có thể dễ dàng di chuyển sang các ngôn ngữ khác.
Vì vậy, vì tất cả những lý do này, điều này là lý do tại sao bạn muốn học c.
Giới thiệu cơ bản, một chút một chút về các tiêu chuẩn,
một chút về lịch sử và hiện tại chúng ta sẽ đi sâu vào chi tiết hơn
về ngôn ngữ lập trình.
Cảm ơn bạn.