Разница между C и C ++ с примерами | Языки программирования

Основное различие: C и C ++ - два разных языка программирования. C ++ был разработан на языке программирования C; однако они весьма различны по своей природе. Наиболее очевидным отличием является то, что C является языком, ориентированным на процедуры, тогда как C ++ поддерживает как процедурное, так и объектно-ориентированное программирование, поэтому его часто называют гибридным языком.

C и C ++ - это два разных языка программирования. Первоначально C был разработан Деннисом Ритчи в AT & T Bell Labs в период с 1969 по 1973 год. C ++ - еще один универсальный язык программирования. Он был разработан с оригинального языка программирования Си. Он был разработан Бьярном Страуструпом в Bell Labs, начиная с 1979 года. C ++ первоначально назывался C with Classes, так как он был основан на C. Он был переименован в C ++ в 1983 году.

C является одним из старейших в настоящее время используемых языков программирования и является одним из наиболее широко используемых языков программирования. Он постоянно использовался в приложениях, которые ранее кодировались на ассемблере. Это включает в себя компьютерную операционную систему UNIX. C также прямо или косвенно влияет на многие более поздние языки программирования, такие как C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python и оболочка C Unix. Несмотря на все эти новые языки, C по-прежнему остается популярным языком программирования.

Изначально C ++ начинался как усовершенствование C. Он был разработан для совместимости исходного кода и ссылок с C. Однако он добавил классы, виртуальные функции, перегрузку операторов, множественное наследование, шаблоны, обработку исключений и т. Д. В конце концов, он разработал достаточно, чтобы считаться языком программирования сам по себе. Первоначально он был ратифицирован в 1998 году как сертифицированный язык программирования ISO / IEC 14882: 1998. Сегодня C ++ сейчас широко используется для проектирования оборудования.

C - это язык программирования общего назначения, в котором точка с запятой (;) используется как терминатор оператора, а также фигурные скобки ({}) для группировки блоков операторов. Он имеет средства для структурного программирования, а его конструкция обеспечивает конструкции, которые могут эффективно отображаться в типичные машинные инструкции. Он также допускает область действия и рекурсию лексических переменных и имеет статическую систему типов, которая предотвращает многие непреднамеренные операции.

Однако, по сравнению с C ++, C имеет многочисленные ограничения. Поскольку C не является объектно-ориентированным, он не поддерживает концепции OOPS. C не поддерживает перегрузку функций и операторов. Он не может использовать функции внутри структур. Он не поддерживает виртуальные функции и ссылочные переменные или обработку исключений. Он также не поддерживает ссылочные переменные. Кроме того, C также не инкапсулирует и не защищает данные. Для сравнения, C ++ поддерживает все эти функции.

Кроме того, C не поддерживает функцию NAMESPACE, в то время как C ++ поддерживает. Пространство имен - это определенная область, которая позволяет группировать идентификаторы (имена типов, функций, переменных и т. Д.). Пространства имен могут затем использоваться для организации кода в логические группы и предотвращения конфликтов имен. Это особенно полезно, когда база кода включает в себя несколько библиотек, что в идеале делает код подверженным конфликтам имен.

Эти два языка также различаются по способу работы с адресной памятью, ввода-вывода и программирования GUI. Например, C использует функции calloc (), malloc () и free () для выделения и освобождения памяти, в то время как C ++ использует new и delete. C использует scanf () и printf () для ввода и вывода, в то время как C ++ использует операторы cin >> и cout <<. C поддерживает инструмент GTK для программирования GUI, тогда как C ++ поддерживает инструменты Qt для программирования GUI. Другое отличие состоит в том, что C требует, чтобы один объявил все переменные в начале программы, тогда как в C ++ переменные могут быть объявлены где угодно в программе.

Кроме того, C ++ обычно считается более легким в освоении, поскольку он более удобен для пользователя, чем C. C ++ также имеет множество дополнительных функций, облегчающих кодирование, особенно для тех, кто является новичком в C-среде. Однако многие утверждают, что это действительно имеет значение. Два языка отличаются настолько сильно, что фактически могут быть двумя разными языками, независимыми друг от друга. Следует иметь в виду, что C гораздо более структурирован, чем C ++, тогда как C ++ был разработан, чтобы быть более выразительным и абстрактным, чем C.

Сравнение между C и C ++:

С

C ++

основанный

Разработано Деннисом Ритчи в AT & T Bell Labs с 1969 по 1973 год.

Разработано Бьярном Страуструпом в Bell Labs с 1979 года.

Исходный код

Исходный код программы в произвольном формате

Первоначально разработано на языке программирования C

язык

Процедурно-ориентированный язык

Поддерживает как процедурные, так и объектно-ориентированные парадигмы программирования; поэтому его часто называют гибридным языком.

