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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

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

Základy programování (IZP)

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

10 Práce s řetězci - pokračování

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

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Sada 1 - Základy programování

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

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 20 VY 32 INOVACE

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

- jak udělat konstantu long int: L long velka = 78L;

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 15 VY 32 INOVACE

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Šablona 10 VY_32_INOVACE_0106_0110 Rovnice s absolutní hodnotou

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT

Sada 1 - Základy programování

CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT

Práce s řetězci. IUJCE Přednáška č. 10. string.h. vrací: délku řetězce str (bez '\0')

Materiály 2. ročník učebních oborů Občanská nauka. Metodický list. Identifikační údaje školy

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

Programování v jazyce C pro chemiky (C2160) 7. Ukazatele, Funkce pro práci s řetězci

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Sada 1 - PHP. 03. Proměnné, konstanty

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Úvod do programování 6. hodina

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

VÝUKOVÝ MATERIÁL VÝUKOVÝ MATERIÁL VÝUKOVÝ MATERIÁL

Formátové specifikace formátovací řetězce

Algoritmizace a programování

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

VÝUKOVÝ MATERIÁL. Pro vzdělanější Šluknovsko. 32 Inovace a zkvalitnění výuky prostřednictvím ICT Bc. David Pietschmann.

1. test z PJC Jméno studenta: Pocet bodu: Varianta 37: příklad 5 (5 bodů)

Programování v jazyce JavaScript

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8 Třídy, objekty, metody, předávání argumentů metod

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 1 VY 32 INOVACE

Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková. Výukový materiál

Úvod do programování. Lekce 1

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT

Regulární výrazy. Vzory

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

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 5: Řetězce, parametry programu Autor: RNDr. Jan Lánský, Ph.D.

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

VÝUKOVÝ MATERIÁL VÝUKOVÝ MATERIÁL

Lekce 19 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko 32 - Inovace a zkvalitnění výuky prostřednictvím ICT

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 5 VY 32 INOVACE

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Tematická oblast: Programování 2 (VY_32_INOVACE_08_2_PR) Anotace: Využití ve výuce: Použité zdroje:

VÝUKOVÝ MATERIÁL. Varnsdorf, IČO: tel Využití ICT při hodinách občanské nauky

Základy programování (IZP)

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 3 VY 32 INOVACE

VÝUKOVÝ MATERIÁL Ing. Yvona Bečičková Termika VY_32_INOVACE_0301_0212 Teplotní roztažnost látek. Fyzika 2. ročník, učební obory Bez příloh

INFORMATIKA MS WORD ODRÁŽKY A ČÍSLOVÁNÍ

VÝUKOVÝ MATERIÁL Ing. Yvona Bečičková Tematická oblast. Termika Číslo a název materiálu VY_32_INOVACE_0301_0220 Anotace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

VÝUKOVÝ MATERIÁL. Varnsdorf, IČO: tel CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

Základy programování (IZP)

VÝUKOVÝ MATERIÁL. Opakování látky prvního ročníku psychologie a sociologie, případně učiva ZŠ. Vytvořeno Určeno pro

Základy programování (IZP)

VÝUKOVÝ MATERIÁL. Varnsdorf, IČO: tel CZ.1.07/1.5.00/ Pro vzdělanější Šluknovsko

Popis výukového materiálu

Transkript:

VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu CZ.1.07/1.5.00/34.1076 Název projektu Pro vzdělanější Šluknovsko Číslo a název šablony 32 Inovace a zkvalitnění výuky prostřednictvím ICT Autor 0207 Mgr. Bc. Jan Škoda Tematická oblast Programování Číslo a název materiálu VY_32_INOVACE_0207_0218 Knihovna <string.h> Anotace Žák si upevní učivo o knihovně <string.h> v programovacím jazyku C Vytvořeno 22. 7. 2013 Určeno pro 3. ročník oboru Informační technologie Přílohy Bez příloh

Metodický list Učitel: Výklad s projekcí elektronického učebního materiálu. Demonstrace v reálném prostředí. Ukázka obecného postupu činností. Monitorování činnosti žáků. Žák: Sleduje výkladovou projekci a demonstraci učitele. Procvičuje na reálném prostředí softwaru.

Jazyk c++ Knihovna <string.h>

Řetězce Jazyk C nemá implementovaný speciální datový typ pro řetězce (např. string). Ty jsou proto v C reprezentovány jako pole prvků typu char, kde je v každém prvku uložena ASCII hodnota příslušného znaku řetězce. Jako poslední musí být vždy uveden znak EOS (end of string), což je znak s ASCII hodnotou 0. Ten označuje konec řetězce. Funkce pro práci s řetězci jsou součástí standardní knihovny funkcí a jejich prototypy jsou obsaženy v hlavičkovém souboru string.h.

Řetězce Řetězce se definují stejně jako pole. Je třeba dát si pozor na to, abychom při definování velikosti nezapomněli na znak EOS. Pole prvků char lze inicializovat při definici výčtem jednotlivých prvků: char string[]={'p','o','l','e','\0'};

Řetězce Jednotlivé znakové konstanty představují ASCII hodnoty, které jsou do pole string uloženy. Jako poslední znak pak nesmíme zapomenout vložit znak EOS. Tento způsob inicializace ale není zrovna moc pohodlný, a tak je možné při definici inicializovat přímo řetězcovou konstantou: char string[]="pole";

Kopírování řetězců Protože řetězce jsou vlastně jen obyčejná pole, není možné je přiřazovat, sčítat je, ani provádět s nimi jiné podobné operace. Naštěstí jazyk C nabízí pro tyto účely již předdefinované funkce. char *strcpy(char cil[], char zdroj[])

