Programovací Jazyky C A C - Vsb.cz

2y ago
22 Views
2 Downloads
3.11 MB
489 Pages
Last View : 12d ago
Last Download : 3m ago
Upload by : Laura Ramon
Transcription

Stáhněte si sbalené stránky do jazyka C a C (jazyky.zip).Poslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

Časová náročnost: 5 minutProgramovací jazyk C vytvořil v Bellových laboratořích AT&T Denis Ritchie. Záměrembylo napsat jazyk pro snadnou a přenositelnou implementaci Unixu. Na tomto přenosu(Unixu již existujícího pro PDP--7) se dále podíleli Brian Kernighan a Ken Thompson.Jazyk C tedy původně vznikl jako systémový jazyk pro systémové programátory. Nicméněs postupem času se s C a Unixem seznamovali studenti na vysokých školách, odcházeli dopraxe a začali používat C i v jiných než jen systémových oblastech. Uživatelé přirozeněpožadovali, aby C bylo nejen mocným prostředkem (tím bylo od svého vzniku), ale ibezpečným a přehledným jazykem. Postupně se upouštělo od "fint". Vytvářel se základnormy.Pojem ISO norma jazyka C definuje moderní vyšší programovací jazyk všeobecnéhopoužití. ISO je zkratkou slov International Standards Organisation. ISO norma jazyka C jebezpečnější, než byl původní jazyk K&R C. Současně je důležité, že většina zdrojovýchtextů, napsaných před vydáním normy, je novými překladači přijímána.Překladače C, nabízí řada nezávislých producentů programového vybavení. Dostupné jsoui verze volně (bezplatně) šířitelné. Podstatné však je, že C je k dispozici prakticky prolibovolné technické vybavení (hardware). Budeme-li ISO normu jazyka C dodržovat,máme velkou šanci, že budeme schopni přenést zdrojový text na jiný stroj (s jinýmprocesorem i OS), program přeložit, spojit s funkcemi z knihoven a konečně i spustit.Rozhodně by neměly vyvstat neřešitelné problémy.S postupem doby se nezastavila ani teorie programování. Jestliže jazyk C umožňuje psátprogramy téměř modulárně, dnešní trend vyžaduje i podporu objektového přístupu. V roce1986 publikoval Stroustrup knihu The C Programming Language, kde definuje novýprogramovací jazyk C . Jedná se o objektové rozšíření jazyka C. Počátkemdevadesátých let pak bylo i C normalizováno.Ve druhé polovině devadesátých let je pouhá podpora objektového přístupu nepostačující,vzniká jazyk Java. Na rozdíl od C nepřejímá z C bezmyšlenkovitě vše a některé prvkydokonce záměrně nepodporuje, například ukazatele, nicméně opět staví na syntaxi jazykaC. Nicméně vývoj programování i vazby C a Javy na jazyk C jistě dokládají trvajícíužitečnost znalosti jazyka C. Použitelnost C je prokázána generacemi programátorů adesetiletími nasazení.

1.1 Krátké shrnutíČasová náročnost: 3 minutyJazyk C je univerzální programovací jazyk nízké úrovně - což znamená, že pracuje"pouze" se standardními datovými typy, jako jsou znaky, celá a reální čísla,.má velmi úsporné vyjadřování, je strukturovaný, má velký soubor operátorů apoužívá moderní datové strukturynení specializován na jednu oblast používánípro mnoho úloh je efektivnější a rychlejší než jiné jazykybyl navržen a implementován pod operačním systémem UNIX a téměř celýUNIX je v C napsánC se na UNIX nijak neváže a neváže se ani na jiný konkrétní počítač čioperační systémje vhodný pro rozsáhlé aplikace a přitom má blízko i ke strojové úrovniPoslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

1. Vznik vývoj a charakteristika1. Krátké shrnutí2. Základy jazyka C1. Prvky programu jazyka C2. První programy3. Jednoduchý vstup a výstup4. Cvičení3. Základní typy, konstanty a proměnné1. Identifikátory2. Klíčová slova3. Komentáře4. Odsazovače5. Čísla6. Pojmenování objektů7. Konstanty8. Celočíselné konstanty9. Racionální konstanty10. Znakové konstanty11. Řetězce12. Proměnné13. Cvičení4. Operátory1. Výrazy2. Přiřazení3. Aritmetické výrazy4. Logické operátory5. Relační operátory6. Bitové operátory7. Adresový operátor8. Podmíněný operátor9. Operátor čárka10. Přetypování výrazu11. Priorita operátorů12. Cvičení5. Řízení vykonávání programu1. Výrazový příkaz2. Prázdný příkaz3. Blok příkazů4. Oblast platnosti identifikátorů5. Příkaz If-else6. Přepínač - switch7. Cykly8. Cyklus while

6.7.8.9.10.9. Cyklus for10. Cyklus do11. Příkaz goto12. Opakovaní13. CvičeníFunkce1. Vytváření a dokumentace vlastních funkcí2. Pojmenování funkcí3. Návratová hodnota funkce4. Argumenty funkcí a způsob jejich předávání5. Pamě ové třídy6. Rekurze7. Cizí funkce8. Opakování9. CvičeníVstup a výstup1. Standardní vstup a výstup znaků2. Standardní vstup a výstup řádků3. Formátovaný standardní výstup4. Formátovaný standardní vstup5. Vstupní a výstupní operace v paměti6. CvičeníPreprocesor1. Makra2. Zabudovaná makra jazyka C3. Podmíněný překlad4. Makro #include5. Makro #pragma6. Opakování7. CvičeníUkazatele, pole a řetězce1. Ukazatele2. Pole3. Aritmetika ukazatelů4. Řetězce5. Funkce pro práci s řetězci6. Vícerozměrná pole7. Ukazatele na funkce8. Ukazatele na ukazatele a pole ukazatelů9. Argumenty příkazového řádku10. CvičeníSoubory1. Datové proudy2. Základní datové proudy3. Otevření a zavření proudu4. Proud a vstup a výstup znaků5. Proud a vstup a výstup řetězců6. Proud a formátovaný vstup a výstup7. Další užitečné funkce

8. Binární soubory9. Cvičení11. Struktury a uživatelské typy dat1. Uživatelský datový typ2. Složitější typové deklarace3. Výčtový typ4. Typ struktura5. Typ unie6. Bitová pole7. Cvičení12. Dynamické datové struktury1. Dynamická alokace paměti2. Seznam3. Pole ukazatelů4. Cvičení13. ZávěrPoslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

AargcArgumenty příkazového řádkuargumentyPojmenování funkcí , Argumenty funkcí a způsob jejich předávání , Argumentypříkazového řádkuargvArgumenty příkazového řádkuautoKlíčová slova , Pamě ové třídybitová poleBitová poleblokBlok příkazůbreakKlíčová slova , Přepínač switch , Cyklus whilebufferVstupní a výstupní operace v paměticalloc()Dynamická alokace paměticaseKlíčová slova , Přepínač switchceločíselnéČísla , Celočíselné konstantyconstKlíčová slova , Konstanty , Pamě ové třídycontinueKlíčová slova , Cyklus whilecyklusCyklycyklus doCyklus docyklus forCyklus forcyklus whileCyklus whileDATEZabudovaná makra jazyka Cdatový proudDatové proudy , Základní datové proudy , Otevření a zavření proududefaultKlíčová slova , Přepínač switch#definePreprocesordefinedPodmíněný překladdefinicePojmenování objektůdeklaracePojmenování objektůdeklarace abstraktníSložitější typové deklaracedeklarace neúplnáTyp strukturadesítková soustavaCeločíselné konstantydimenzePoleBCD

doKlíčová slova , Cyklus dodoubleKlíčová slova , Čísla , Racionální konstantydvojková eKlíčová slova , Příkaz If-else#endifPreprocesorenumKlíčová slova , Čísla , Výčtový typEOFStandardní vstup a výstup znaků#errorPreprocesorescape sekvenceZnakové konstantyexponentRacionální konstantyexternKlíčová slova , Pamě ové třídyfclose()Otevření a zavření proudufeof()Další užitečné funkceferror()Otevření a zavření proudufgetc()Proud a vstup a výstup znakůfgets()Proud a vstup a výstup řetězcůFILEZabudovaná makra jazyka CfloatKlíčová slova , Čísla , Racionální konstantyfopen()Otevření a zavření prouduforKlíčová slova , Cyklus forfprintf()Proud a formátovaný vstup a výstupfputc()Proud a vstup a výstup znakůfputs()Proud a vstup a výstup řetězcůfree()Dynamická alokace pamětifread()Binární souboryfscanf()Proud a formátovaný vstup a výstupfseek()Další užitečné funkcefunkcePrvky programu jazyka C , Funkcefwrite()Binární souborygotoKlíčová slova , Příkaz gotogetc()Standardní vstup a výstup znakůgetchar()Standardní vstup a výstup znakůgets()Standardní vstup a výstup řádkůEFG

HhaldaDynamické datové struktury , Dynamická alokace paměticharKlíčová slova , ČíslaidentifikátorIdentifikátory , Proměnné , Oblast platnosti identifikátorů , Pojmenování funkcí#ifPreprocesorifKlíčová slova , Příkaz Preprocesor , Makro #includeindexPoleinkrementaceCyklus forintKlíčová slova , ČíslaISO normaVznik, vývoj a charakteristikajazyk CVznik, vývoj a anty#linePreprocesorLINEZabudovaná makra jazyka ClongKlíčová slova , Číslalong doubleČísla , Racionální ická alokace pamětimantisaRacionální konstantymezeraOdsazovačenávrat vozíkuOdsazovačenávratová hodnotaNávratová hodnota funkcenová stránkaOdsazovačeCHIJKLMN

nový řádekOdsazovačeoperátor &Ukazateleoperátor *Ukazateleoperátor adresovýAdresový operátoroperátor bitovýBitové operátoryoperátor čárkaOperátor čárkaoperátor relačníRelační operátoryosmičková soustavaCeločíselné konstantyperror()Otevření a zavření proudupointerpoleViz ukazatelPole , Vícerozměrná poleposun řádkuOdsazovače#pragmaPreprocesor , Makro #pragmaprázdný příkazPrázdný příkazprintf()Formátovaný standardní výstupprioritaPriorita operátorůprototypCizí funkcepředávání adresouArgumenty funkcí a způsob jejich předávánípředávání hodnotouArgumenty funkcí a způsob jejich předávánípřetypováníPřetypování výrazupřiřazeníPřiřazeníputc()Standardní vstup a výstup znakůputchar()Standardní vstup a výstup znakůputs()Standardní vstup a výstup řádkůqsort()Ukazatele na funkceracionálníČíslarealloc()Dynamická alokace pamětiregisterKlíčová slova , Pamě ové třídyrekurzeRekurzereturnKlíčová slova , Návratová hodnota funkcervaluePřiřazenířětězecŘetězce , Řetězce , Funkce pro práci s řetězciOPQRŘ

Sscanf()Jednoduchý vstup a výstup , Formátovaný standardní vstupseznamSeznamshortKlíčová slova , ČíslasignedKlíčová slovasizeofKlíčová slova , PoleslovoVstup a výstupsouborSouborysoubor binárníSoubory , Binární souborysoubor textovýSouborysprintf()Vstupní a výstupní operace v pamětisscanf()Vstupní a výstupní operace v pamětistaticKlíčová slova , Pamě ové třídystdinVstup a výstupstderrVstup a výstupstdoutVstup a výstupstrcat()Funkce pro práci s řetězcistrcmp()Funkce pro práci s řetězcistrcpy()Funkce pro práci s řetězcistrchr()Funkce pro práci s řetězcistrlen()Funkce pro práci s řetězcistrncat()Funkce pro práci s řetězcistrncmp()Funkce pro práci s řetězcistrncpy()Funkce pro práci s řetězcistrrchr()Funkce pro práci s řetězcistrstr()Funkce pro práci s řetězcistructKlíčová slova , Typ strukturastruktura dynamická Dynamické datové strukturystruktura statickáDynamické datové strukturystředníkPrvky programu jazyka CswitchKlíčová slova , Přepínač switchŠšestnáctková soustava Celočíselné konstantyTtabulátorOdsazovačeTIMEZabudovaná makra jazyka CtypedefKlíčová slova , Pamě ové třídy , Uživatelský datový typ

UukazatelČísla , Ukazatele , Ukazatele , Aritmetika ukazatelů , Ukazatele na funkce ,Ukazatele na ukazatele a pole ukazatelů , Pole ukazatelů#undefPreprocesorungetc()Proud a vstup a výstup znakůunionKlíčová slova , Typ unieUnixVznik, vývoj a charakteristika , Krátké shrnutíunsignedKlíčová slova , Čísla , Celočíselné konstantyvertikální tabulátorOdsazovačevoidKlíčová slova , Návratová hodnota funkcevolatileKlíčová slova , Pamě ové třídyvýrazVýrazyvýraz aritmetickýAritmetické výrazyvýraz logickýLogické výrazywhileKlíčová slova , Cyklus whileznakČísla , Znakové konstanty , Vstup a výstupVWZPoslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

AADRESA1. Číslo označující umístění objektu v paměti počítače. 2. Adresa účastníkapočítačové sítě.ANSIAmerická instituce, která vyvíjí americké průmyslové standardy ve shodě smezinárodními standardy ISO.APLIKACEObecný pojem pro počítačový program či soubor programů, které plní danýúčel. Pojem aplikace v mnohém splývá s pojmem program; obecně se programstaví "níže", tedy do oblasti plnění menších, univerzálních a spíše pomocnýchfunkcí, zatímco aplikace jsou větší programové balíky, plnící komplexnějšíúkoly. Aplikace se dělí podle oboru, druhu operačního systému, pod kterýmpracují a někdy rovněž podle stupně komplexnosti.AT&TAmerican Telephone and Telegraph - Americká telefonní a telegrafníspolečnost - Založena v r. 1885, 1. 1. 1984 z rozhodnutí federálního souduUSA rozdělena na více nezávislých společností.ASCII(Americký standardizovaný kód pro výměnu informací). Standardní sadaznaků, definovaná a vytvořená v roce 1968. Definuje znaky, číslice a speciálnípísmena, použitelná v datové komunikaci. ASCII kód obsahuje 256 znaků,přičemž prvních 128 je zcela standardizováno prakticky na všechhardwarových i operačních platformách a dalších 128 je určeno pro dalšípoužití výrobci hardware či software. Velmi často druhých 128 znaků používápro znaky lokálních abeced. Používá se dnes prakticky ve všech oborechvýpočetní techniky.BITZákladní jednotka informace vyjadřující dva stavy: ano - ne, pravda nepravda, nízké napětí - vysoké napětí atd. Vyjadřuje se číslicemi 0 nebo 1.Pomocí nich lze tvořit čísla.BYTEJednotka informace složená z osmi bitů. Bajt je nejmenším adresovatelnýmprvkem v paměti počítače, přestože se lze odkazovat i na jeho jednotlivé bity.BBINÁRNÍ SOUSTAVA (binární soustava, dvojková číselná soustava) Polyadická poziční číselnásoustava se základem 2. Stejně jako jsou ve známé desítkové soustavě číslavyjadřována posloupnostmi číslic 0 až 9, jsou ve dvojkové soustavě užívány kvyjádření čísel pouze dvě číslice: 0 a 1.BUFFERC(vyrovnávací pamě ) Pamě ový prostor pro přechodné uložení datpřesouvaných z rychlejšího pamě ového média na pomalejší výstupní zařízení.Buffer plní úlohu mezičlánku zadržujícího přenášená data tak, aby je pomalévýstupní zařízení mělo okamžitě k dispozici a aby zároveň zdrojové médiumnebylo zdržováno zdlouhavým přenosem. Je-li kapacita bufferu větší nežobjem přemís ovaných dat, přesunou se všechna data do bufferu a zatíženízdrojového média je minimální. Vzhledem k tomu, že zdrojovým médiem jenejčastěji počítač (a cílovým tiskárna), je tato situace výhodná. Proto platípravidlo: efektivita roste s velikostí bufferu, ne však nad určitou mez.

CProgramovací jazyk vyšší úrovně, vyvinutý Denisem Hallem v roce 1972 proimplementaci operačního systému UNIX. Kombinuje prostředky vyššíchjazyků s možnostmi assembleru. Obsahuje základní malé jádro, které je závisléna použitém počítači. Další funkce jsou pak uloženy v knihovnách,dostupných pomocí jazyka C. Jazyk C má pečlivě propracovanoustandardizaci, a je proto implementován na většině systémů. Díky svýmmožnostem a hutné syntaxi je oblíbený zejména mezi profesionálnímiprogramátory.ČČÍSELNÁ SOUSTAVA Druh zápisu dat pomocí hierarchické soustavy. Podstatný je základ číselnésoustavy, což je číslo, které určuje maximální počet prvků jednoho řádu.Kromě běžné desítkové soustavy se vyskytuje soustava binární (základ 2),osmičková (základ 8) a šestnáctková (hexadecimální, základ 16).ČÍSLO S PLOVOUCÍŘÁDOVOU ČÁRKOUČíslo v počítači složené z celé a desetinné části. Je uloženo v pamě ové buňcetak, že je umožněna změna jeho přesnosti - počtu desetinných míst v jistémrozsahu. Výhodou této interpretace desetinných čísel je vysoká přesnost přimatematických operacích, nevýhodou jejich výpočtová složitost. K urychleníoperací s plovoucí řádovou čárkou a pro práci s čísly s vysokým počtemdesetinných míst slouží matematické koprocesory.HARDWARESouhrn hmotných technických prostředků umožňujících nebo rozšiřujícíchprovozování počítačového systému. Hardware je sám počítač, jehokomponenty (pamě , ( viz ) základní deska s obvody, záznamová média,periférie, vstupně/výstupní zařízení, přídavné karty atd.), tiskárny, sítě,speciální zařízení. hardware je vše kromě programového vybavení (software).Na hranici mezi oběma skupinami leží firmware.HEXADECIMÁLNÍSOUSTAVAHexadecimální číselná soustava je číselná soustava se základem 16. Tomutočíslu odpovídá i počet cifer nutných k vyjádření čísla v hexadecimálním tvaru.Vzhledem k tomu, že běžně používaná desítková soustava má pouze desetcifer 0 až 9, musí hexadecimální soustava používat dalších šest cifer, za něžbyly zvoleny písmena abecedy A až F. Skutečná hodnota jednotlivýchhexadecimálních cifer je pro 0 až 9 totožná s desítkovou soustavou,nadstavené cifry A až F pak nabývají hodnot 10 až 15. Aby se odlišilo číslozapsané v hexadecimálním tvaru neobsahující cifry A až F (a tedy na prvnípohled vypadající jako zápis decimálního čísla), používá se u hex. číslaspeciální předpony nebo přípony (např. 10H, 10h, 0010 apod.). Výhodouhexadecimálního zápisu čísla v oblasti počítačového zpracování je skutečnost,že jím lze jednoduše vyjadřovat násobky hodnot bajtů. Např. čtyřbitovébinární číslo 1110 (desítkově 14) lze vyjádřit jedinou hexadecimální cifrou E,tedy celý bajt (číslo s hodnotou v rozsahu 0 - 255) můžeme vyjádřit jakopouhé dvě hexadecimální cifry, dále pak slovo (číslo v rozsahu 0 - 65535 nebopodobně) lze vyjádřit čtyřmi hexadecimálními ciframi. Příklad: desítkové číslo49534 se zapíše v hexadecimální soustavě jako C17E (tedy správněji C17Eh).ISOMezinárodní autoritativní organizace pro zavádění celosvětových standardů. Vtéto organizaci jsou zastoupeny všechny významné státy světa svýminormativními ústavy; ISO definuje a přijímá standardy z celé průmyslovéoblasti včetně výpočetní techniky a komunikací. Více informací nawww.iso.ch.HI

