Phong Vũ Blog

Thứ Sáu, 13 tháng 8, 2021

Sự khác biệt cơ bản giữa hai ngôn ngữ lập trình C và C++

 admin     tháng 8 13, 2021     No comments   


Mục Lục Nội Dung

Mình tin chắc một điều là đối với dân lập trình thì không ai là không biết đến C và C++ cả, có đúng không ạ 🙂

Vậy bạn có biết sự khác nhau lớn nhất giữa C và C++ là gì không? Thực sự là trước đây khi mới được học thì giáo viên không phân biệt rõ ràng điều này giúp mình, nên lúc đó mình rất mơ hồ về 2 ngôn ngữ lập trình này.

Vậy nên, nếu như bạn cũng đang có cùng thắc mắc như trên thì hãy cùng mình đi tìm đáp án ngay trong bài viết này nhé !

so-sanh-c-va-c-cong-cong (1)
Cú pháp có vẻ trông giống nhau nhưng đừng đánh đồng hai ngôn ngữ này

Đọc thêm:

#1. Thông tin cơ bản về C và C++

C được phát triển bởi Dennis Ritchie từ 1969 tới 1973. C++ được phát triển bởi Bjarne Stroustrup vào 1979 => C++ được kế thừa từ C

C là ngôn ngữ thủ tục (Procedural Language), bởi nó tuân theo quy trình từng bước bao gồm các hàm. Hay có thể nói, C là ngôn ngữ cấp thấp (Low-Level Language) nên sẽ có độ phức tạp nhất định khi học so với các ngôn ngữ mới hiện nay (ví dụ như C# hoặc Python…)

Đối với khoa học máy tính, ngôn ngữ lập trình bậc thấp là một ngôn ngữ lập trình có liên quan chặt chẽ đến phần cứng máy tính.

Các bạn lưu ý, từ “thấp” ở đây bạn đừng hiểu là ngôn ngữ lập trình này kém hơn so với các ngôn ngữ lập trình bậc cao nhé. Mà hiểu đúng phải là các lệnh của nó rất gần ngôn ngữ máy.

C++ là ngôn ngữ lập trình hướng đối tượng, có nghĩa là C++ tập trung vào tính kế thừa và nó có khả năng sử dụng lại mã code, có khả năng đóng gói và tạo ra các đối tượng.

Tuy có nhiều điểm tương đồng nhưng C và C++ là 2 ngôn ngữ lập trình khác nhau nhé các bạn.

#2. Điểm giống nhau giữa ngôn ngữ C và C++

Nói về sự giống nhau giữa hai ngôn ngữ lập trình này thì chắc hẳn các bạn sẽ nghĩ ngay là cú pháp đúng không !

C++ là ngôn ngữ lập trình thừa kế, mở rộng từ C, đây cũng chính là lý do vì sao người ta hay gộp chung chúng lại thành C/C++, ngoài ra chúng ta còn có rất nhiều điểm chung giữa hai ngôn ngữ này, tiêu biểu phải kể  đến như:

  1. Cả 2 đều là ngôn ngữ lập trình cấp thấp.
  2. Có cấu trúc code giống nhau. Ngoài ra thì cú pháp và cách viết code cũng giống nhau.
  3. Việc biên dịch của cả hai ngôn ngữ này là tương tự nhau.
  4. Gần như tất cả các toán tử và từ khóa của C cũng có trong C ++.
  5. C và C++ đều hỗ trợ quản lý bộ nhớ một cách thủ công. Có nghĩa là chúng không có khả năng thu gom “rác” để giải phóng bộ nhớ khỏi các đối tượng không sử dụng.
  6. Các khái niệm giống nhau về vùng nhớ stack, heap, tệp và biến tĩnh….

so-sanh-c-va-c-cong-cong (1)

#3. Sự khác nhau giữa C và C++

Còn dưới đây là một số sự khác biệt tiêu biểu giữa hai ngôn ngữ lập trình C và C++ mà các bạn nên nắm được:

  1. C là ngôn ngữ hướng thủ tục (hay còn gọi là ngôn ngữ lập trình cấu trúc), còn C++ là ngôn ngữ lập trình hướng đối tượng (C++ còn được gọi là ngôn ngữ lai vì hỗ trợ khá nhiều mô hình lập trình).
  2. Vì không phải là ngôn ngữ lập trình hướng đối tượng như C++ nên C không có các tính chất như tính đa hình, tính đóng gói và kế thừa, và khả năng bảo mật của C++ chắc chắn cao hơn C.
  3. C không hỗ trợ nạp chồng hàm và nạp chồng toán tử, cũng không có tính năng không gian tên và chức năng biến tham chiếu. Còn C ++ hỗ trợ cả nạp chồng hàm và toán tử, ngoài ra nó cũng có tính năng không gian tên và chức năng biến tham chiếu….
  4. C thi có 32 từ khóa, còn C++ có nhiều hơn 32 từ khóa.
  5. C++ hỗ trợ ẩn thông tin còn C thì không (điều này liên quan mật thiết đến đóng gói).
  6. C++ có khả năng xử lý ngoại lệ tốt (khối Thử (Try) và Bắt (Catch)) => điều này giúp cho việc xử lý lỗi, tìm lỗi dễ dàng hơn so với C rất nhiều.
  7. Đuôi mở rộng của C là *.c, còn đuôi mở rộng của C++ là *.c và *.cpp
  8. C++ có thể chạy được code của C, nhưng C thì không thể chạy được code của C++

#4. Lời kết

Đó là sự khác biệt cơ bản giữa hai ngôn ngữ lập trình C và C++ !

Ở đây mình đã không so sánh thật sự chi tiết về những khía cạnh của cả hai ngôn ngữ như tốc độ (về lí thuyết thì C nhanh hơn C++, nhưng trong một số trường hợp thì việc áp dụng C++ sẽ cho ra kết quả tốt hơn) như: khả năng tương thích với các ngôn ngữ lập trình khác, tính bảo mật dữ liệu, tính đóng gói và ẩn thông tin, biến,…

Nhưng công bằng mà nói thì đối với người mới, ngôn ngữ C có thể sẽ đơn giản và sẽ hữu ích hơn trong việc hiểu các khái niệm chính của lập trình cấp thấp.

Hi vọng là bài viết này sẽ hữu ích với bạn. Hẹn gặp lại các bạn trong các bài viết sau nhé !

CTV: Dương Quang Nhất – Blogchiasekienthuc.com

Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Adblock test (Why?)


Xem Chi Tiết Ở Đây >>>
Bạn có thể quan tâm:
>> Năm lý do khiến bạn nên mua một chiếc AirPods Max
>> Tai nghe Galaxy Buds2 đang được chế tạo, thiết kế có nhiều nâng cấp
>> Loa 7.1 Là Gì? Hệ Thống Âm Thanh 7.1 Được Sắp Xếp Như Thế Nào?
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Gửi email bài đăng nàyBlogThis!Chia sẻ lên XChia sẻ lên Facebook
Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ

0 Comments:

Đăng nhận xét



Popular Posts

  • Hướng dẫn cách xóa tài khoản Facebook vĩnh viễn, không thể khôi phục lại
    Làm sao để xóa vĩnh viễn tài khoản Facebook khi không còn muốn sử dụng Facebook nữa, bài viết này sẽ hướng dẫn bạn. Facebook hiện nay đã v...
  • 5 Buildings To Visit in University Campuses (Singapore)
    In Singapore, you can visit a lot of places to appreciate architecture. This list is composed of my top five structures to visit in universi...
  • Monsoon trip to Raigad Fort – King of Forts
    I have been to the Raigad fort twice for a day trip but had never explored the entire fort. In this monsoon, a 2 day trip to the Raigad fort...
  • Itinerary India & Kashmir April 2019 (Day 1)
    Fakta mengenai Kashmir :  95% penduduk Kashmir adalah Muslim. Tak payah risau makanan di sana, semuanya halal.  Penduduk Kashmir sanga...
  • Bombay To Beijing By Bicycle-- A Guest Post By Russell McGilton
    The first time I arrived in India it was 1969 and the world was changing around me and inside me. I drove in my VW van from Europe and I sta...
  • The Island of FÖHR - every village a home
    Föhr - every village a home: What's that all about? I'm not able to figure out Föhr's strongest suit - there are so many great t...
  • Trip to Phansad Wildlife Sanctuary and Revdanda
    After a trip to Blackbuck national park Velavadar, I wanted to visit one more wildlife sanctuary. Due to lack of leaves, I decided to visit ...

Copyright © Phong Vũ Blog | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates