• EOL

Jazyk C. Škola programování. Vydání 5 - Stephen Prata

Index: KSZ-02180

Vydavatel: Helion. Překlad: Tomasz Szynalski, Grzegorz Joszcz. Obal: tvrdý obal. Kniha ukazuje moderní přístup k programování v jazyce C.

Jazyk C. Škola programování. Vydání 5 - Stephen Prata
545,83 Kč
519,83 Kč bez DPH.
Nepřístupný
Produkt s ukončenou výrobou
30 dní na vrácení zboží
Výrobce: Helion

Pozornost!

Prodej této knihy skončil - podívejte se na naše další položky .

Popis

Kniha je pátým vydáním populární knihy „C Language Programming School“, která vyšla v roce 1999. Poslední vydání ukazuje současný přístup k programování v jazyce C. Autor názorně prezentuje další teoretická čísla, opírající se o praktické příklady. Jednotlivé kapitoly končí souhrnnými otázkami spolu s odpověďmi a programovacími úkoly souvisejícími s diskutovaným tématem.

V rámci čtení čtenář najde techniky pro efektivní programování i vybrané algoritmy a datové struktury.

Kniha navíc popisuje podrobný popis:

  • rozšířené celočíselné typy a množiny,
  • pole s proměnnou délkou (VLA),
  • komplexní literály
  • rozšířené znakové sady a logické typy,
  • vložené funkce (INLINE),
  • inicializátory označených struktur.

Ukázkové projekty použité v knize jsou k dispozici ke stažení . Výňatek z knihy ke čtení online .

Obsah

Předmluva (19)

O autorovi (21)

Kapitola 1. Začínáme (23)

  • Odkud pochází C? (23)
  • Proč C? (24)
    • Výkon (25)
    • Účinnost (25)
    • Přenositelnost (25)
    • Síla a flexibilita (25)
    • Programátorská centricita
    • Slabé stránky (26)
  • Kam jde C? (26)
  • Co dělají počítače? (28)
  • Jazyky a překladače na vysoké úrovni (29)
  • Používání C: Sedm kroků (29)
    • Krok 1: Definujte programové cíle (30)
    • Krok 2: Návrh programu (30)
    • Krok 3: Psaní kódu (31)
    • Krok 4: kompilace (31)
    • Krok 5: Spuštění programu (32)
    • Krok 6: Testování a ladění receptu
    • Krok 7: Údržba a úprava programu (33)
    • Komentář (33)
  • Programovací mechanika (33)
    • Soubory objektových kódů, spustitelné soubory a knihovny (34)
    • UNIX (36)
    • Linux (38)
    • Integrovaná vývojová prostředí (Windows) (38)
    • Překladače DOS pro počítače IBM (40)
    • C a Macintosh (40)
  • Jazykové standardy (40)
    • Standard ANSI / ISO C (41)
    • Standardní C99 (42)
  • Jak je tato kniha organizována (43)
  • Metody zápisu (43)
    • Písmo (43)
    • Text na obrazovce (43)
  • Shrnutí kapitoly (45)
  • Kontrolní otázky 45
  • Cvičení (45)

Kapitola 2. Úvod do C (47)

  • Jednoduchý příklad v jazyce C.
  • Vysvětlení (48)
    • Přístup 1: Rychlý přehled (48)
    • Přístup 2: Podrobnosti (50)
  • Vytvoření jednoduchého programu (59)
  • Jak zajistit, aby byl váš program čitelný? (60)
  • Další krok (60)
    • Dokumentace (61)
    • Několik prohlášení
    • Násobení (61)
    • Zobrazení více hodnot
  • Více funkcí
  • Odstraňování problémů (64)
    • Chyby syntaxe
    • Sémantické chyby 65
    • Stav programu (67)
  • Klíčová slova (67)
  • Klíčové problémy (68)
  • Shrnutí kapitoly (69)
  • Kontrolní otázky 69
  • Cvičení (70)

Kapitola 3. Data v C

  • Ukázkový program (74)
    • Co je nového? (75)
  • Proměnné a konstanty (76)
  • Klíčová slova datového typu
    • Typy celých čísel a typy s plovoucí desetinnou čárkou
    • Celé číslo (78)
    • Číslo s plovoucí desetinnou čárkou (79)
  • Datové typy v jazyce C.
    • Typ int (80)
    • Jiné typy celých čísel (84)
    • Používání znaků: Typ Char
    • Typ _Bool (95)
    • Přenosné typy: inttypes.h 96
    • Float, Double a Long Double
    • Složité a imaginární typy 103
    • Jiné typy (103)
    • Velikosti typů (105)
  • Používání datových typů 107
  • Dávejte pozor na argumenty 107
  • Jeden další příklad 109
    • Co se děje (110)
    • Potenciální problém (111)
  • Klíčové koncepty 111
  • Shrnutí kapitoly 112
  • Kontrolní otázky 113
  • Cvičení

Kapitola 4. Řetězce a formátovaný vstup / výstup 117

  • Pro začátečníky ... program (118)
  • Struny: Úvod 119
    • Char Arrays and the Null Character 119
    • Použití řetězů (120)
    • Funkce strlen () 121
  • Konstanty a C preprocesor 123
    • Konstantní modifikátor 127
    • Standardní konstanty (127)
  • Znát a používat printf () a scanf () 129
    • Funkce printf () 130
    • Použití printf () 130
    • Modifikátory specifikátoru převodu pro printf () 132
    • Důležitost přeměny 138
    • Použití funkce scanf () 144
    • Modifikátor * ve funkcích printf () a scanf () (150)
  • Praktické tipy (151)
  • Klíčové koncepty 152
  • Souhrn kapitoly 153
  • Kontrolní otázky 154
  • Cvičení

Kapitola 5. Operátory, výrazy a příkazy 159

  • Úvod do smyčky (160)
  • Základní operátoři
    • Operátor přiřazení: = (162)
    • Operátor přidání: + (164)
    • Operátor odčítání: - (165)
    • Znamení operátoři: - a + 165
    • Operátor násobení: * (166)
    • Provozovatel divize: / 168
    • Priorita operátora 169
    • Priorita a pořadí výpočtu 171
  • Někteří další operátoři 172
    • The sizeof Operator and the size_t Type 172
    • Operátor modulo:% (173)
    • Operátory přírůstku a snížení: ++ a - 175
    • Dekrementace - (179)
    • Priorita (180)
    • Nesnažte se být příliš chytří (181)
  • Výrazy a prohlášení 182
    • Výrazy 182
    • Manuály (183)
    • Složené výpisy (bloky) 186
  • Zadejte převody
    • Obsazení Operator 190
  • Funkce s argumenty 192
  • Ukázkový program (194)
  • Klíčové problémy (195)
  • Shrnutí kapitoly 196
  • Kontrolní otázky 197
  • Cvičení (200)

Kapitola 6. Řídicí příkazy C: Smyčky 203

  • Příklad (204)
    • Komentář (205)
    • Čtecí smyčka ve stylu C 207
  • Prohlášení The while 207
    • Ukončení smyčky 208
    • Kdy smyčka končí? (208)
    • zatímco jako Loop se vstupní podmínkou 209
    • Rady pro syntaxi
  • Co je větší: Používání relačních operátorů a výrazů 211
    • Co je pravda? (213)
    • Co jiného je pravda? (214)
    • Potíže s pravdou (215)
    • Nový typ _Bool
    • Priorita relačních operátorů
  • Nedefinované smyčky a počítací smyčky 221
  • Pro smyčku
    • Flexibilita smyčky for
  • Další operátoři přiřazení: + =, - =, * =, / =,% = (228)
  • Operátor čárky :, (229)
    • Zeno z Elea proti smyčce for
  • Smyčka s podmínkou ukončení: udělejte do 233
  • Kterou smyčku použít? (236)
  • Vnořené smyčky 237
    • Přehled (238)
    • Další varianta (238)
  • Pole (239)
    • Pro interoperabilitu polí a smyček 240
  • Příklad použití smyčky a návratové hodnoty funkce 242
    • Přehled programu 245
    • Používání funkcí, které vracejí hodnoty 246
  • Klíčové problémy (246)
  • Souhrn kapitoly 247
  • Kontrolní otázky 248
  • Cvičení

Kapitola 7. C Ovládací příkazy: Větve a skoky 257

  • Prohlášení if (258)
  • Přidáme další (260)
    • Další příklad: funkce getchar () a putchar () 262
    • Rodina znakových funkcí ctype.h 264
    • Výběr z mnoha možností: jinak pokud (266)
    • Připojování jinde s if 269
    • Více informací o vnořených příkazech 271
  • Buďme logičtí (275)
    • Alternativní notace: iso646.h Záhlaví 277
    • Prioritní (277)
    • Pořadí výpočtu 278
    • Rozsahy
  • Program počítání slov 280
  • Podmíněný provozovatel:?: (284)
  • Přidání smyčky: pokračovat a přerušit
    • Pokračující prohlášení 286
    • Prohlášení o přestávce 289
  • Výběr z mnoha možností: Switch and Break 291
    • Použití příkazu switch 293
    • Získání pouze první postavy na řádku 294
    • Více štítků (295)
    • Přepnout if else (298)
  • Goto prohlášení 298
    • Vyhýbejte se goto
  • Klíčové problémy (301)
  • Shrnutí kapitoly 302
  • Kontrolní otázky 303
  • Cvičení (306)

Kapitola 8. Vstup a výstup znaků a předávání 309

  • Jeden znak I / O: getchar () a putchar () (310)
  • Nárazníky (311)
  • Dokončení zadávání pomocí klávesnice
    • Soubory, streamy a vstup z klávesnice
    • Konec souboru (314)
  • Přesměrování a soubory
    • Přesměrování v systémech UNIX, Linux a DOS
  • Vytvoření přátelštějšího uživatelského rozhraní 322
    • Provoz s vyrovnávacím vstupem (322)
    • Kombinace číselných a znakových vstupů 325
    • Ověření vstupu 328
    • Analýza programu (332)
    • Vstupní toky a čísla 333
  • Menu (334)
    • Úkoly (334)
    • Směrem k agilitě (335)
    • Kombinace znakových a číselných údajů 337
  • Klíčové problémy (340)
  • Shrnutí kapitoly 340
  • Kontrolní otázky 341
  • Cvičení

Kapitola 9. Funkce 345

  • Připomenutí (345)
    • Vytvoření a použití jednoduché funkce 347
    • Analýza programu (347)
    • Argumenty funkcí
    • Definování funkce, která bere argument: Formální argumenty 351
    • Prototyp funkce, která argumentuje 352
    • Volání funkce, která bere argument: Skutečné argumenty 353
    • Hledisko černé skříňky (354)
    • Vrácení hodnoty s výkazem návratnosti 354
    • Typy funkcí 357
  • Prototypy ANSI C (358)
    • Problém (359)
    • ANSI na záchranu! (360)
    • Žádné argumenty a argumenty nedefinované 361
  • Síla prototypů 362
  • Rekurze (362)
    • Rekurze bez tajemství (363)
    • Základy rekurze
    • Závěrečná rekurze 365
    • Rekurze a reverzní sekvence
    • Pro a proti rekurzi
  • Kompilace programů s více než jednou funkcí 371
    • UNIX (371)
    • Linux (371)
    • DOS (kompilátory příkazového řádku) (372)
    • Překladače Windows a Macintosh (372)
    • Používání hlavičkových souborů 372
  • Získání adres: & Operátor 376
  • Úpravy proměnných ve volací funkci 377
  • Ukazatele: První pohled 379
    • Operátor dereference: * (380)
    • Deklarace ukazatelů 381
    • Používání ukazatelů ke komunikaci mezi funkcemi 382
  • Klíčové koncepty 386
  • Shrnutí kapitoly 387
  • Kontrolní otázky 387
  • Cvičení

Kapitola 10. Pole a ukazatele 391

  • Pole (391)
  • Inicializace 392
    • Použití const s poli 393
    • Poznámka k proměnným třídám
    • Určená inicializace (C99) 397
    • Přiřazení hodnot polím 398
    • Rozsah polí 398
    • Určení velikosti pole
  • Vícerozměrná pole 401
  • Inicializace dvourozměrného pole
    • Další rozměry 405
  • Ukazatele na pole 405
  • Funkce, pole a ukazatele 408
    • Použití argumentů ukazatele 411
    • Komentář: Ukazatele a pole 414
  • Práce na indikátorech (414)
  • Ochrana obsahu pole
    • Použití klíčového slova const ve formálních parametrech
    • Více o const 421
  • Ukazatele a vícerozměrná pole 423
    • Ukazatele na vícerozměrná pole 426
    • Kompatibilita ukazatele
    • Funkce a vícerozměrná pole 429
    • Pole s proměnnou délkou (433)
    • Komplexní literatura 437
  • Klíčové problémy 439
  • Shrnutí kapitoly 440
  • Kontrolní otázky 441
  • Cvičení

Kapitola 11. Řetězce a funkce řetězců 447

    • Řetězcová reprezentace a I / O řetězce 447
  • Definování řetězců 449
    • Řetězové konstanty (449)
    • Řetězcová pole a inicializace 450
    • Pole vs. ukazatel 452
    • Pole řetězců 455
    • Ukazatele a struny 456
  • Načítání řetězců 458
    • Vytvoření místa (458)
    • Získá () 459
    • Funkce fgets () 461
    • Funkce scanf () 462
  • Zobrazovací řetězce (464)
    • Funkce puts () 464
    • Funkce fputs () 465
    • Funkce printf () 466
  • Udělejte to sami (466)
  • Funkce řetězce 469
    • Funkce strlen () 469
    • Funkce strcat () 471
    • Funkce strncat () 472
    • Funkce strcmp () 473
    • Funkce strcpy () a strncpy () 478
    • Funkce sprintf () 483
    • Další funkce řetězce 484
  • Příklad použití: Řazení řetězců 486
    • Třídění ukazatelů namísto řetězců 487
    • Algoritmus výběru řazení 488
  • Řetězce a znakové funkce rodiny ctype.h 489
  • Argumenty příkazového řádku 491
    • Argumenty příkazového řádku v integrovaných prostředích
    • Argumenty příkazového řádku Macintosh 493
  • Převod řetězců na čísla 494
  • Klíčové problémy
  • Souhrn kapitoly 497
  • Kontrolní otázky 498
  • Cvičení

Kapitola 12. Proměnné třídy, konektivita a správa paměti 503

  • Třídy proměnných
    • Variabilní rozsah (504)
    • Variabilní konektivita
    • Variabilní doba trvání (507)
    • Automatické proměnné 507
    • Zaregistrujte proměnné
    • Statické proměnné s blokovým rozsahem 513
    • Statické proměnné s externím spojením 514
    • Statické proměnné s vnitřní vazbou 519
    • Programy pro více souborů
    • Specifikátory proměnných tříd
  • Třídy proměnných a funkcí
    • Kterou třídu zvolit? (524)
  • Pseudonáhodné funkce a statické proměnné
  • Hodit kostkami (528)
  • Přidělení paměti: malloc () a free () 532
    • Porozumění funkci Free () 536
    • Funkce calloc () 537
    • Dynamická alokace paměti a pole proměnné velikosti 538
    • Variabilní třídy a dynamické přidělování paměti
  • Kvalifikátory typu ANSI C (540)
    • Kvalifikátor typu Const (540)
    • Těkavý kvalifikátor typu 543
    • Omezit kvalifikátor typu 544
    • Stará klíčová slova na nových místech (545)
    • Klíčové koncepty 546
  • Shrnutí kapitoly 547
  • Kontrolní otázky 548
  • Cvičení (550)