JJAVASí ově orientovaný interpretovaný programovací jazyk vyvinutý firmou SunMicrosystems. Byl vyvinut pro používání v prostředí Internetu a umožňujetvorbu malých programů zvaných applety, které je možné načíst z Internetu aokamžitě spouštět; obecně však lze v Javě vytvořit cokoli, od operačníhosystému po podnikový informační systém. Díky tomu, že je Javainterpretovaný jazyk, může běžeet na jakékoli platformě (tj. může být na tutoplatformu portována velice rychle). Pomalost daná touto technologií by mělabýt vyvažována tím, že mikrokód interpretující Javu by měl být "zadrátován"jednak ve speciálních čipech, jednak (snad) i v budoucích verzí procesoruPentium, a tím se dosáhne běžně rychlého chodu aplikací v Javě. Více vizwww.java.sun.com.JEDNOUŽIVATELSKÝ Systém zkonstruovaný pro používání jedním uživatelem. Opakem jeSYSTÉMvíceuživatelský systém.LLEXIKÁLNÍANALÝZAPrvní stupeň odlaďování při zpracování kódu v programovacím jazyce. Znakyzdrojového kódu jsou postupně čteny a seskupovány do funkčních celků(zvané lexemy či tokeny) - jsou to příkazy jazyka, identifikátory, citovanéřetězce atd. Tyto celky jsou pak předány parseru.MAKROUživatelská definice posloupnosti více operací (např. stlačení kláves) nebosekvence několika psaných příkazů. Makro se spouští jako jediný příkaz a jevlastně zkratkou zjednodušující uživateli provádění zdlouhavých posloupnostíkroků jejich nahrazením nějakou globální funkcí, která dokáže jednotlivékroky provést automaticky. Makro může vystupovat např. v jednoduché forměnáhrady některých delších řetězců nebo textů kratšími alternativami, které sepři zpracování příslušného úseku textu rozvinou do původní podoby; makra seuplatňují také v aplikacích pro nahrazení posloupnosti opakovaných činnostístlačením jediné kombinace kláves nebo např. v tabulkovém procesoru můžemakro nahradit definici složitějšího matematického výrazu.MANTISA1. Z matematického hlediska jde o část ( viz ) dekadického ( viz ) logaritmučísla za desetinou tečkou. Např. dekadický logaritmus čísla 50 je přibližně1.6989, odtud mantisa zaokrouhlená na čtyři desetinná místa odpovídá číslu0.6989. 2. V počítačové terminologii je mantisa součástí popisu čísla s ( viz )plovoucí desetinnou čárkou . Např. číslo 521 000 se v této notaci vyjádří jako5.21 E 05, kde 5.21 je mantisa a E 05 je exponent (znamená 10 5).OPERAČNÍ SYSTÉMPodstatné softwarové vybavení počítače, které provádí základní řízeníveškerých zdrojů počítače a komunikaci s uživatelem - je nenahraditelnýmrozhraním mezi počítačem (hardware) a buď uživatelem přímo nebo dalšímiprogramy. Bez operačního systému není možné počítač používat - veškerépříkazy uživatele jsou operačním systémem přijímány a zpracovávány, arovněž veškeré programy využívají ke své činnosti služeb operačního systému.Operační systém je přítomen na pevném disku počítače a načítá se do pamětipři startu počítače - tomuto procesu se říká bootování.MOP

