Шта је програмски језик Ц?
Ц је програмски језик средњег нивоа који је у Белл Лаб-у 1972. године развио Деннис Ритцхие. Језик Ц комбинује особине језика ниског и високог нивоа. Отуда се сматра језиком средњег нивоа.
Ц је програмски језик класичног типа на високом нивоу који вам омогућава развој фирмвера и преносних апликација. Језик Ц је развијен с циљем писања софтвера система. То је идеалан језик за развој система фирмвера.
Шта је програмски језик Ц ++?
Ц ++ је рачунарски програмски језик који садржи особине програмског језика Ц као и Симула67 (први објектно оријентисани језик). Ц ++ је представио концепт класе и објеката.
Садржи језичке карактеристике високог и ниског нивоа. Дакле, на њега се гледа као на језик средњег нивоа. Раније се звао „Ц са часовима“, јер је имао сва својства језика Ц.
КЉУЧНА РАЗЛИКА
- Ц је процесно оријентисани језик, док је Ц ++ језик објектно оријентисаног програмирања.
- Ц подржава само показиваче, док Ц ++ подржава и показиваче и референце.
- Ц не дозвољава коришћење преоптерећења функција, док Ц ++ омогућава преоптерећење функција.
- Ц подржава уграђене типове података, док Ц ++ подржава уграђене као и кориснички дефинисане типове података.
- Језик Ц следи приступ одозго према доле, док Ц ++ следи приступ одоздо према горе.
- Ц сцан и принтф се користе за стандардни улаз и излаз, док су у Ц ++, цин и цоут дати за стандардне операције уноса и излаза.
Ц Вс. Ц ++: Кључне разлике
Основа разликовања | Ц. | Ц ++ |
---|---|---|
Тип програмирања | То је процесно оријентисани језик. | То је објектно оријентисан програмски језик. |
Приступ | Језик Ц следи приступ одозго надоле | Ц ++ следи приступ одоздо према горе. |
Екстензија датотеке | Додатак датотеке програма Ц је .ц | Екстензија датотеке програмског језика ц + + је.цпп |
Подела програма | У програмском језику Ц, велики програмски код је подељен на мале делове што се назива функцијама. | У програмском језику Ц ++, велики програмски код је подељен на Објекте и Класе. |
Структура | Структура у Ц не пружа функцију декларације функције. | Структура у језику Ц ++ пружа функцију декларисања функције као функције члана у структури. |
Инлине функција | Не дозвољава уграђену функцију. | Подржава уграђену функцију. |
Стандардне И / О операције | У Ц скенирање и принтф се користе за стандардни улаз и излаз | У Ц ++ су цин »и цоут« дати за стандардне операције уноса и излаза. |
Сигурност података | На језику Ц подаци нису заштићени. | Подаци су сигурни, па им спољне функције не могу приступити. (Коришћење концепта енкапсулације ООП-а) |
Једноставност кодирања | Ц је старији програмски језик који се описује као практични. На овом језику, морате рећи програму да уради све. Штавише, овај језик ће вам омогућити да радите готово све. | Ц ++ је проширени језик Ц. Омогућава високо контролисани објектно оријентисани код. |
Компатибилност са другим језицима | Ц није компатибилан са другим језиком. | Ц ++ је компатибилан са осталим генеричким програмским језицима. |
Поинтер | Ц подржава само показиваче. | Ц ++ подржава и показиваче и референце. |
Променљива | У Ц, променљиву треба дефинисати на почетку програма. | Ц ++ вам омогућава да декларишете променљиве било где у функцији. |
Тачка фокуса | Ц се фокусира на кораке или поступке који се следе да би се решио проблем. | Ц ++ наглашава објекте, а не кораке или процедуре. Има виши ниво апстракције. |
Преоптерећење функције | Ц не дозвољава коришћење преоптерећења функције. | Ц ++ вам омогућава да користите преоптерећење функције. |
Типови података | Језик Ц не дозвољава вам да декларишете стринг или логичке типове података. Подржава уграђене и примитивне типове података. | Ц ++ подржава Стринг и Боолеан типове података. |
Изузетак руковање | Ц не подржава руковање изузецима. Међутим, то се може извести помоћу неких заобилазних решења. | Ц ++ подржава руковање изузецима. Штавише, ова операција се може извршити помоћу блока три анд цатцх. |
Функције | Не дозвољава функције са подразумеваним аранжманима | Дозволи функције са подразумеваним аранжманима. |
Простор имена | Одсутан је у језику Ц. | Присутан је у језику Ц ++. |
Изворни код | Изворни код програма слободног формата. | Првобитно развијен из програмског језика Ц. |
Однос | Ц је подскуп Ц ++. Не може покренути Ц ++ код. | Ц ++ је суперсет Ц. Ц ++ може покретати већину Ц кода, док Ц не може покретати Ц ++ код. |
Вођен | Функционални језик | Објектно вођен језик |
Фокусирај се | Фокусира се на методу или процес уместо на податке. | Фокусира се на податке уместо на метод или поступак. |
Капсулација | Не подржава енкапсулацију. Како су Подаци и функције засебни и бесплатни ентитети. | Подржава енкапсулацију. Подаци и функције су енкапсулирани заједно као објекат. |
Сакривање информација | Ц не подржава скривање информација. На овом језику, подаци су бесплатни ентитети и могу се мењати изван кода. | Инкапсулација сакрива податке. Тако да се структуре података и оператори користе према намени. |
Управљање меморијом | Ц пружа функције маллоц () и цаллоц () за динамичко додељивање меморије. | У ту сврху Ц ++ нуди новог оператора. |
Типови података | Подржава уграђене типове података. | Подржава уграђене и кориснички дефинисане типове података. |
Глобалне променљиве | Омогућава вишеструку декларацију глобалних променљивих. | Вишекратно пријављивање глобалних променљивих није дозвољено. |
Концепт мапирања | Мапирање између података и функције је веома сложено. | Мапирање између података и функција може се лако успоставити помоћу „Класа и објеката“. |
Наслеђивање | Наслеђивање није подржано Ц. | Наслеђивање је могуће на језику Ц ++. |
Подразумевана датотека заглавља | Ц користи заглавну датотеку стдио.х. | Ц ++ користи иостеам.х као задану датотеку заглавља. |
Виртуелна функција | Концепт виртуелних функција присутан је у Ц. | Концепт виртуелне функције се не користи у Ц ++. |
Кључне речи | Садрже 32 кључне речи. | Садржи 52 кључне речи. |
Полиморфизам | У Ц. Полиморфизам није могућ | Концепт полиморфизма користи се у језику Ц ++. Полиморфизам је једна од најважнијих карактеристика ООПС-а. |
ГУИ програмирање | Језик Ц нуди ГТК алат за ГУИ програмирање | Ц ++ подржава Кт алате за ГУИ програмирање |