Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Historie a stručný popis jazyka C

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 30.09.2005 22:53

Stručně o jazyku C

Historie jazyka C počíná okolo roku 1969 a souvisí se vznikem operačního systému UNIX. Systém UNIX byl postupně s několika mezistupni nakonec vyvynut v Bellových laboratořích (AT&T) a na jeho vývoji se v prvotních fázích podíleli především D. Ritchie, B. Kernighan a K. Thompson.

Později bylo nutné vyvinout programovací jazyk nízké úrovně, v němž by mohl být UNIX přepsán. Prvotním základem byl jazyk BCPL (vytvořil Martin Richards). V roce 1970 z něj byl vyvinut jazyk B (Ken Thompson). Jazyk B byl použit pro implementaci OS UNIX na počítači PDP-7. Oba tyto jazyky (BCPL a B) pracovaly pouze s jedním datovým typem - slovem.
V roce 1978 Kernighan a Ritchie vydali v nakladatelství Prentice Hall "The C programming language" - knihu popisující zcela nový procedurální jazyk s podporou různých datových typů. V této knize tedy veřejně prezentovali jazyk C.
V roce 1990 byla zveřejněna norma ANSI C. Do normy je zahrnuta také množina knihovních funkcí, kterou by měl každý překladač poskytovat.

Základní charakteristika jazyka C
- Jazyk nízké úrovně, jazyk pro systémové programování. Postupně přebíral rysy vyšších programovacích jazyků.
- Pole a řetězce nejsou jazykem přímo podporovány – vše řeší ukazatelová aritmetika.
- Standard ANSI C – přenositelnost na úrovni zdrojového kódu nezávisle na hardwaru počítače.
- Z důvodu přenositelnosti C neobsahuje příkazy vstupu a výstupu, protože jsou přímo závislé na hardwaru a operačním systému počítače, což popírá přenositelnost. Proto jsou implementovány jako knihovní funkce.
- Malá množina příkazů jazyka usnadňuje rychlé vytvoření překladače pro nové platformy a rychlé zvládnutí jazyka.
- Má velice efektivní kód - téměř se vyrovná assembleru.

Rysy jazyka - programové konstrukce
Základní řídící konstrukce strukturovaných programů:
- sdružování příkazů do bloků
- podmíněný příkaz if ... else
- cykly s proměnnou na začátku a na konci
- výběr z množiny alternativ pomocí příkazu switch ... case
Podpora ukazatelové aritmetiky:
- základní operace nad ukazateli a adresami
- snadná práce s dynamickými poli
Funkce:
- každou funkci lze volat rekurzivně
- definice funkcí nesmí být vnořené, všechny funkce jsou globální v jednom zdrojovém souboru
- funkce lze překládat odděleně - každou zvlášť
Proměnné - paměťové třídy
- lokální proměnné - statické a automatické
- globální - externí
- překladači lze doporučit, aby pro uložení vybrané proměnné používal registr - zvýšení efektivnosti

Jazyk C není příliš přísný v kontrole typů, předávaných parametrů a mezí polí.

Nevýhody jazyka C
- Priority některých operátorů.
- Drobné odchylky překladačů od normy.
- Chybějící kontrola typů a indexů.

Omezení ANSI C kompilátorů
Norma ANSI C určuje minimální požadavky na každý překladač jazyka C. Toto je nutné znát pro psaní přenositelného kódu.
požadavky:
- max. 15 úrovní zahnízdění bloků, iterací, podmíněných příkazů a přepínačů
- max. 6 úrovní zahnízdění podmíněného překladu
- max. 12 dodatečných typových modifikátorů základního typu v definici nebo deklaraci proměnné, funkce, pole či ukazatele
- max. 127 úrovní zahnízdění závorek ve výrazech
- max. 31 platných znaků v identifikátorech
- max. 6 platných znaků u externích identifikátorů
- max. 511 externích identifikátorů v jednom zdrojovém souboru
- max. 127 identifikátorů s platností v jednom bloku
- max. 1024 jmen maker definovaných v jednom zdrojovém souboru
- max. 31 parametrů funkcí
- max. 31 parametrů maker
- max. 509 znaků v jednom řádku zdrojového souboru
- max. 509 znaků v jednom řetězcovém literálu
- max, 32767 bytů dlouhé pole nebo struktura
- max. 8 úrovní zahnízdění v #include souborech
- max. 257 variant case v příkazu switch

Převzato z přednášek Mgr. Tomáše Kozla, Katedra informatiky a kvantitativních metod, Fakulta informatiky a managementu, Univerzita Hradec Králové.

By Lukaas


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. FAQ: Stručný popis nForce2 chipsetů a nastavení

v nVidia čipové sady

0

2646

11.06.2005 16:58

Dzin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stručný popis chipsetů NForce 3 a 4

v nVidia čipové sady

1

3887

05.03.2006 7:56

Harlequin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pretaktovanie i5 2500K - stručný návod (anglicky)

v Biosy a ladenie výkonu

0

582

11.02.2012 14:53

mino_85 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. smazání historie www

v Sieťové a internetové programy

7

780

05.04.2007 23:51

crash24 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Skype-mazanie historie

v Sieťové a internetové programy

3

1871

16.12.2012 22:18

bart1234 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Popis-None

v Redakčné systémy

2

597

08.12.2006 22:21

altt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Popis Diskusie

v Správy pre vedenie fóra

3

1166

07.06.2006 17:17

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Popis obrazku

v PHP, ASP

10

685

17.11.2007 12:15

legolas1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PASCAL -> historie + základy

v Assembler, C, C++, Pascal, Java

5

11687

14.01.2007 12:50

middlesboro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Obnovenie histórie - google chrome

v Bezpečnosť a firewally

0

2374

13.04.2012 14:48

zuzulka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vymazanie historie z FB

v Sociálne siete

3

581

23.01.2014 21:11

tairikuokami Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Popis VIA chipsetů

v Ostatné čipové sady

1

3029

05.03.2006 11:56

Harlequin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Popis obrazka - bublina

v JavaScript, VBScript, Ajax

7

525

25.11.2012 23:18

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Obnovenie vymazanej histórie Google Chrome

v Sieťové a internetové programy

0

2699

20.11.2016 20:18

b4sto Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmazanie histórie správ na facebooku

v Sociálne siete

4

4457

07.04.2013 13:30

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zen-Cart základný popis

v Redakčné systémy

6

1296

11.04.2007 11:02

peterb Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra