Úvod do jazyka C. Proč jazyk C



Podobné dokumenty
Programování - úvod. Programování. Proces programování. Vlastnosti dobrého programu: Kapitola seznamuje se základními pojmy programování.

Algoritmizace a programování

ZÁKLADY AUTOMATIZACE TECHNOLOGICKÝCH PROCESŮ V TEORII

Cílem kapitoly je seznámit studenta se strukturou programu a jeho překladem.

Informační a komunikační technologie. 1.4 Data, informace, komprimace

Operační systémy Rozdělení a popis. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1124_Operační systémy Rozdělení a popis_pwp

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

Zvyšování kvality výuky v přírodních a technických oblastech CZ.1.07/1.128/ Nástrahy virtuální reality (pracovní list)

Zákon o elektronickém podpisu

Algoritmus (nebo dřívějším pravopisem algorithmus)

INFORMATIKA pro LÁZEŇSTVÍ. Ing. Petr Janík

INFORMATIKA V CHOVECH PRASAT

4. Kdy nelze práva z vadného plnění uplatnit? Práva z vadného plnění Vám nenáleží, pokud:

Bude nás sledovat inteligentní prach? Ing. Bibiána Buková, PhD. ( )

Návrh induktoru a vysokofrekven ního transformátoru

Střední odborné učiliště Domažlice, škola Stod, Plzeňská 322, Stod

Adresace paměti. 11.přednáška

MOBILNÍ KOMUNIKACE STRUKTURA GSM SÍTĚ

HPN. projekt. s.r.o. OBEC STARÉ MĚSTO PASPORT MÍSTNÍCH KOMUNIKACÍ. katastrální území: Staré Město, Petrušov, Radišov

Využití interaktivní tabule ve výuce

OPERAČNÍ SYSTÉMY MS-DOS

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

Tekla Structures Multi-user Mode

Měřidla. Existují dva druhy měření:

PLÁN INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Memoria Mundi Series Bohemica z trezoru na Internet

C. PARKOVÁNÍ A ODSTAVOVÁNÍ KOL

Výstup. Registrační číslo projektu CZ.01.07/1.1.01/ PaedDr. Vladimír Hůlka, PaedDr. Zdenka Kınigsmarková

Přednáška Tablety a chytré telefony. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/

Algoritmizace a programování

Aplikace počítačů v provozu vozidel 9

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

ICT plán školy na rok

Tel/fax: IČO:

VY_62_INOVACE_VK64. Datum (období), ve kterém byl VM vytvořen Červen 2012

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO

4.5.1 Magnety, magnetické pole

8. Přílohy. CO2 chladiče - zde jde o tři hlavní druhy aparátů

Rozvojový projekt na rok 2012

Přezkoumání vhodnosti použití zvýšené podlahy pro aplikace datových středisek

Centrum pro flexibilní zpracování plechových polotovarů (II)

Freecooling pro chlazení kapalin

DATOVÉ SCHRÁNKY. Seminární práce z předmětu Information and communication policy

MINISTERSTVO PRO MÍSTNÍ ROZVOJ UŽIVATELSKÁ PŘÍRUČKA IS KP 14+ PRO INTEGROVANÉ NÁSTROJE: ŽÁDOST O PODPORU STRATEGIE CLLD. Verze: 1.

statutární město Děčín podlimitní veřejná zakázka na služby: Tlumočení a překlady dokumentů

Všeobecné obchodní podmínky

ISA 402 ZVAŽOVANÉ SKUTEČNOSTI TÝKAJÍCÍ SE SUBJEKTŮ VYUŽÍVAJÍCÍCH SLUŽEB SERVISNÍCH ORGANIZACÍ

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

mísy na koření akční pole prostor pro karty koření 1 mlýnek na pepř

účetních informací státu při přenosu účetního záznamu,

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

VY_32_INOVACE_12_PRÁVO_1.12_Zajištění průběhu a účelu správního řízení

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

KDirSign / KDirVerify, podrobny ná vod

PRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení

TECHNICKÉ SPECIFIKACE systémů, zařízení a výrobků

3. TELEMATIKA A PODNIKOVÉ ŘÍDÍCÍ SYSTÉMY

Poměry a úměrnosti I

VYHLÁŠKA ČÁST PRVNÍ STÁTNÍ ZKOUŠKY Z GRAFICKÝCH DISCIPLÍN. Předmět úpravy

Výsledky přijímacích zkoušek

ICT plán ZŠ praktické Bochov na rok 2009

TECHNICKÉ KRESLENÍ A CAD

Osvětlení modelového kolejiště Analog / DCC

Server. Software serveru. Služby serveru

Speciální způsoby záchrany s využitím vrtulníku

VÝROBEK V MARKETINGOVÉM MIXU. doc. PhDr. Dušan Pavlů, CSc. dusan.pavlu@vsfs.cz

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

ICT plán školy 2015/2016

Zvyšování kvality výuky technických oborů

Software IS Řízení stavebních zakázek

Objektově orientované databáze

PROVÁDĚCÍ OPATŘENÍ KE KODEXU CHOVÁNÍ POSLANCŮ EVROPSKÉHO PARLAMENTU V SOUVISLOSTI S FINANČNÍMI ZÁJMY A STŘETY ZÁJMŮ

Metodika pro nákup kancelářské výpočetní techniky

13. Sítě WAN. Rozlehlé sítě WAN. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme rozlehlé sítě typu WAN. Doba nutná k nastudování

Model dvanáctipulzního usměrňovače

Nejlepší zhodnocení veřejných prostředků

Nástroje produktivity

D o h o d a. o s o u č i n n o s t i

Marketing. Modul 5 Marketingový plán

(mimo pozůstalostní řízení a vypořádání SJM) ÚVOD POPIS ŘEŠENÍ Typ nemovitosti : Výše spoluvlastnického podílu : ZÁVĚR

KNIHOVNY A ZÁKON O SBÍRKÁCH

CEFIF Založení a změna s. r. o. Obchodní rejstřík I

58/2016 Sb. VYHLÁKA ČÁST PRVNÍ STÁTNÍ ZKOUKY Z GRAFICKÝCH DISCIPLÍN

Základní stavební prvky algoritmu

R O Z S U D E K J M É N E M R E P U B L I K Y

Návod na elektronické podání

Prostory jmen. #include<iostream.h> namespace RadimuvProstor { int secti(int a, int b); class Trida { private: int Atribut; public: void metoda();

Generátor sítového provozu

Přijímací řízení ve školním roce 2012/ Informace pro vycházející žáky a zákonné zástupce

R O Z S U D E K J M É N E M R E P U B L I K Y

Obsah. Obsah. Úvod Makra v Excelu Nahrávání maker První setkání s editorem jazyka Visual Basic... 31

Základní umělecká škola Sokolov, Staré náměstí 37, Sokolov

Inovované řešení VDT/VT

Vydání občanského průkazu

Výzva k podání nabídek (zadávací dokumentace)

Všeobecné podmínky firmy Libor Vajgl Rywa Software pro poskytování telekomunikačních služeb

Úprava fotografií hledání detailu, zvětšování (pracovní list)

Kupní smlouva. kontaktní osoba, tel.č. Na adresu kontaktní osoba, tel.č.

Transkript:

Proč jazyk C C je univerzální programovací jazyk. Nebudu zde řešit otázku, zda je lepší jazyk C ci LISP, Prolog, Cobol, AWK nebo SQL, ze stejného důvodu jako se nebudu zabývat tím, zda je lepší jazyk C nebo oříšková zmrzlina. Ostatní výše zmíněné jazyky jsou zkrátka o něčem jiném. Proc jazyk C stojí za pozornost mezi desítkami jiných univerzálních programovacích jazyku? Jedná se o jazyk pro opravdové programování. Niklaus Wirth, autor jazyka Pascal, věnoval značné úsilí, aby jeho jazyk, určený pro výuku programování, byl co možná nejbezpečnější, aby bylo obtížné v něm programovat ošklivě. Popularita jaké Pascal dosáhl, svědčí o tom, že Wirth vytvořil něco lepšího, než o co usiloval. Nicméně něco je možné napsat ve standardním Pascalu jen s velkým úsilím, něco vůbec ne. Obhájci Pascalu se chlubí, že Pascal má od začátku závaznou normu, ale neprogramují v ní. Množství vzájemně nekompatibilních rozšíření (nejvýznamnější z nich je asi Turbo Pascal) svědčí o tom, že standardnímu Pascalu mnoho užitečných rysu chybí. Jazyk C prošel několikaletým vývojem, kdy se skutečně používal i na věci nesnadné a komplikované (přenos operačního systému Unix na počítače několika značně odlišných typu). Během vývoje byl doplněn o vlastnosti, které se ukázaly jako užitečné (např. prototypy funkcí), a naopak některé vlastnosti matoucí, zbytečně složité nebo zbytečné byly odstraněny Důležitým okamžikem vývoje jazyka C bylo vytvoření jeho standardu.