Kapitola 13. Zacházení se soubory 553

  • Výměna informací se soubory (553)
    • Co je to za soubor? (554)
    • Úrovně vstupu / výstupu (555)
    • Standardní pilníky (556)
  • Standardní vstup / výstup (556)
    • Kontrola argumentů příkazového řádku 557
    • Funkce fopen () 558
    • Funkce getc () a putc () 559
    • Znak EOF (konec souboru) (560)
    • Funkce fclose () 561
    • Ukazatele na standardní soubory
  • Jednoduchý souborový kompresor 562
  • Soubor I / O: fprintf (), fscanf (), fgets () a fputs () 564
    • Funkce fprintf () a fscanf () 564
    • Funkce fgets () a fputs () 565
  • Dobrodružství v náhodném přístupu: fseek () a ftell () 568
    • Jak fungují funkce fseek () a ftell ()? (569)
    • Binární režim versus textový režim 571
    • Přenosnost
    • Funkce fgetpos () a fsetpos () 572
  • V zákulisí standardního vstupu / výstupu (573)
  • Další standardní I / O funkce 574
    • Funkce Int ungetc (int c, FILE * fp) 574
    • Funkce int fflush () 574
    • Funkce int setvbuf () 575
    • Binární I / O: fread () a fwrite () 575
    • Funkce 577 fwrite size_t
    • Funkce size_t fread (void * ptr, size_t size, size_t nmemb, FILE * fp) 578
    • Funkce int feof (FILE * fp) a int ferror (FILE * fp) 578
    • Příklad (578)
    • Náhodný přístup na binární vstup / výstup (581)
  • Klíčové problémy (583)
  • Shrnutí kapitoly 583
  • Kontrolní otázky 584
  • Cvičení

Kapitola 14. Struktury a jiné formy dat

  • Ukázkový problém: vytvoření inventáře knih (590)
  • Prohlášení o struktuře
  • Definování strukturní proměnné 592
    • Inicializace struktury 593
  • Přístup ke členům struktury 594
    • Inicializátory označené strukturou
  • Pole struktur
    • Deklarace řady struktur 598
    • Identifikace členů řady struktur 599
    • Detaily programu (599)
  • Vnořené struktury
  • Ukazatele na struktury 602
    • Deklarace a inicializace ukazatele na strukturu 603
    • Přístup k přísadám pomocí ukazatele 604
  • Struktury vs. funkce 604
    • Předávání komponentů konstrukcí 605
    • Použití adresy struktury 606
    • Předání struktury jako argument 607
    • Další informace o novém a vylepšeném stavu struktury (607)
    • Struktury nebo ukazatele na struktury? (611)
    • Pole znaků nebo ukazatele na znaky ve struktuře 612
    • Struktury, ukazatele a malloc () 613
    • Složené literatury a struktury (C99) 615
    • Členové flexibilního pole (C99) 617
    • Funkce využívající pole struktur 619
  • Zápis obsahu struktury do souboru
    • Přehled programu 624
  • Struktury: Co bude dál? (625)
  • Unie: A Quick Look (625)
  • Typy výčtu 628
    • Pevný výčet (629)
    • Výchozí hodnoty 630
    • Přiřazené hodnoty (630)
    • Použití výčtu
    • Sdílený jmenný prostor 632
  • typedef: rychlý pohled (632)
  • Weird Declarations (635)
  • Funkce a ukazatele 637
  • Klíčové koncepty (644)
  • Shrnutí kapitoly (644)
  • Kontrolní otázky 645
  • Cvičení

