Разлика между C и C ++ с примери | Програмни езици

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

C и C ++ са два различни езика за компютърно програмиране. C е първоначално разработена от Денис Ричи в AT&T Bell Labs между 1969 и 1973 г. C ++ е друг език за програмиране с общо предназначение. Той е разработен от оригиналния език за програмиране C. Тя е разработена от Bjarne Stroustrup в Bell Labs от 1979 г. C ++ първоначално е бил наречен C с Classes, тъй като е базиран на C. Той е преименуван на C ++ през 1983 година.

C е един от най-старите програмирани в момента езици за програмиране и е един от най-широко използваните езици за програмиране. Той е бил постоянно използван в приложения, които преди това са били кодирани на асемблер. Това включва компютърната операционна система UNIX. C също така пряко или косвено е повлияло много от по-късните езици за програмиране, като C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python и C shell на Unix. Въпреки всички тези нови езици, C все още остава популярен език за програмиране.

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

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

Въпреки това, в сравнение с C ++, C има множество ограничения. Тъй като С не е обектно ориентиран, той не поддържа OOPS концепции. C не поддържа функция и претоварване на оператора. Не може да използва функции вътре в структурите. Той не поддържа виртуални функции и референтни променливи или обработка на изключения. Той също така не поддържа референтни променливи. Освен това С също не капсулира или обезопасява данни. За сравнение, C ++ поддържа всички тези функции.

Освен това, C не поддържа NAMESPACE, докато C ++ го прави. Пространството на имената е окончателен регион, който позволява да се групират идентификаторите (имената на типовете, функциите, променливите и т.н.). Пространствата от имена могат да се използват за организиране на код в логически групи и за предотвратяване на сблъсъци на имена. Това е особено полезно, когато кодовата база включва множество библиотеки, което в идеалния случай прави кода податлив на сблъсъци на имена.

Двата езика също се различават по начина, по който функциите на адресната памет, входно-изходното и GUI програмирането. Например, C използва calloc (), malloc () и free () функции за разпределяне и де-разпределение на паметта, докато C ++ използва нови и изтрива. 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 ключови думи

OOPS концепции

Тъй като „C“ езикът е ориентиран към процедурата език, той не поддържа OOPS концепции като клас, обект, наследяване, полиморфизъм, криене на данни и др.

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

Функции

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

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

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

Използва нови оператори и изтрива за същата цел.

Капсулирането

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

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

Скриване на информация

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

Инкапсулирането крие данните, за да се гарантира, че структурите от данни и операторите се използват по предназначение.

Данни

Поддържа вградени и примитивни типове данни.

Данните не са защитени поради не-обектно ориентирано

Поддържа както вграден, така и потребителски тип данни.

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

ниво

Език на ниско ниво

Език на средно ниво

Вход изход

"C" език използва scanf () и printf () за въвеждане и извеждане.

"C ++" език използва cin >> и cout << оператори за въвеждане и извеждане.

Декларация за променливи

С изисква да се декларират всички променливи в горната част на програмата.

В C ++, променливите могат да бъдат декларирани навсякъде в програмата преди употреба.

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

Разрешено е многократно деклариране на глобални променливи.

Не се допускат многократни декларации за глобални променливи.

картография

Картирането между данни и функции е трудно и сложно.

Картирането между данни и функция може да се използва с помощта на „Обекти“

Програмиране с GUI

C поддържа GTK инструмент за програмиране на GUI

C ++ поддържа Qt инструменти за програмиране на GUI

наследяване

Наследяването не е възможно при С

Наследяването е възможно в 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 ++)

Разпределение на паметта

изчистване:

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

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

Ново:

int * x = нов int;

int * x_array = new int [10];

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

Безплатно:

безплатно (x);

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

Изтрий:

изтриване x;

delete [] x_array;

Препоръчано