PROCEDURAČást programu, která je tvořena pojmenovanou posloupností příkazů. Díky svéucelenosti a pojmenovanosti může být procedura volána svým jménem jinouprocedurou nebo hlavním jádrem programu. Procedura může rovněž přebíratparametry a vracet návratové hodnoty.PROGRAMUcelený souhrn instrukcí (příkazů), pomocí kterých provádí počítač určitoučinnost. Program je tvořen souborem nebo více soubory, které jsou v úhrnudostatečně schopné provádět předepsanou činnost. Příbuznými termíny, mezikterými lze těžko vymezit ostrou hranici, jsou: - aplikace , čímž se označujeobvykle komplexnější souhrn často i několika programů, které plní úkoly danéoblasti - software , čímž se označuje jakékoli programové vybavení počítače,které je ucelené spíše svým vnějším zjevem.PŘEKLADAČProgramový prostředek určený pro převod posloupnosti příkazů (zdrojovéhokódu programu) do přímo a samostatně spustitelné podoby. Programovacíjazyky jako C , Pascal, Modula a další jsou navrženy jako kompilátory. Nadruhé straně existují jazyky, které lze používat i v interpretované formě (např.Basic).SOFTWAREObecně jakékoli programové vybavení. Oblast software zahrnuje programy odzákladních vstupně/výstupních systémů (BIOS), přes operační systémy aveškeré aplikace, od jednoduchých utilit až po komplexní programovésystémy. Software je obecně série programových instrukcí, uložená vpřirozených celcích (souborech) na záznamovém médiu či v paměti počítače.Software sám je vždy "nehmotný", ke svému šíření a používání vždy potřebujehardware.UNIXVíceuživatelský a multiprocesingový operační systém vyvinutý (zejména pányThompsonem a Ritchiem) v laboratořích firmy AT&T Bell v roce 1969 apoprvé komerčně použitý v počítačích PDP firmy Digital. Většina dalšíhovývoje pak byla provedena na univerzitě v Berkeley, čímž vznikla ediceUNIXu nazvaná BSD (Berkeley SOFTWARE Distribution) UNIX. Dalšívývoj UNIXu přebírá firma UNIX System Laboratories (USL), kterou pohltilapozději firma Novell, která ji však později předala nezávislé organizaciX/Open. Existuje široká škála implementací (forem, podob) operačníhosystému UNIX. Všechny však mají přibližně shodnou vrstevnatou strukturu,založenou na silném jádře. Přínos operačního systému UNIX je mj. v tom, žeprogramy jsou v rámci jednotlivých implementací přenositelné, nebo jsouobvykle programovány v jazyce C. Slovo UNIX se vyvinulo z výrazuUniplexed Information and Computing System, což byl jakýsi oponentneúspěšného všezahrnujícího systému Multics, Multiplexed Information andComputing System. Ze slova Unics se pak vyvinul název UNIX.VÍCEUŽIVATELSKÝSYSTÉMPočítačový systém schopný zpracovávat požadavky více uživatelů současně.Může a nemusí jít vždy o systém na bázi počítačové sítě. Počítač, na němžpracuje střídavě více uživatelů v průběhu delšího časového intervalu, bývápovažován spíše za jednouživatelský systém.SUVPoslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

Na této stránce uvádím strukturu stránek, typografickou konvenci a seznam použitých značek sekterými se můžete setkat na následujících stránkách.Struktura stránek Na začátku každé kapitoly je uváděna časová náročnost kapitoly zaokrouhlená na desítkyminut: Časová náročnost kapitoly: 1 hodina 10 minutPoté následuje stručný popis látky, která bude v kapitole probírána. Dále časové náročnosti jednotlivých částí kapitoly: Časová náročnost: 15 minutV částiPotřebné znalostijsou uváděny základní znalosti nutné k bezproblémovému zvládnutí látky probírané v tétokapitole. Následuje probíraná látka ukončená částí nazvanou:Cvièeníve které jsou uváděny příklady (a samozřejmě i jejich řešení) pro procvičení právě probranélátky. V místech, kde je vhodné zopakovat (připomenout) si některé aspekty probírané látky,následuje část nazvaná:OpakováníTypografické konvence

V textu této elektronické publikace můžeme nalézt velké množství příkladů. Každý příklad je uvedenslovem:Příklad:Pokud je tento příklad určen ke stažení (není to tedy jenom fragment) je uveden také svýmpořadovým číslem:Příklad 4.1:Aby došlo k jednoznačnému odlišení příkladu od ostatního textu - je příklad barevně zvýrazněn:int i,j,k;i j k 2;Pokud po zdrojovém kódu nějakého programu následuje jeho funkční výpis je zapsánneproporcionálním písmem:1 1 1 7 21280x20x80Protože je nutné zdůrazňit i chyby, které se často vyskytují, jsou chybné příklady uvozenynásledujícím způsobem:Chybný příklad:Použité značkyŠipka ukazující vpravo slouží k přechodu na další stránku (kapitolu) v probírané látce.Šipka ukazující vlevo slouží k přechodu na předcházející stránku (kapitolu) vprobírané látce.Šipka ukazující nahoru slouží k přechodu na vrchol (top) aktuální stránky.Šipka ukazující dolů slouží k přechodu na patu aktuální stránky.Symbol kužele upozorňuje na ty části textu, které vyžadují zvýšenou pozornost.Zpravidla jsou takto označována místa s důležitými informacemi.Symbolem diskety (floppy disku) jsou označeny výpisy zdrojových textů určených kestažení. V případě Jazyka C půjde o stažení souborů s příponou *.c, v případě JazykaC půjde o stažení souborů s příponou *.cpp.

Symbolem tužky je označovaná část cvičení. V této části jsou uváděny příklady prosamostudium, na kterých si je vhodné vyzkoušet správné pochopení probírané látky.Symbol písmene C nás informuje o tom, že získáváme znalosti o Jazyku C. Mámepřece rádi Jazyk C, tak pro si to nepřipomenout pěknou ikonou? :-)Značka Obsah nás přesouvá na obsahovou část této publikace. Můžeme si zde vybratčást která nás zajímá, případně se přesunout na Rejstřík, Glosář, Vysvětlivky či Úvodnístránku.Značka Rejstřík nás přesouvá na část, která nám pomáhá se snadněji zorientovat vpoužívaných příkazech a funkcích. Umožňuje nám nalézt konkrétní kapitoly (či jejichčásti), příklady ve kterých jsou příkazy či funkce použity.Značka Glosář nám pomáhá se snadněji orientovat v používaných termínech, které sesnaží jednoduchou formou vysvětlit.Značka Úvod nás přesouvá na úvodní stránku této elektronické publikace. Zde simůžeme vybrat zda se budeme vzdělávat v Jazyku C či C .Poslední změna: 26. 2. 2002RNDr. Petr Šaloun Ph.D., Radek Šup, VŠB - TU Ostrava, fakulta Elektrotechniky a Informatiky

Časová náročnost kapitoly: 1 hodina 50 minutNejprve trocha teorie. Program se skládá z instrukcí, také říkáme kódu, a dat. Instrukce musíprocesor vykonávat, k datům pak bude přistupovat tehdy, když mu to instrukce nařídí. Teďmusíme pouze určit, jak procesor pozná, kterou další instrukci má vykonat, kde najde potřebnouproměnnou, přesněji její hodnotu? Pozná to podle adresy. Ukazatel je název proměnné, kteráobsahuje adresu. Prostřednictvím této adresy ukazuje na data.Adresa je klíčem pro procesor, kde má brát instrukce nebo data. Překladač vyššíhoprogramovacího jazyka, například jazyka C, za nás vykoná všechnu potřebnou práci, když sejedná o adresy instrukcíPotřebné znalostiK zvládnutí obsahu této kapitoly je nutné mít znalosti z kapitoly 2 až 8 - rozumět dříve probíranéproblematice jazyka C, chápat činnosti preprocesoru, provádění podmíněného předkladu a psanímaker.9.1 UkazateleČasová náročnost: 8 minutO ukazatelích jsme se už zmínili v kapitole 3 konkrétně v části 3.10. Nyní se k problematiceukazatelů ještě vrátíme. Pro začátek trocha opakování.Ukazatel představuje adresu objektu. Současně s sebou ukazatel nese i informaci o datovémtypu, který se na dané adrese nachází. Ukazatel vytváříme stejně, jako proměnnou danéhotypu (nesmíme zapomínat, že ukazatel je spojen s datovým typem), jen před jeho jménouvedeme symbol * "hvězdička". Pak již stačí jen získat adresu proměnné (objektu), kterouchceme změnit nebo jen zjistit její hodnotu. K tomu použijeme adresový operátor &,uvedený opět před identifikátorem, tentokrát požadované proměnné.A jak tedy změníme hodnotu ukazatele? K tomu vystačíme již se známou "hvězdičkou". Jírozšířený ukazatel ovšem musí být vlevo od přiřazení.Pár příkladů pro procvičení.Příklad:

int x, y, *px, *p2x;/* *px, *p2x jsou pointery (ukazatele) na int */px &x;*px 5;y *px 1;*px 1;(*px) ;p2x px;*p2x *p2x y;/*/*/*/*/*/*/*px nyní ukazuje na x */totéž co x 5; */y x 1; */x 1; */x ; závorky jsou nutné */p2x ukazuje na totéž, co px, tj. na x */x x y; */Při deklaraci ukazatele můžeme použít i modifikátor const. Pak se jedná o konstantní ukazatel,ukazatel na konstantu, nebo obojí, tedy konstantní ukazatel na konstantu. Tyto konstrukce sezejména používají při tvorbě nebo použití knihovních funkcí, kdy je například zdůrazněno (apřekladačem kontrolováno), že argument funkce nebude v žádném případě modifikován.Opět pár příkladů.Příklad:int i;int *pi;/*int * const cp &i;/*const int ci 7;/*const int *pci;/*const int * const cpc &ci;pi je neinicializovaný ukazatel na typ int */konstantní ukazatel na int */celoèíselná konstanta */neinicializovaný ukaz. na celoè. konst. *//* konst. uk. na konstantu */9.2 PoleČasová náročnost: 20 minutV jazyku C je jednorozměrné pole seznamem proměnných, které jsou všechny stejného typu apřistupuje se k ním přes společné jméno. Jednotlivá proměnná v poli se nazývá prvek pole.Pole umožňuje pohodlně zpracovávat skupinu souvisejících dat.Pro deklaraci pole se používá obecný formát:typ jméno-promìnné[velikost]kde: typ je platný datový typ jazyka Cjméno-proměnné je identifikátor polevelikost je kladný počet prvků pole, tj. celočíselný konstantní výraz, který musí býtvyčíslitelný za překladu. Typicky se jedná o makro - konstantu, nebo přímo zapsanýpočet prvků pole. Poslední možnost však nevidíme příliš rádi.Klasický příklad deklarace celočíselného pole o 20 znaků.

Příklad:#define ROZSAH 20int pole[ROZSAH];Prvek pole se získává indexováním pole pomocí čísla prvku. V jazyku C začínají všechna polenulovým indexem. To znamená, že chceme-li pracovat s prvním prvkem pole, zadáme jakoindex nulu. Pro indexování pole zadáme index požadovaného prvku do hranatých závorek.Příklad:pole[0], pole[1], . , pole[19]Pamatujte, že pole začínají od nuly, takže index 1 označuje druhý prvek pole!!!Pamě ový prostor (velikost paměti) přidělený p

Programovací jazyk C vytvołil v Bellových laboratołích AT&T Denis Ritchie. ZÆmìrem bylo napsat jazyk pro snadnou a płenositelnou implementaci Unixu. Na tomto płenosu (Unixu již existujícího pro PDP--7) se dÆle podíleli Brian Kernighan a Ken Thompson. Jazyk C tedy pøvodn

Related Documents:

AZL52.02B1 Stejn jako naho ře, pouze jin jazykov sada 7550 17 848 Kč Western Europe 2 jazyky: GB, NL, DK, SE, NO, FI AZL52.09B1 Stejn jako naho ře, pouze jin jazykov sada 7550 18 893 Kč Eastern Europe cyr. jazyky: GB, RU, DE, BG, TR

akuntansi musyarakah (sak no 106) Ayat tentang Musyarakah (Q.S. 39; 29) لًََّز ãَ åِاَ óِ îَخظَْ ó Þَْ ë Þٍجُزَِ ß ا äًَّ àَط لًَّجُرَ íَ åَ îظُِ Ûاَش

Collectively make tawbah to Allāh S so that you may acquire falāḥ [of this world and the Hereafter]. (24:31) The one who repents also becomes the beloved of Allāh S, Âَْ Èِﺑاﻮَّﺘﻟاَّﺐُّ ßُِ çﻪَّٰﻠﻟانَّاِ Verily, Allāh S loves those who are most repenting. (2:22

inquiry-based instruction supported 5E learning cycle . In the instruction based on 5E learning cycle method, teaching and learning activities and lesson plans were designed to maximize students active involvement in the learning process. The topics included in the lesson plans were about the three units of fifth-grade sciences book; they included: hidden strangles (microbes, viruses, diseases .

Waves API 550 User Manual - 3 - 1.2 Product Overview . The Waves API 550 consists of the API 550A, a 3-Band parametric equalizer with 5 fixed cutoff points per band and the API 550B, a 4-Band parametric equalizer with 7 fixed cutoff points per band. Modeled on the late 1960’s legend, the API 550A EQ delivers a sound that has been a hallmark of high end studios for decades. It provides .

Buku saku ini menyajikan berbagai jenis bahan pangan dan produk olahannya yang memiliki kandungan bahan aktif dan manfaat sebagai antivirus dan immune booster, termasuk pembuatan produk dan beberapa teknologi pengolahan yang telah dikembangkan Balai Besar Litbang Pascapanen Pertanian (BB Pascapanen). Cara konsumsi, dosis dan efek samping yang mungkin timbul dari mengonsumsi masing-masing .

Central Bank Survey of Foreign Exchange and Derivatives Market Activity—FR 3036. Turnover Survey as of April 2019. This report is authorized by law (12 U.S.C. §§ 225a and 263). Your voluntary cooperation in submitting this report is needed to make the results comprehensive, accurate, and timely. The Federal Reserve may not conduct or sponsor, and an organization . is not required to .

of children shall conform with the standards established by competent authorities, particularly in the areas of safety, health, in the number and suitability of their staff, as well as competent supervision. Article 4 States Parties shall undertake all appropriate legislative, administrative, and other measures for the implementation of the rights recognized in the present Convention. With .