Подход

Следует нисходящему подходу.

Следует подход снизу вверх.

отношения

C является подмножеством C ++. Он не может запустить код C ++.

C ++ является надмножеством C. C ++ может выполнять большую часть кода C, в то время как C не может выполнять код C ++.

Привод

Функционально-управляемый язык

Объектно-управляемый язык

фокус

Ориентирован на метод или процесс, а не на данные.

Ориентирован на данные, а не на метод или процедуру.

Строительные блоки

функции

Объекты

Ключевые слова

Содержит 32 ключевых слова

Содержит 52 ключевых слова

ООП Концепции

Поскольку язык «C» является процедурно-ориентированным языком, он не поддерживает такие понятия OOPS, как класс, объект, наследование, полиморфизм, скрытие данных и т. Д.

Как объектно-ориентированный язык, C ++ поддерживает класс, объект, сокрытие данных, полиморфизм, наследование, абстракцию и т. Д.

функции

  • Не поддерживает перегрузку функций и операторов.
  • Невозможно использовать функции внутри структур
  • Не поддерживает виртуальные функции и ссылочные переменные
  • Не поддерживает обработку исключений
  • не поддерживает ссылочные переменные
  • не имеет функции пространства имен
  • может вызывать функцию main () через другие функции
  • Поддерживает перегрузку функций и операторов.
  • Может использовать функции внутри структур
  • Поддерживает виртуальные функции и ссылочные переменные.
  • Поддерживает обработку исключений с использованием блоков try и catch. Исключения используются для «серьезных» ошибок, которые делают код некорректным.
  • поддерживает ссылочные переменные
  • использует функцию NAMESPACE, которая позволяет избежать конфликтов имен.
  • не может вызвать функцию main () через другие функции.

Функции памяти

Использует функции calloc (), malloc () и free () для выделения и освобождения памяти.

Использует операторы new и delete для той же цели.

Инкапсуляция

Не поддерживается. Данные и функции являются отдельными и свободными объектами.

Поддерживает инкапсуляцию. Данные и функции инкапсулированы вместе в форме объекта. Класс объектов обеспечивает план структуры объекта.

Сокрытие информации

C не поддерживает скрытие информации. Здесь данные являются свободными объектами и могут управляться внешним кодом.

Инкапсуляция скрывает данные, чтобы гарантировать, что структуры данных и операторы используются по назначению.

Данные

Поддерживает встроенные и примитивные типы данных.

Данные не защищены из-за не объектно-ориентированного

Поддерживает как встроенные, так и определяемые пользователем типы данных.

Данные защищены (скрыты) в C ++

уровень

Язык низкого уровня

Язык среднего уровня

Ввод, вывод

Язык 'C' использует scanf () и printf () для ввода и вывода.

В языке C ++ для ввода и вывода используются операторы cin >> и cout <<.

Объявление переменных

C требует, чтобы один объявил все переменные в верхней части программы.

В C ++ переменные могут быть объявлены в любом месте программы перед использованием.

Многократная декларация

Допускается многократное объявление глобальных переменных.

Многократное объявление глобальных переменных не допускается.

картографирование

Отображение между данными и функциями сложно и сложно.

Сопоставление данных и функций можно использовать с помощью «Объектов».

GUI программирование

C поддерживает GTK инструмент для программирования GUI

C ++ поддерживает инструменты Qt для программирования GUI

наследование

Наследование не возможно в C

Наследование возможно в C ++

Расширение файла

Имеет расширение файла .c

Имеет расширение файла .cpp

Заголовочный файл по умолчанию

Заголовочный файл по умолчанию, используемый на языке C, это stdio.h

Заголовочный файл по умолчанию, используемый в C ++, это iosteam.h

Некоторые примеры различий между C и C ++:

Примеры

С

C ++

Объявление переменной

Только наверху:

Int I;

для (i = 10; i <10; i ++)

В любом месте программы:

для (int i = 10; i <10; i ++)

Выделение памяти

Malloc:

int * x = malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Новое:

int * x = new int;

int * x_array = new int [10];

Освобождение памяти

Свободно:

бесплатно (х);

бесплатно (x_array);

Удалять:

удалить х;

удалить [] x_array;

Рекомендуем

