C và c ++ có giống nhau không?

Các ngôn ngữ lập trình C và C++ hỗ trợ phần lớn các sản phẩm, ứng dụng và trang web trên thế giới

Mỗi người đã giúp đặt nền móng cho việc tạo ra nhiều ngôn ngữ lập trình phổ biến, chẳng hạn như Java. Chúng cũng hỗ trợ nhiều ngôn ngữ mà bạn có thể sử dụng thường xuyên cho các dự án lập trình của mình, chẳng hạn như Python

Trong bài viết này, bạn sẽ tìm thấy tổng quan chung và thân thiện với người mới bắt đầu về hai ngôn ngữ cùng với những điểm tương đồng và khác biệt chính của chúng

Nguồn gốc của C và C++

Lịch sử của ngôn ngữ lập trình C

Ken Thompson và Dennis Ritchie đã làm việc được vài năm trong dự án MULTICS [Multiplexed Information and Computing Service] tại AT&T Bell Laboratories

Sau khi dự án dừng lại, vào năm 1969, Ken Thompson bắt đầu thực hiện trò chơi Du hành Không gian của mình trên một chiếc máy PDP-7 ít được sử dụng.

Trong khi làm như vậy, cuối cùng anh ấy đã viết được một hệ điều hành gần như hoàn chỉnh, Unix, từ đầu bằng hợp ngữ

Trong khi làm việc trên MULTICS, cả Thompson và Ritchie đều đã viết phần mềm hệ thống và các tiện ích lập trình bằng các ngôn ngữ cấp cao hơn. Và họ đã thấy toàn bộ quá trình dễ dàng hơn nhiều so với ngôn ngữ hợp ngữ bí ẩn và khó giải mã

Ritchie đã tham gia cùng Thompson để giúp chuyển Unix sang một máy mới hơn - PDP-11

Trong thời gian đó, họ đã thử nghiệm nhiều ngôn ngữ cấp cao hơn có thể giúp hoàn thành công việc

Họ đã sử dụng BCPL [Ngôn ngữ lập trình kết hợp cơ bản], được sử dụng nhiều trong kỷ nguyên MULTICS. Sau khi dùng thử, cuối cùng Thompson đã viết ra một ngôn ngữ mới – ngôn ngữ lập trình B

Ngôn ngữ B tương tự như BCPL nhưng là phiên bản đơn giản và rút gọn hơn

Nhưng B chưa đủ mạnh và chưa tận dụng hết các tính năng mới cũng như sức mạnh của PDP-11

Thompson [ngồi] và Ritchie làm việc cùng nhau tại PDP-11. Tín dụng hình ảnh và văn bản từ Wikipedia

Dennis Ritchie bắt đầu cải thiện ngôn ngữ B và cuối cùng tạo ra ngôn ngữ lập trình C

C là một ngôn ngữ di động, có nghĩa là các chương trình được viết bằng nó có thể được chuyển và sử dụng trên nhiều loại kiến ​​trúc máy. Nó rất nhanh và dễ biên dịch và có ánh xạ trực tiếp tới mã máy, cho phép lập trình viên truy cập vào các chức năng cấp thấp

Cuối cùng họ đã viết lại hệ điều hành Unix bằng C vào năm 1972

Vì C là portable và là ngôn ngữ Unix được triển khai trên đó, các nhà phát triển bắt đầu chấp nhận nó và sử dụng nó rộng rãi. Điều này dẫn đến sự thành công của hệ điều hành Unix và đến lượt ngôn ngữ C trở nên phổ biến

Dennis Ritchie và Brian Kernighan đồng tác giả cuốn sách 'Ngôn ngữ lập trình C' vào năm 1977, đã tạo ra một tiêu chuẩn cho cách sử dụng ngôn ngữ này. Cuốn sách này đã phổ biến ngôn ngữ hơn nữa

C có ý nghĩa cực kỳ quan trọng trong lịch sử điện toán và việc tạo ra nó dẫn đến việc tạo ra nhiều ngôn ngữ lập trình khác. Vì thế, nó thường được gọi là "mẹ đẻ" của tất cả các ngôn ngữ lập trình

Lịch sử của C++

Năm 1979, nhà nghiên cứu Bjarne Stroustrup được thuê tại Phòng thí nghiệm AT&T Bell

Trong những năm 1970, độ phức tạp và sức mạnh tính toán của máy tính tăng lên và những hạn chế trong ngôn ngữ lập trình C bắt đầu xuất hiện.

Đầu những năm 1980, Bjarne Stroustrup đã tạo ra một ngôn ngữ mới chịu ảnh hưởng của hai điều.

  • Khả năng lập trình hướng đối tượng của một ngôn ngữ khác, Simula, cung cấp một cách tiếp cận lập trình khác so với C. Mã có thể được trừu tượng hóa và tổ chức tốt hơn và mọi thứ có thể được biểu diễn bằng cách sử dụng các lớp
  • Ngôn ngữ lập trình hệ thống, C, cung cấp khả năng tiếp cận thực sự gần với phần cứng máy và thực hiện các tác vụ tính toán ở mức độ thấp

Hai ý tưởng đó được kết hợp cho phép trừu tượng hóa ở mức độ cao hơn mà không làm mất đi hiệu quả ở mức độ thấp của C. Vì vậy, ngôn ngữ 'C với các lớp' đã được tạo

Năm 1984 'C with classes' được đổi tên thành C++

Vì vậy, C++ là siêu bộ của C, nghĩa là nó là phần mở rộng của C và dựa trên nó. C++ chỉ cung cấp các khả năng bổ sung cho ngôn ngữ C

Điểm giống nhau giữa C và C++

Dưới đây là một số điểm tương đồng giữa C và C++

Cú pháp và cấu trúc mã

Cú pháp tổng thể của hai ngôn ngữ rất giống nhau. Các toán tử và từ khóa được sử dụng trong C cũng được sử dụng trong C++ để đạt được những điều tương tự. Nhưng C++ có nhiều từ khóa hơn C và nó có ngữ pháp mở rộng

Nhận xét nội tuyến, // và khối nhận xét, */ */, trông giống nhau

Ngoài ra, mọi câu lệnh đều kết thúc bằng dấu chấm phẩy,______2

Điều kiện, vòng lặp, khởi tạo và khai báo biến – tất cả đều giống nhau giữa hai ngôn ngữ

Cả C và C++ đều có phương thức main[], khởi động mọi chương trình và cả hai đều bao gồm các tệp tiêu đề ở đầu các tệp tương ứng, với #include

Ngôn ngữ lập trình tổng hợp

Cả C và C++ đều là ngôn ngữ lập trình được biên dịch

Trình biên dịch là một chương trình phần mềm máy tính

Nó lấy mã nguồn mà một lập trình viên đã viết bằng ngôn ngữ lập trình cấp cao hơn và dịch nó sang ngôn ngữ khác mà máy tính có thể hiểu được

Dạng này là mã hợp ngữ đầu tiên được dịch lại thành mã máy – ngôn ngữ mẹ đẻ của tất cả các máy tính

Ngôn ngữ máy là một tập hợp các hướng dẫn được hiểu trực tiếp bởi CPU của máy tính [Bộ xử lý trung tâm]

Khi mã nguồn đã được dịch sang mã máy, tệp thực thi nhị phân, a.out, sẽ được tạo

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

Bây giờ chúng ta hãy xem xét một số khác biệt giữa hai ngôn ngữ

Phương thức nhập và xuất

C và C++ sử dụng các cách khác nhau để xuất thông tin ra bàn điều khiển và nhận thông tin từ người dùng

Trong C, scanf[] được sử dụng cho đầu vào của người dùng, trong khi printf[] được sử dụng để xuất dữ liệu

Trong C++, std::cin >> được sử dụng để nhận đầu vào của người dùng và std::cout

Chủ Đề