Jazyk C vytvořili programátoři pro programátory. Díky tomu neobsahuje podobné přehmaty jako parametry procedur volané jménem z jazyka Algol 60 vlastnost, která se obtížně implementuje, nepříliš efektivně překládá a přitom je možné ji nahradit nečím mnohem čistším a průhlednějším (parametry volanými referencí), nebo návaznost souboru na operační systém pomocí parametru programu v Pascalu. Způsob zápisu algoritmu v jazyce C je velice podobný zápisu v jazycích Algol, Pascal, Basic, PL/I, Modula 2, Ada, což tyto jazyky favorizuje před jazyky s méně obvyklou syntaxí (Fortran, Cobol, Forth, Perl,... ). Syntaxe jazyka C umožňuje stručné vyjádření algoritmu a navíc často naznačuje překladači možnost optimalizace. Jazyk C umožňuje oddělený překlad jednotlivých částí programu, používání a vytváření knihoven. Díky tomu je možné jej používat i na rozsáhlé projekty a pro týmovou práci. Jazyk C nepokutuje programátora za použití některých svých vlastností (číselná návěští v Pascalu s nutností je předem deklarovat, logické spojky and a or v Pascalu s povinným vyhodnocením obou operandu), ani nenabízí mocné konstrukce, které je snadné použít, ale které vedou ke komplexním operacím a k udivení nad pomalým během programu. Většinu příkazů jazyka je možné přeložit jednou nebo několika málo strojovými instrukcemi.

Jazyk C je relativně jednoduchý. Nejedná se o ohromné monstrum, jakým je například jazyk PL/I (O) nebo dokonce Ada, pro kterou několik let neexistoval překladač. Nejedná se ani o jazyk, na který si činí vlastnické právo některá firma či jiná organizace. Jazyk C je k dispozici na většině platforem, od jednočipových mikropočítačů (překladače pro ne samozřejmě pracují na větších strojích jedná se o tzv. křížové překladače( cross compilers), přes domácí a osobní počítače, pracovní stanice, střediskové počítače až k superpočítačům. Nejrozšířenější operační systémy (DOS a UNIX) jsou napsány jazyce C. Jazyk C nenutí programátora použít jediný správný přístup; tentýž algoritmus je možné zapsat s použitím různých prostředku a do různé míry zhuštěně. C je typickým jazykem volby. Programování v jazyce C však přináší i některá nebezpečí. Mezi časté chyby patří například použití operátoru = namísto == pro porovnávání, zapomenutí příkazu break na konci větve uvnitř switch, neuvedení hlavickového souboru pro použité funkce a nesprávné sestavení programu

Překladače jazyka C Kompletní profesionální vývojové prostředí pro jazyk C mívá cenu desítek tisíc Kč. Existuje však rada volně dostupných překladačů a jednoduchých vývojových prostředí, které jsou pro výuku plně dostačující: OS Linux: vývojové prostředí s gcc, gdb, součástí prakticky všech distribucí. OS Windows (prostředí příkazového řádku) nebo DOS: DJGPP http://www.delorie.com/djgpp/ kompletní aktuální vývojové prostředí (ovšem s uživatelským rozhraním poplatným MS-DOSu a roku 1990). Archivy zabírají asi 20 MB (nebo více podle množství použitých balíku). Výběr souboru se provádí pomocí ZIP Picker. V Čechách zrcadleno na serveru ftp://ftp.zcu.cz/pub/win/simtelnet/gnu/djgpp/. Borland Museum: http://community.borland.com/museum/ starší verze integrovaného prostředí s překladačem C od firmy Borland. Turbo C++ verze 1.01 (2,7 MB) nebo Turbo C verze 2.01 (1,1 MB).

Srovnání jazyka C a Pascal C pro praktické programování původním standardem je kniha rozšíření language of choice umožňuje modulární programování objektová rozšíření C++, C#, Objective C rozsáhlé standardní knihovny jsou volnou součástí jazyka, množství dalších knihoven Pascal pro výuku programování od počátku existoval standard jazyka, language of bondage and discipline modulární programování dostupné objektové rozšíření Turbo Pascal, Delphi standardní funkce jsou nedílnou součástí jazyka