C (програмски јазик): Разлика помеѓу преработките

[непроверена преработка][непроверена преработка]
Избришана содржина Додадена содржина
Нема опис на уредувањето
Ред 1:
{{внимание}}
{{Без извори|датум=октомври 2009}}
'''Програмскиот јазик Ц (C)''' е релативно нов програмски јазик. Тој е програмски јазик кој ги одбележа осумдесеттите и деведесеттите години на минатиот век. Ц е најраширен програмски јазик на светот. Тој е едноставен и елегантен програмски јазик кој ја пополнува празнината меѓу вишите програмски јазици и асемблерите (assembler) бидејќи ги комбинира особеностите на вишите програмски јазици со функционалноста на асемблерите. Поради тоа Ц можеме да го наречеме јазик што ги обединува својствата и на вишите програмски јазици и на асемблерите.годas
 
За творец на овој програмски јазик се смета [[Денис Ричи]] (Dennis Ritchie) од Bell-овите лабаратории на АТ&Т. Тој заедно со [[Кен Нортон]] (Ken Northon) работел на дизајнирање на првичните верзии на оперативниот систем [[ЈУНИКС]] (UNIX) и го имплементира на PDP 11. Во 1978 година [[Брајан Кернихан]] (Brian Kernighan) и Денис Ричи ја издале првата книга за програмскиот јазик Ц. Оваа книга служела како [[референтна книга]] за јазикот се до појавата на првиот [[ANSI]] стандард за Ц, десетина години подоцна.
 
Генеологијата на програмскиот јазик Ц е следнава. Како и за сите други структуирани програмски јазици, така и за програмскиот јазик Ц може да се каже дека негов најдалечен предок е програмскиот јазик ALGOL 60. ALGOL-от 60, како што кажува и неговото име, бил развиен во 1960 година од страна на повеќе национални групи. Тој настанал само неколку години по програмскиот јазик FORTRAN. При создавањето на овој јазикдекаsd било посветено големо внимание на неговата синтакса, модуларната структура и многу други нешта за кои денес се смета дека се современи и полезни. За жал, овој програмски јазик не бил никогаш општо прифатен од програмерите, веројатно поради неговата преголема генералност, апстрактност и опширност. преsa
 
Во 1963 година на универзитетот во Кембриџ развиен е програмски јазик CPL (Combined Programming Language). Овој јазик претставува обид програмскиот јазик ALGOL 60 да се поедностави и доведе до разумна мера. Но и овој програмски јазик бил преопширен и пресложен, па како таков и тежок за учење и примена.
 
Мартин Ричардс (Martin Richards) исто така од Кембриџ, во 1967 година го создал јазикот BCPL (Basic Combined Programming Language). При тоа, поедноставувајќипdик гое програмскиотсличен јазикна CPL,макasоasdсеdблерите и се обиделнашол даво дојдепримена дона поедноставенповеќе икомпјутери применливмеѓу програмскикои јазик.и Овојна програмскинекои јазикмикрокомпјутери е(BBsdја сличенна разните верзии на макроасемблеритеоперативниот исистем сеЈУНИКС. нашолЗа вотаа применацел, наТомсон повеќего компјутерисоздал меѓупрограмскиот коијазик иБ наво некои1970 микрокомпјутеригодина. (BBCЈазикот иБ Sinclerпретстаasомпјутерот QL)PDP-7.
Поедноставувањето на овие програмски јазици довелоaовело до тоа тие да личат на макро асемблери и да бидат употребливи само за ограничен број примени. Затоа, Денис Ричи се обидел да ја поврати изгубената генералност кај овие програмскипроaамски јазици, конструирајќи го програмскиот јазик Ц во 1972 година.
Натамошното поедноставување на овој програмски јазик било направено од Кен Томсон (Ken Thompson). Тој работел во лабараториите на Bell на имплементација на разните верзии на оперативниот систем ЈУНИКС. За таа цел, Томсон го создал програмскиот јазик Б во 1970 година. Јазикот Б претставува натамошно поедноставување на програмскиот јазик BCPL. Тој бил применет за реализација на првиот ЈУНИКС оперативен систем на компјутерот PDP-7.
 
Поедноставувањето на овие програмски јазици довело до тоа тие да личат на макро асемблери и да бидат употребливи само за ограничен број примени. Затоа, Денис Ричи се обидел да ја поврати изгубената генералност кај овие програмски јазици, конструирајќи го програмскиот јазик Ц во 1972 година.
 
Според тоа, генеологијата на програмскиот јазик Ц е следнава: '''ALGOL 60 > CPL > BCPL > B > C.'''
Ред 24 ⟶ 20:
Преносливоста на Ц, за која многу се зборува, е реалност на ниво на пренос на програми што инаку би се пренесувале како асемблерски програми. За апликативни програми преносливоста на јазиците, како што се [[Паскал]] (Pascal) и FORTRAN е поголема поради големиот степен на нивната стандардизација.
 
Јазикот Ц ја поседува компактноста карактеристична за програмските јазици конструирани од еден човек. Такви програмски јазици се веќе споменатите B и BCPL и програмските јазици како [[Паскал]], Lisp, APL и други. За разлика од нив програмските јазици што се конструирани од страна на тимови со повеќе автори како што се PL/1, ADA, ALGOL 60 и други, не се компактни и често пати се пресложени.s
Ц е програмски јазик за општа намена и со него можат да се пишуваат најразлични видови програми. Сепак, може да се каже дека неговите можности најмногу доаѓаат до израз при пишување на системски софтвер, што и била неговата првенствена намена, а и специјалноста на неговиот творец.твоs
 
Во однос на големината, Ц е екстремно мал програмски јазик. Бројот на клучни зборови (keyword) во Ц изнесува 32 (28 според првичниот незваничен стандард од книгата на Ричи и Кернихам и дополнителни 4 кои се внесени во ANSI стандардот за Ц). За разлика од Ц, IBM-овиот Basic, кој се смета за едноставен програмски јазик има 159 клучни зборови.
 
Клучни зборови во Ц според стандардот ANSI се: '''auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while ...''' Програмскиот јазик Ц е '''case sensitive''' односно тој прави разлика помеѓу малите и големите букви. '''While''' не е исто што и '''while'''.
 
as
И во двете верзии може да се забележи дека Ц ги содржи само основните наредби и дека нема вградени влезно-излезни (I/O) наредби и наредби за ракување со низи знакови. Философијата на Ц е таква што сите посложени наредби се реализираат со помош на основните наредби и како функции (fuction) се чуваат во таканаречените библиотеки на функции (function library). Со секој преведувач на Ц (C compiler) се испорачуваат и повеќе библиотеки на разни видови функции.
ЧитањетоdЧитањето на програмите во Ц е тешко и на прв поглед тие се прилично неразбирливи за почетниците. Тоа е поради големиот број оператори кои се присутни како резултат на тенденцијата за блискост со асемблерот.
 
Програмите во Ц се состојат од низи блокови кои се организираат како функции. Според тоа, пишувањето на програмите се сведува на пишување поедини функции и нивно вклопување. При тоа, сите функции се рамноправни со тоа што една мора да го има името main(). Тоа е функцијата од која отпочнува програмата.
 
Читањето на програмите во Ц е тешко и на прв поглед тие се прилично неразбирливи за почетниците. Тоа е поради големиот број оператори кои се присутни како резултат на тенденцијата за блискост со асемблерот.
 
Покрај другото, моќта на Ц е и во овозможување на работа со покажувачи (pointers). Покажувачите, најпросто речено, соодветстуваат со мемориски адреси. Многу машински инструкции работат директно со реалните мемориски адреси, па примената на покажувачите овозможува ефикасно преведени програми.
Ред 51 ⟶ 43:
[[zh-min-nan:C (thêng-sek gí-giân)]]
[[be:C, мова праграмавання]]
[[be-x-old:C (моваaмова праграмаваньня)]]
[[bs:C programskiprograsомпьютер jezikчĕлхи)]]
[[br:Areg C]]
[[bg:C (език за програмиране)]]
[[ca:Llenguatge C]]
[[cv:Си (компьютер чĕлхи)]]
[[cs:C (programovací jazyk)]]
[[co:C (linguagiu di prugrammazionelinguagiaringssprog)]]
[[cy:C (cyfrifiadureg)]]
[[da:C (programmeringssprog)]]
[[de:C (Programmiersprache)]]
[[et:C (programmeerimiskeel)]]
dasd[[en:C (programming language)a]]
[[el:C (γλώσσα προγραμματισμού)]]
[[en:C (programming language)]]
[[es:C (lenguaje de programación)]]
[[eo:C (programlingvoprogramassdlingvo)]]
[[eu:C (programazioprogramazsdasio lengoaia)]]
[[fa:زبان برنامه‌نویسیبرنasامه‌نویسی سی]]
[[fr:C (langage)]]
[[ga:C (Teanga ríomhchlárúcháin)]]
Ред 88 ⟶ 73:
[[la:C (lingua programmandi)]]
[[lv:C (programmēšanas valoda)]]
[[lt:C (kalbakalbs)]]
[[hu:C (programozási nyelv)]]
[[mg:Fitensdപ്രോഗ്രാമിങ് ഭാഷ)]]
[[mg:Fiteny C]]
[[ml:സി (പ്രോഗ്രാമിങ് ഭാഷ)]]
[[mr:सी आज्ञावली भाषा]]
[[ms:C (bahasa pengaturcaraan)]]