Kopírování řetězců Pro kopírování jednoho řetězce do druhého je v C připravena funkce strcpy, která má dva argumenty, řetězce cil a zdroj. Bez ohledu na obsah a velikost řetězce cil je do něho postupně, znak po znaku, kopírován obsah řetězce zdroj, a to až do doby kdy se narazí na znak EOS. Tento znak je posledním zkopírovaným znakem. Při používání funkce strcpy je nutné zajistit, aby pole cil mělo vždy dostatečnou velikost na to, aby se do něj řetězec zdroj vešel. Návratovou hodnotou funkce strcpy je ukazatel na řetězec cil.

Příklad char *strcpy(char cil[], char zdroj[]) { unsigned int i=0; do { cil[i]=zdroj[i]; i++; } while (zdroj[i-1]!= '\0'); return cil; }

Spojování řetězců Funkce strcat jednoduše připojí řetězec zdroj za řetězec cil. Stejně jako u funkce strcpy, ani u strcat se neberou ohledy na skutečnou velikost paměti alokované pro pole cil. To musí být dostatečně velké, aby pojalo oba řetězce cil a zdroj i se znakem EOS. char * strcat (char cil[], char zdroj[])

Zjišťování délky řetězce Pro zjišťení délky řetězce nám jazyk C nabízí funkci strlen. Jako svou návratovou hodnotu vrací délku řetězce, který jí byl předán parametrem. int strlen(char str[])

Porovnání dvou řetězců Funkce strcmp porovnává řetězce str1 a str2 a vrací zápornou hodnotu v případě, že řetězec s1 je lexikograficky menší než řetězec s2 a kladné číslo v případě, že s1 je větší než s2. Jsou-li oba řetězce stejné, je funkcí vrácena hodnota 0. int strcmp (char str1[], char str2[])

Příklad char s1[]="retezec"; char s2[]="pole"; char s3[20]; strcpy(s3, s1); //zkopíruje s1 do s3 strcat(s3, " a "); //připojí řetězec " a " k s3 strcat(s3, s2); //připojí řetězec s2 k s3

Přehled funkcí knihovna string.h strcpy(a,b) Zkopíruje řetězec b do řetězce a; vrací ukazatel na začátek a. Řetězec a musí být dostatečně dlouhý, aby se do něj vešla kopie b i s koncovou nulou. strcat(a,b) Přidá řetězec b na konec řetězce a (tj. přepíše vše počínaje koncovým nulovým znakem); vrací ukazatel na začátek a. Řetězec a musí být dostatečně dlouhý, aby se do něj vešly spojené řetězce i s koncovou nulou. strcmp(a,b) Porovná řetězce a a b; vrací číslo <0 / 0 / >0, je-li a lexikograficky menší / rovno / větší než b.

Přehled funkcí knihovna string.h strlen(a) Vrací délku řetězce a (počet znaků před ukončujícím nulovým znakem). strchr(a,c) Hledá, zda je v řetězci a obsažen znak c. Pokud ano, vrátí ukazatel na první výskyt znaku; pokud ne, vrátí NULL. strstr(a,b) Hledá, zda je v řetězci a obsažen podřetězec b. Pokud ano, vrátí ukazatel na začátek prvního výskytu podřetězce; pokud ne, vrátí NULL.

Přehled funkcí knihovna ctype.h isalpha(znak) Je znak písmeno (malé nebo velké)? isdigit(znak) Je znak dekadická číslice? isxdigit(znak) Je znak hexadecimální číslice (0-9, a-f, A-F)? isalnum(znak) Je znak písmeno nebo číslice?

Přehled funkcí knihovna ctype.h ispunct(znak) Je znak speciální (tisknutelný, ale ani písmeno ani číslice)? isprint(znak) Je znak tisknutelný (písmeno, číslice, speciální nebo mezera)? isgraph(znak) Má znak grafickou podobu (písmeno, číslice, speciální, ale ne mezera)? iscntrl(znak) Jde o řídicí znak (v kódu ASCII jsou to znaky s kódem <32 nebo =255, pokud nejde o znaky bílé)?

Přehled funkcí knihovna ctype.h isspace(znak) Jde o bílý znak (mezeru, tabulátor, nový řádek, návrat vozíku, vertikální tabulátor, nová stránka)? isupper(znak) Je znak velké písmeno? islower(znak) Je znak malé písmeno?

Přehled funkcí knihovna ctype.h Převod znaků - z malých písmen na velká nebo naopak (jen jediný znak!) toupper(znak) Je-li znak malé písmeno, je výsledek odpovídající písmeno velké, jinak je vrácen znak původní. tolower(znak) Je-li znak velké písmeno, je výsledek odpovídající písmeno malé, jinak je vrácen znak původní.

Zdroje BERAN, Martin. Učebnice Borland C: učebnice programování v Borland C 4. generace. Praha: BEN - technická literatura, 1995, 442 s. ISBN 80-238-0304-2. HEROUT, Pavel. Učebnice jazyka C. 3. vyd. České Budějovice: Kopp, 1994, 269 s. ISBN 80-858-2821-9. HEROUT, Pavel. Učebnice jazyka C: 2. díl. 1. vyd. České Budějovice: KOPP, 1995, 236 s. ISBN 80-858-2850-2. SCHILDT, Herbert. Nauč se sám C. Překlad Jiří Grée, Adéla Gréeová. Praha: SoftPress, 2001, 623 s. ISBN 80-864-9713-5.