Похожие статьи

  • популярные сравнения: Разница между лицом и маской

    Разница между лицом и маской

    Главное отличие: уход за лицом - это косметическая процедура для лица. Это процедура, которая включает в себя различные этапы, чтобы очистить и улучшить цвет лица. Маска для лица относится к препарату для очищения кожи. Они используются для уменьшения сухости кожи. Маска для лица часто используется на лице. Все любят быть побаловать себя. Один из способов, которым женщины часто восхищаются, что
  • популярные сравнения: Разница между Nokia Lumia 928 и iPhone 5

    Разница между Nokia Lumia 928 и iPhone 5

    Основное отличие: Nokia недавно анонсировала новый телефон в своей линейке; Lumia 928. Телефон поставляется с 4, 5-дюймовым емкостным AMOLED-экраном с широкой задней панелью. Телефон довольно громоздкий и тяжелый по сравнению с другими более новыми смартфонами, которые стремятся стать тоньше и легче. IPhone 5 - это новейший инновационный продукт компании Apple. Они сделали новый телефон более гладким, тонким и легким с еще более насыщенными функциями. iPhone 5 поддерживает 4-дюймовый IPS ЖК-экран со светодиодной подсветкой с
  • популярные сравнения: Разница между биткойнами и лайткойнами

    Разница между биткойнами и лайткойнами

    Ключевое отличие: Биткойн - это первый полностью реализованный одноранговый протокол криптовалюты. Litecoin - это еще одна одноранговая криптовалюта, которая вдохновлена ​​и технически почти идентична биткойну. Биткойн и Лайткойн - оба типа цифровых криптовалют. Цифровая валюта - это любая валюта, которая используется онлайн, в отличие от традиционных валют, которые имеют банкноты
  • популярные сравнения: Разница между покупкой и покупкой

    Разница между покупкой и покупкой

    Ключевое отличие: покупка заключается в получении чего-либо в обмен на деньги или товары. Покупка - это акт или процесс поиска и получения чего-либо. Покупка и покупка являются синонимами. В большинстве случаев они используются взаимозаменяемо, но в некоторых случаях они используются по-разному. Как? Различия упомянуты ниже. Согласно Dicti
  • популярные сравнения: Разница между пурином и пиримидином

    Разница между пурином и пиримидином

    Ключевое отличие: пиримидин является гетероциклическим ароматическим органическим соединением, состоящим из азота и углерода. Пурин также является гетероциклическим ароматическим органическим соединением, состоящим из пиримидинового кольца, конденсированного с имидазольным кольцом. Примидиновые основания состоят из единственной кольцевой структуры, тогда как пурины состоят из конденсированного двойного кольца. Они отличаются во многих аспектах, таких как температура плавления, температура кипения и т. Д. Пиримидин представля
  • популярные сравнения: Разница между Ниагарским и Водопадом Виктория

    Разница между Ниагарским и Водопадом Виктория

    Ключевое отличие: Ниагарский водопад - это водопад, расположенный на реке Ниагара. Они состоят из трех водопадов - Американский водопад и Фата в Соединенных Штатах Америки и канадская «Подкова», которая падает в Канаде. Водопад Виктория расположен на реке Замбези в южной части Африки, на границе Замбии и Зимбабве. Водопад Виктория выше и шире по сравнению с Ниагарским водопадом. Ниагарский водопа
  • популярные сравнения: Разница между целым и двойным

    Разница между целым и двойным

    Основное различие: в языках программирования integer и double оба являются типами данных (спецификаторами арифметического типа), используемыми для определения переменной перед ее использованием. Integer используется в качестве типа данных для обозначения целого числа, тогда как double - это тип данных для обозначения большого плавающего числа. Яз
  • популярные сравнения: Разница между кикбоксингом и боксом

    Разница между кикбоксингом и боксом

    Ключевое отличие: кикбоксинг и бокс являются родственниками друг друга, но не похожи друг на друга. Как следует из названия, кикбоксинг ассоциируется с ударами и боксом, а бокс - только с боксом, а не с ударами. Кикбоксинг и бокс - отличные упражнения для сердечно-сосудистой системы. Кикбоксинг - это игра в кик и бокс. Это боевое искусство, а также вид боевого спорта, который
  • популярные сравнения: Разница между BE и BS в машиностроении

    Разница между BE и BS в машиностроении

    Ключевое отличие: BE означает бакалавр инженерных наук. Эта степень присваивается по завершении трех-пятилетней программы, связанной с инженерными концепциями. Бакалавр инженерных наук - бакалавр наук в области машиностроения Они оба относятся к аналогичным типам курсов, и при успешном завершении курсов присваиваются степени. BE и BS in Engineering часто создают путаницу, поскольку оба связаны с инженерными курсами. Многие люди предполагают, что оба они отличаются друг от друга. Однако между ними нет большой разницы. Единственная разница, которая существует, заключается в том, что колледжи или

Выбор редакции

Разница между настольным компьютером и ноутбуком

Основное различие: настольный или настольный компьютер - это персональный компьютер, который находится в фиксированном месте. С другой стороны, ноутбук - это компактная версия настольного компьютера. Как правило, рабочий стол громче, чем ноутбук. Ноутбуки предпочтительнее из-за их портативности, в то время как настольные ПК предпочтительнее из-за более изящных дет