10 Práce s řetězci - pokračování
|
|
- Marcel Vopička
- před 5 lety
- Počet zobrazení:
Transkript
1 10 Práce s řetězci - pokračování Máme deklarováno: char retez[50]; - čtení z klávesnice: scanf("%s", retez); - čtení zadané počtu znaků z klávesnice scanf("%10s", retez); // přečti řetězec z klávesnice,max však 10 znaků - tisk na obrazovku: printf("%s", retez); - čtení celého řádku z klávesnice: gets(retez); - pro pointery lze také p_ret = gets(); - tisk řádku/řetězce na obrazovku: puts(retez); - čtení celého řádku ze souboru: fgets(retez, fr); // kde FILE *fr; - tisk řádku/řetězce do souboru: fputs(retez, fw); // kde FILE *fw; Síla příkazů gets a puts je v tom, že mohu znak po znaku zkontrolovat, co uživatel zadal. Když zjistím, že vstup je OK, mohu použít funkce: sscanf(retez, "%d, %d", &a, &b); - čte z řetězce, jako by to byla klávesnice
2 Opačná funkce: sprintf(retez, "Vysledek je: %f Ohm", a); - tiskne do řetězce, jakoby to byla obrazovka. A potom použiji puts(retez); a je to na obrazovce. #include <stdio.h> #include <stdlib.h> int main() { char zprava[300]; gets(zprava); puts(zprava); double R, U, I; U = 45.78; I = 0.34; R = U / I; sprintf(zprava, "\nvysledek je: %f [Ohm]\n", R); puts(zprava); FILE *fw; fw = fopen("vysledek.txt", "w"); if (fw == NULL) { printf("\nsoubor se nepodarilo otevrit...\n"); return -1; fprintf(fw, "%s", zprava); fputs(zprava, fw); if (fclose(fw) == EOF) { printf("\nsoubor se nepodarilo uzavrit...\n"); return 0;
3 Základní funkce pro operace s řetězci string.h strcat strchr strcmp strcoll strcpy strcspn strerror strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtok strxfrm char *strcat( char *dest, const char *src); Funkce připojí řetězec src k řetězci dest. Funkce vrací ukazatel na řetězec dest. char *strncat( char *dest, const char *src, size_t n); Jako funkce strcat, ale přidá jen n znaků z src. Tato funkce je bezpečnější z hlediska možného "přetečení" (pokus zapisovat více dat, než jakou má velikost dest). int strcmp(const char *s1, const char *s2); Porovnává řetězce s1 a s2. Pokud je s1 < s2 pak vrací hodnotu menší než 0, pokud jsou si rovny, pak vrací 0, pokud je s1 > s2 pak vrací hodnotu větší jak 0. int strncmp( const char *s1, const char *s2, size_t n); Jako strcmp(), porovnává však jenom n znaků. char *strcpy( char *dest, const char *src); Zkopíruje řetězec src do řetězce dest. Vrací ukazatel na dest. (Používá se místo přiřazení naplnění řetězce.) char *strncpy( char *dest, const char *src, size_t n); Jako strcpy(), ale zkopíruje maximálně n znaků. (Je-li jich právně n, nepřidá zarážku). size_t strlen( const char *s); Vrací délku řetězce s. char *strchr( const char *s, int c); Vrací ukazatel na první pozici, kde se vyskytuje znak c, nebo NULL v případě, že jej nenajde. (Nenechte se zmást, že znak c je typu int a ne char, má to tak být). char *strrchr( const char *s, int c); To samé jako strchr(), ale hledá první výskyt zprava. char *strstr( const char *haystack, const char *needle); Vrací ukazatel na první výskyt řetězce needle v řetězci haystack. Pokud jej nenajde, vrací NULL. size_t strspn( const char *s, const char *accept); Vrací počet znaků, ve kterých se řetězec s schoduje s řetězcem accept. size_t strcspn( const char *s, const char *reject); Vrací počet znaků, ve kterých se řetězec neshoduje s řetězcem reject. [Zdroj: ] char prvni[20], druhy[20]; strcpy(prvni, "Ahoj"); strcpy(druhy, "Nazdar");
4 printf("\nporovnani %s %s vrati %d", prvni, druhy, strcmp(prvni, druhy)); printf("\nporovnani %s %s vrati %d", druhy, prvni, strcmp(druhy, prvni)); Vytiskne: Porovnani Ahoj Nazdar vrati -1 Porovnani Nazdar Ahoj vrati 1 V <stdlib.h> jsou funkce pro převod typu řetězecčíslo: a = atoi(retezec); - ascii to int Např. z řetězce "23" udělá int 23 atol ascii to long atof ascii to float (pozor konvertuje na double) double cislo; cislo = atof("0.0"); printf("\ncislo je %f\n", cislo); /* S kontrolou jedině pomocí sscanf: */ int povedlo; char retcis[10]; strcpy(retcis, "dsdfghdghd23.5"); povedlo = sscanf(retcis, "%lf", &cislo); printf("\npovedlo se %d, cislo je %f\n", povedlo, cislo); Projdu řetězec a převedu všechny znaky v něm na velké: #define DELKA_RETEZCE char retezec[delka_retezce];
5 int i;......naplnění a další příkazy i = 0; while ((retezec[i]!= '\0') && (i < DELKA_RETEZCE)) { retezec[i] = toupper(retezec[i]); i++; Pokud neznám funkci toupper: i = 0; while ((retezec[i]!= '\0') && (i < DELKA_RETEZCE)) { retezec[i] = ((retezec[i] >= 'a') && (retezec[i] <= 'z'))? retezec[i] ('a' - 'A') : retezec[i]; i++; Pozn.: - na disku jsou hlavičkové soubory v adresáři překladače (prostředí) v podadresáři /include (a jsou komentované)
6 Vstup a výstup do souboru ANSI C - 2 typy souborů - binární - textové Jak otevřít soubor pro čtení a jak pro zápis: - musím si připravit proměnnou typu FILE * int main(void) { /* vytvoreni promenne-file descriptor - budouci odkaz na soubor */ FILE *fr, *fw; /* otevreni souboru - pozor na // v ceste k souboru "r" - znaci, ze budu jen cist */ fr = fopen("d:\\pozdravy\\nazdar.txt", "r"); /* otevreni souboru - pozor na // v ceste k souboru "w" - znaci, ze budu zapisovat */ fw = fopen("d:\\pozdravy\\ahoj.txt", "w"); Textové soubory režimy otevření souborů r čtení w zápis (přepsání) a zápis do do souboru - zapisuje na konec existujícího souboru (na rozdíl od "w" nesmaže původní obsah souboru) r+ čtení a zápis w+ čtení, zápis a přepsání a+ čtení a zápis na konec Binární soubory režimy otevření souborů rb, wb, ab pro binární soubory rb+, wb+, ab+ pro binární soubory
7 Klávesnice a obrazovka funkce vstupu/výstupu vstup znaku: c = getchar(); tisk znaku: putchar(c); formátované čtení klávesnice: scanf("%d, %d ", &i, &j); formátovaný tisk na obrazovku: printf("%f", cislo); Přečtení celého řádku až po Enter: char s[300], *jine_s; gets(s); jine_s = gets(); např. mohu zkontrolovat, co uživatel zadal přes klávesnici a je-li to v pořádku, mohu potom z řetězce celé číslo přečíst pomocí: sscanf(s, "%d", &i) Tisk do řetězce: sprintf(s, "Cislo je %f", cislo); Zápis řetězce na obrazovku: puts(s); Pro soubory funkce vstupu/výstupu FILE *fr, *fw; fr = fopen("d:\\pozdravy\\nazdar.txt", "r"); fw = fopen("d:\\pozdravy\\ahoj.txt", "w"); - čtení jednoho znaku ze souboru: c = getc(fr); /*ctu z nazdar.txt*/ - zápis jednoho znaku do souboru: putc(c, fw); /*zap. do ahoj.txt*/
8 formátované čtení ze souboru: fscanf(fr, "%d", &i); formátovaný tisk do souboru: fprintf(fw, "%f", cislo); Např.: a = 2.4; b = 5.6; c = 8.9; d = 4.5; fprintf(fr, "%f;%f;%f;%f\n", a, b, c, d); V souboru bude: 2.4;5.6;8.9;4.5 EOF znaková konstanta - značí konec souboru (End Of File), je deklarována v stdio.h Lepší je použít funkci feof(fr); - vrací 1, když jsem na konci souboru Pro ukončení práce se souborem, je nutno soubor uzavřít: fclose(fr); fclose(fw); /* uzavření obou souborů */
9 Pozor na různé značení konce řádky \n\r obvykle Windows \r \n Unix apod. Test konce souboru též lze pomocí makra feof(fr); /* vrací pravda jsme-li na konci souboru */ Např. tisk obsahu souboru na obrazovku: while (!feof(fr)) { c = getc(fr); putchar(c); - feof je vhodné použít při práci s binárními soubory (kde nejde použít test na konstantu EOF jako u textových) Test otevření souboru dělejte vždy!!! - test na konst. NULL if ((fr = fopen("orig.txt", "r")) == NULL) { printf("soubor ORIG.TXT se nepodarilo otevrit\n"); return; /* ukonceni funkce */ Totéž, ale rozepsané: fr = fopen("orig.txt", "r"); if (fr == NULL) { printf("soubor ORIG.TXT se nepodarilo otevrit\n"); return; /* ukonceni funkce */
10 Test zavření souboru - test na konst. EOF if (fclose(fr) == EOF) { printf("soubor ORIG.TXT se nepodarilo uzavrit\n"); return; Totéž, ale rozepsané: int jaktodopadlo; jaktodopadlo = fclose(fr); if (jaktodopadlo == EOF) { printf("soubor ORIG.TXT se nepodarilo uzavrit\n"); return;
11b Další příklady operací vstupu a výstupu (úvod viz 10)
11b Další příklady operací vstupu a výstupu (úvod viz 10) V souboru budu mít uloženo:....... ahoj - čtu tečky pomocí c = getc(fr) až po 'a', ale potom volám funkci, která má zpracovat celé slovo ahoj a
Více- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
VíceNapř.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;
Struktury - složený datový typ. - datový typ jehož položky jsou jiné proměnné: - používá obvykle dohromady s příkazem typedef nechci vypisovat opakovaně složitou deklaraci pomocí typedef udělám nový datový
VíceJazyk C práce se soubory. Jan Hnilica Počítačové modelování 16
Jazyk C práce se soubory 1 Soubory Použití souborů pro vstup většího množství dat do programu (uživatel nezadává z klávesnice ručně tisíce údajů...) pro uložení většího množství výsledků, např. k pozdějšímu
Více9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte
VícePole a Funkce. Úvod do programování 1 Tomáš Kühr
Pole a Funkce Úvod do programování 1 Tomáš Kühr (Jednorozměrné) pole u Datová struktura u Lineární u Homogenní = prvky stejného datového typu u Statická = předem určený počet prvků u Pole umožňuje pohodlně
Více- tzv. standardní vstupní a výstupní proud (input / output stream)
Vstup a výstup standardní - obvykle klávesnice / obrazovka - každý program v jazyce C má standardně otevřen standardní vstup stdin, standardní výstup stdout a standardní chybový výstup stderr. - ty jsou
VícePráce s řetězci. IUJCE Přednáška č. 10. string.h. vrací: délku řetězce str (bez '\0')
Práce s řetězci string.h size_t strlen(const char *str); délku řetězce str (bez '\0') int strcmp(const char *str1, const char *str2); porovná řetězce o
Vícefor (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
VíceProgramování v jazyce C pro chemiky (C2160) 7. Ukazatele, Funkce pro práci s řetězci
Programování v jazyce C pro chemiky (C2160) 7. Ukazatele, Funkce pro práci s řetězci Ukazatele Každá proměnná je umístěna na konkrétním místě v paměti Paměť je organizována lineárně jako posloupnost bytů
VíceLekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceStandardní vstup a výstup
Standardní vstup a výstup Trochu teorie S pojmy standardní vstup/výstup (I/O, input/output) jste se již pravděpodobně setkali, pokud ale ne, zde je krátké vysvětlení. Standardní vstup a výstup jsou vlastně
VícePráce se soubory. Základy programování 2 Tomáš Kühr
Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
Více8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje
VíceFormátové specifikace formátovací řetězce
27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
VíceZáklady programování (IZP)
Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 4.
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
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
VíceZáklady programování (IZP)
Základy programování (IZP) Páté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 5. týden
VícePráce s binárními soubory. Základy programování 2 Tomáš Kühr
Práce s binárními soubory Základy programování 2 Tomáš Kühr Binární soubory Mohou mít libovolnou strukturu Data jsou uložena ve stejné podobě jako v paměti za běhu programu Výhody: Pro uložení je potřeba
VíceKnihovní funkce jazyka C
Knihovní funkce jazyka C Petr Šaloun 10. listopadu 2003 PJCPP Knihovní funkce jazyka C 6-1 Popis funkcí a maker standardních knihoven Makro používané při ladění. Práce se znaky. isalnum()
Více- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:
21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)
VíceSprávné vytvoření a otevření textového souboru pro čtení a zápis představuje
f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru
VíceLekce 19 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceVISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
Vícevstup a výstupv jazyce C
vstup a výstupv jazyce C - funkce vstupu a výstupu nejsou součástí jazyka, jsou především v knihovně stdio.h (její obsah je dán normou) - pro práci se soubory (lépe streamy "sériový vstup/výstup", tj.
Víceint => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:
13.4.2010 Typová konverze - změna jednoho datového typu na jiný - známe dva základní implicitní ("sama od sebe") a explicitní (výslovně vyžádána programátorem) - C je málo přísné na typové kontroly = dokáže
VíceIUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
VíceZákladní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí
02 Jazyk C - je imperativní říkáme, co se má udělat, voláme příkazy - další imperativní jazyky: Pascal, Java, C/C++ apod. - na rozdíl od jazyků deklarativních např. Prolog, Haskell, Scheme, Lisp (funkcionální
VíceVýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
Více2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
VíceZápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
VíceUkazatel (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ý
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ý typem proměnné - ukazatel je tedy adresa společně s
Vícevstup a výstupy jazyce C
vstup a výstupy jazyce C - funkce vstupu a výstupu nejsou součástí jazyka, jsou především v knihovně stdio.h (její obsah je dán normou definující standardní knihovny) - pro práci se soubory (lépe streamy
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceProgramovanie v jazyku C - funkcie a makra
CVIČENIE 4/13 (S7) Programovanie v jazyku C - funkcie a makra About co je to funkcia a procedura, rekurzivne funkcie, co je to makro TODO: ŘETĚZCE řetězec je pole znaků zakončené 0 ( \0 má ASCI-kód 0,
VíceZačínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů
Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské
VíceVstup a výstup datové proudy v C
Vstup a výstup datové proudy v C Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 24. října 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Vstup a výstup 24. října 2011 1 / 37 Přehled, rozdělení
VícePř. další použití pointerů
Př. další použití pointerů char *p_ch; int *p_i; p_ch = (char *) p_i; // konverze int * na char * 8 int i = 5; int *p_i; p_i = &i; POZOR!!!! scanf("%d", p_i); printf("%d", *p_i); Obecný pointer na cokoliv:
VíceProgramovanie v jazyku C - struktury a polia
CVIČENIE 6/13 (S7) Programovanie v jazyku C - struktury a polia About struktury, rozdiel medzi polom a strukturou, polia struktur, polia smernikov, bublinkove triedenie Basic knowledge pole je homogenny
VíceOperační systémy. Cvičení 3: Programování v C pod Unixem
Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené
VíceStřední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce
VíceProgramovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;
Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct
VíceOperační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
VíceNPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
VíceIUJCE 07/08 Přednáška č. 6
Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak
VíceProgramování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru
Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Textové řetězce V jazyce C neexistuje typ proměnné, který by byl určen výhradně pro ukládání textu V jazyce C používáme
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceIUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje
Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti
VícePreprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
VíceNPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
Vícevstup a výstupy jazyce C
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VSTUPY A VÝSTUPY V JAZYKU C Autor textu: Ing. Miloslav Richter, Ph. D. Květen 2014 Komplexní inovace studijních programů
VíceBI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Soubory BI-PA1
VícePB071 Programování v jazyce C
Programování v jazyce C Union, I/O, Práce se soubory Vnitrosemestrální test Termín 7.4. v 12:00 a 13:00 v D1 (příští týden) Bude vypsáno hned v 14:10 Nutno se přihlásit přes IS Formou papírového odpovědníku
VíceLogické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
VícePrvní začátky s C. Struktura programu a základní prvky. Základní termíny (1) Základní termíny (2)
Struktura programu a základní prvky První začátky s C Jazyk C/C++, co se týče struktury souboru, je daleko volnější oproti jiným programovacím jazykům. V podstatě je jedno, kde deklarujete proměnnou nebo
VíceStruktura programu a základní prvky
První začátky s C Struktura programu a základní prvky Jazyk C/C++, co se týče struktury souboru, je daleko volnější oproti jiným programovacím jazykům. V podstatě je jedno, kde deklarujete proměnnou nebo
VícePopis funkcí a maker standardních knihoven
Popis funkcí a maker standardních knihoven Makro používané při ladění. Práce se znaky. isalnum() isalpha() iscntrl() isdigit() isgraph() islower() isprint() ispunct() isspace() isupper()
VíceFUNKCE PRO PRÁCI S ŘETĚZCI
FUNKCE PRO PRÁCI S ŘETĚZCI addcslashes -- Opatřit řetězec lomítky ve stylu jazyka C addslashes -- Opatřit řetězec lomítky bin2hex -- Převést binární data na hexadecimální reprezentaci chop -- Odstranit
Více9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód
VíceStromy, soubory. BI-PA1 Programování a Algoritmizace 1. Ladislav Vagner, Josef Vogel
Stromy, soubory BI-PA1 Programování a Algoritmizace 1 Ladislav Vagner, Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı České vysoké učení
Více1. test z PJC Jméno studenta: Pocet bodu: Varianta 37: příklad 5 (5 bodů)
1. test z PJC Jméno studenta: Pocet bodu: ---- Varianta 37: příklad 1 (5 bodů) Určete hodnotu výrazu: a=1,2,3 (a) 1 (b) 2 (c) 3 Varianta 37: příklad 2 (5 bodů) Jednoduchá implementace datového typu zásobník
VíceBitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
VíceÚvod do programování. Lekce 3
Úvod do programování Lekce 3 Řízení běhu programu - pokračování /2 příklad: program vypisuje hodnotu sin x dx pro různé délky integračního kroku 0 #include #include // budeme pouzivat funkci
VíceIMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti LEXIKÁLNÍ ANALÝZA Kód ve vstupním jazyku Lexikální analyzátor
VíceProgramování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru
Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru Čtení dat ze souboru FILE *f = NULL; char str[10] = ""; float a = 0.0, b = 0.0; Soubor otevíráme v režimu pro čtení "r" f = fopen("/home/martinp/testdata/test1.txt",
VíceZPRO v "C" Ing. Vít Hanousek. verze 0.3
verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout
VíceBI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Soubory BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České vysoké
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
VíceStruktury a dynamická paměť
Struktury a dynamická paměť Petyovský, Macho, Richter (bpc2a_cv12), ver. 2017.2 Definujte strukturu TVector pro dynamické pole dat typu double. Definujete strukturu TMatrix, která bude obsahovat dynamické
VíceŘetězce. Často potřebujeme v řetězci přepsat nějaké znaky. Nemůžeme ale zapsat např.
Řetězce tl;dr Čtení a zápis textu v C: char data[16]; printf("zadej text: "); scanf("%s", data); printf("zadal jsi: %s", data); Tento příklad vám stačí pro základní práci s řetězci, bez dalších podrobností
VíceŘešení sady 1. Úvod do programování 1 Tomáš Kühr
Řešení sady 1 Úvod do programování 1 Tomáš Kühr Hello World #include #include int main(){ printf("hello world!\n"); return 0; } Práce s proměnnými 1/2 #include int main(){
VícePole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0
Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 int policko[100]; // tj. pole je od 0 do 99!!! policko[5] = 7; // pozor je to 6. prvek s indexem 5
VíceJazyk C základní informace. Vlastnosti
Jazyk C základní informace Vlastnosti - Univerzální strukturovaný programovací jazyk - Jazyk nižší úrovně používá jen standardní jednoduché datové typy - Neumožňuje přímou práci s řetězci, poli, vstup
VíceProstory jmen. při vkládání několika hlavičkových souborů může vzniknout kolize. logika.h const int x=5; typedef struct {...
Proudy v C++ Jmenné prostory Prostory jmen při vkládání několika hlavičkových souborů může vzniknout kolize zeleznice.h const int x=10; typedef struct {... } Hradlo; logika.h const int x=5; typedef struct
VíceZadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.
TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců. Zadání: V textovém souboru text.txt je uloženo několik řádků textu. Vytvořte makro, které určí nejdelší řádek z daného souboru. 1. Název
Víceparalelismus a synchronizační techniky = základ OS, paralelního programování apod.
Cvičení 6 - Úvod do programování v BACI paralelismus a synchronizační techniky = základ OS, paralelního programování apod. problém o paralelnímu programování je obtížné porozumět bez praktické zkušenosti
VíceZáklady programování (IZP)
Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2016/2017
VíceLekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VícePROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Ing. Ivo Špička, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního
VíceZÁPOČTOVÝ TEST. Zpracoval Vilém Závodný, http://narrow.ic.cz. #include "stdafx.h" #include "stdio.h"
BPC2 ZÁPOČTOVÝ TEST PROSÍM ČTĚTE!!!! Příklady jsou zpracovány tak aby bylo možné je odzkoušet v programu Microsoft Visual C++ jako konzolovou aplikaci. Všechny příklady jsou 100% funkční. V červeném rámečku
Vícefor (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }
Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceVstupní a vstupní proudy v C++
Programovací jazyk C++ MZLU - PEF - Ústav informatiky 11. října 2007 Vstup na terminál a čtení z něj Používá se knihovna iostream. Pro výstup lze použít standardní výstup cout. nebo chybový výstup cerr.
VíceFormátová specifikace má tvar (některé sekce nemají smysl pro načítání) %
vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
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
VíceKnihovny funkcí. Chyby v CRT. IUJCE Přednáška č. 9
Knihovny funkcí C run time library (CRT) = soubor funkcí dodávaných spolu s překladačem, optimalizované velmi rychlé C = very simple, většina funkčnosti jazyka CRT C dle ISO/IEC9899: o assert.h Chyby v
VíceProgramovanie v jazyku C - ti to zratam...
CVIČENIE 2/13 (S7) Programovanie v jazyku C - ti to zratam... PrednaskaB: Datové typy PrednaskaZ: Výrazy a příkazy, programové konstrukce, operátory About aritmeticke operacie TODO: Declaration vs. definition
VíceKlíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.
Příkazy cyklu v C# Kapitola vysvětluje použití tří typů cyklů for, while a -while a plňuje jejich použití řau příkladů programů v jazyku C#. V jazyku C by šlo pouze k záměně funkcí pro vstup a výstup.
VíceReference jazyka C - Tahák
Reference jazyka C - Tahák Číselné literály Celá čísla 0b101110 0B101110 dvojkové 02356 osmičkové 5236 desítkové 0x5df 0x5DF šestnáctvkové Znaménka 53 / +53 Pozitivní - 53 negativní Proměnné = jméno +
VíceZáklady jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)
Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1
VíceStručný přehled základní syntaxe jazyka C
Stručný přehled základní syntaxe jazyka C Text předkládá základní pojmy jazyka C, předpokládané pro čtení skripta Šusta, R. -Programování pro řízení ve Windows, ČVUT-FEL Praha 1999 Obsah 1. Číselné konstanty:...
VíceProgramování v C++ 1, 14. cvičení
Programování v C++ 1, 14. cvičení výpustka, přetěžování funkcí, šablony funkcí 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 funkcí
VíceProgramování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole
Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz Verze
Více