Свързани Статии

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

    Разлика между Telangana и Rayalaseema

    Ключова разлика: Телангана и Раялесеема са два различни региона в Индия. Състоянието на Андра Прадеш се състои от три региона: Телангана, Раялесеема и крайбрежния регион Андра. Телангана и Раялесеема са два различни региона в Индия. Състоянието на Андра Прадеш се състои от три региона: Телангана, Раялесеема и крайбрежни
  • популярни сравнения: Разлика между содата за печене и прах за печене

    Разлика между содата за печене и прах за печене

    Ключова разлика: Сода за хляб е химично съединение, което се използва като разяждащ агент в печени изделия. Прахът за печене обикновено е само сода за печене, смесена с киселина. Прахът за печене обикновено е просто сода за печене, смесена с киселина, обикновено крем от зъбен камък и сушилен агент, обикновено нишесте. Со
  • популярни сравнения: Разлика между Sony Xperia ZR и Samsung Galaxy S4 Active

    Разлика между Sony Xperia ZR и Samsung Galaxy S4 Active

    Основна разлика: Sony Xperia ZR е по същество по-малка версия на флагмана Xperia Z, който предлага много от същите функции. Подобно на Xperia Z, новият Xperia ZR е устойчив на вода и прах. Въпреки това, телефонът може да се използва и под водата и може да издържи под водата до 30 минути, за разлика от
  • популярни сравнения: Разлика между моларността и моларността

    Разлика между моларността и моларността

    Ключова разлика: Моларността, известна също като моларна концентрация, измерва броя молове на веществото, присъстващо в литър разтвор. Моларността се обозначава с главна M. Molality измерва броя молове на веществото, присъстващо в килограм разтворител. Молантността се обозначава с малка буква m. Терминът „моларно
  • популярни сравнения: Разлика между обезмаслено мляко и мазнини без мазнини

    Разлика между обезмаслено мляко и мазнини без мазнини

    Ключова разлика: Обезмасленото мляко е мляко, от което се премахва почти цялата млечна мазнина. От друга страна, млякото без мазнини е другото име на обезмаслено мляко. Млякото е една от най-важните части на диетата на всеки човек. Човек трябва да има поне една чаша мляко всеки ден. Млякото е продуктът,
  • популярни сравнения: Разлика между Бейонс и Риана

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

    Ключова разлика: Beyonce е известна американска поп / R & B певица, композитор и актриса. Риана е известна Барбадска поп / R & B артист, актриса и моден дизайнер. Бейонс Ноулс е родена на 4 септември 1981 г. в Хюстън, Тексас. В ранна възраст излага певчески талант и участва в различни конкурси. Тя спечели няколко награди за естествения си певчески
  • популярни сравнения: Разлика между съня и реалността

    Разлика между съня и реалността

    Ключова разлика : Сънят може да се определи като серия от изображения, събития и усещания, които се случват по време на сън. Реалността е екзистенциалното състояние на нещата без въображение или интерпретация. Сънищата наистина се оказаха интригуваща тема, за която учените трябва да учат. Откакто феноменът на сънищата попадна в обхвата на науката, многобройни учени, психолози ил
  • популярни сравнения: Разлика между Парламента и Законодателното събрание

    Разлика между Парламента и Законодателното събрание

    Основна разлика: Парламентът и законодателното събрание са имена, които се дават на законодателен орган. Законодателната власт не е нищо повече от организация за вземане на решения. Най-често срещаната и вероятно единствената разлика между двете е, че докато името на Законодателното събрание може да бъде дадено на всяка законодате
  • популярни сравнения: Разлика между сокол и орел

    Разлика между сокол и орел

    Ключова разлика: Соколите са хищни птици с дълги заострени крила и предназначен (вдлъбнат) клюн. Орлите са големи хищни птици; те са известни с по-големия си размер. Соколите са хищни птици. Те са малки със силен ъглов клюн. Ъгловият завой на човката им позволява лесно да счупят врата на плячката си. Те принадлежат към един и същи род; и им

Избор На Редактора

Разлика между MATLAB и Java

Ключова разлика: MATLAB е компютърен език за поддържане на интерактивна математическа математика, разработена през 70-те години. От друга страна, Java е език за програмиране и изчислителна платформа, която за първи път е издадена от Sun Microsystems през 1995 година. MATLAB и Java, и двете са изчислителни езици, които обикновено се намират в много корпоративни структури. Това е много подробна серия, но нека се опитаме да обсъдим основните точки, които щ