Kapitola 15. Manipulace s bity 653

  • Binární čísla, bity a bajty 654
    • Binární celá čísla (654)
    • Podepsaná celá čísla (655)
    • Binární čísla s plovoucí desetinnou čárkou 656
  • Jiné číselné systémy (657)
    • Osmičkový systém (657)
    • Šestnáctkový systém 657
  • Bitoví operátoři 659
    • Bitové logické operátory 659
    • Použití: masky (660)
    • Použití: Soustružení bitů 661
    • Použití: Zakázání bitů 662
    • Použití: Reverse Bits 662
    • Použití: Kontrola hodnoty bitů (663)
    • Operátoři bitového posunu 663
    • Příklad (665)
    • Další příklad (666)
  • Bitová pole 668
    • Příklad (670)
    • Bitová pole a bitové operátory
  • Klíčové koncepty 680
  • Souhrn kapitoly 680
  • Kontrolní otázky 681
  • Cvičení

Kapitola 16. Preprocesor a knihovna C.

    • První kroky v překladu programu
  • Symbolické konstanty: #define (687)
    • Žetony (691)
    • Předefinování konstant 691
  • #define a argumenty 692
    • Makro argumenty v řetězcích
    • Konektor předprocesoru: Operátor ## (696)
    • Makra proměnných čísel: ... a __VA_ARGS__ (697)
  • Makro nebo funkce? (698)
  • Zahrnout soubory: #include (699)
    • Soubory záhlaví: Příklad (700)
    • Použití pro hlavičkové soubory 702
  • Jiné směrnice (704)
    • Směrnice #undef (704)
    • Definováno: Z pohledu Preprocesoru C.
    • Podmíněná kompilace (705)
    • Předdefinovaná makra 710
    • #line and #error (711)
    • #pragma (712)
    • Vložené funkce 713
  • Knihovna C 715
    • Přístup do knihovny C 716
    • Použití popisů funkcí 716
  • Matematická knihovna 718
  • Knihovna obecných nástrojů
    • Exit () a atexit () 721
    • Funkce qsort () 723
    • Pomocí funkce qsort () 725
    • Definice funkce Compare () 726
  • Knihovna assert.h 728
    • Funkce memcpy () a memmove () z knihovny string.h Knihovna 729
  • Variabilní argumenty: stdarg.h 731
    • Klíčové číslo 734
  • Souhrn kapitoly 734
  • Kontrolní otázky 735
  • Cvičení

Kapitola 17. Pokročilé znázornění dat 739

  • Seznámení se s reprezentací dat 740
    • Připojené seznamy (743)
    • Abstraktní datové typy (ATD) 751
  • Fronty (767)
    • Definování fronty jako abstraktního datového typu
    • Simulace ve frontě 778
    • Propojený seznam nebo pole? (784)
    • Binární stromy 788
    • Co bude dál? (812)
    • Klíčové problémy (813)
  • Shrnutí kapitoly (813)
  • Kontrolní otázky 814
    • Cvičení (815)

Dodatek A Kontrolní otázky 817

Dodatek B Shrnutí 855

  • I.Další čtení (855)
  • II. Operátoři C 859
  • III. Základní typy a třídy proměnných
  • IV. Výrazy, příkazy a tok řízení v programu 870
  • V. Standardní knihovna ANSI C a rozšíření ke standardu C99 (876)
  • VI. Rozšířené typy celých čísel 922
  • VII. Podpora pro rozšířené sady znaků (926)
  • VIII. Efektivnější numerické výpočty ve standardu C99 (932)
  • IX. Rozdíly mezi C a C ++ 936

Rejstřík (943)
Kniha - autor Stephen Prata
Kniha - ISBN 83-246-0291-7
Kniha - vazba tvrdý
Kniha - vydavatel Helion
Šířka balení 0.001 cm
Výška balení 0.001 cm
Hloubka balení 0.001 cm
Váha balení 0.001 kg

Buďte první, kdo se zeptá na tento produkt!

Zákazníci, kteří koupili tento produkt, koupili také:

Produkty ze stejné kategorie: