Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00200 009787 7506272 na godz. na dobę w sumie
Język C. Szkoła programowania. Wydanie VI - ebook/pdf
Język C. Szkoła programowania. Wydanie VI - ebook/pdf
Autor: Liczba stron: 1024
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-1473-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> c - programowanie
Porównaj ceny (książka, ebook (-20%), audiobook).
Język C niewątpliwie należy do kanonu języków programowania. Cechuje się elegancją i prostotą, jest wszechstronny i elastyczny, jednak uważa się go za trudny i wymagający. Na pewno warto opanować C — jeśli nauczysz się tworzyć solidny kod w tym języku, poradzisz sobie z każdym innym językiem programowania.

Trzymasz w dłoni kolejne wydanie niezwykle popularnego podręcznika do nauki C. Podobnie jak poprzednie wydania, także to zostało zaktualizowane i uzupełnione, między innymi o elementy standardu C11. Książka stanowi przemyślane, przejrzyste i wnikliwe wprowadzenie do języka C. Czytelnie wyjaśnia zasady programowania, zawiera opisy licznych rozwiązań programistycznych, setki przykładów kodu oraz ćwiczenia do samodzielnego wykonania. Dzięki takiemu układowi treści wiele osób nauczyło się C właśnie z tej książki, a kolejne jej wydania są przyjmowane z entuzjazmem.

W tej książce znajdziesz:

Naucz się C, a zrozumiesz istotę programowania!


Stephen Prata — jest emerytowanym wykładowcą astronomii, fizyki i programowania w College of Marin w Kentfield w Kalifornii. Obronił doktorat na Uniwersytecie Kalifornijskim w Berkeley. Jego przygoda z programowaniem komputerów rozpoczęła się od modelowania ruchu gwiazd. Jest autorem i współautorem licznych książek, m.in. na temat języka C i Uniksa.
Znajdź podobne książki

Darmowy fragment publikacji:

Tytuł oryginału: C Primer Plus, 6th Edition Tłumaczenie: Przemysław Szeremiota ISBN: 978-83-283-1470-2 Authorized translation from the English language edition, entitled: C PRIMER PLUS, Sixth Edition; ISBN 0321928423; by Stephen Prata; published by Pearson Education, Inc, publishing as Addison Wesley. Copyright © 2014 Pearson Education, Inc. All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Polish language edition published by HELION S.A. Copyright © 2016. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/jcszp6.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/jcszp6 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność SPIS TRE(cid:165)CI O autorze .......................................................................................................................................... 19 Przedmowa ....................................................................................................................................... 21 Rozdzia(cid:239) 1. Zaczynamy .................................................................................................................. 23 Sk(cid:200)d C? .................................................................................................................................. 23 Dlaczego C? .......................................................................................................................... 24 Cechy u(cid:285)ytkowe ................................................................................................. 25 Efektywno(cid:258)(cid:202) ....................................................................................................... 25 Przeno(cid:258)no(cid:258)(cid:202) ........................................................................................................ 25 Moc i elastyczno(cid:258)(cid:202) ............................................................................................. 26 Ukierunkowanie na programist(cid:218) ....................................................................... 26 S(cid:239)abe strony ........................................................................................................ 26 Dok(cid:200)d zmierza C? ............................................................................................................... 27 Co robi(cid:200) komputery? .......................................................................................................... 28 J(cid:218)zyki wysokiego poziomu i kompilatory ....................................................................... 29 Standardy j(cid:218)zyka ................................................................................................................. 30 Standard ANSI/ISO C ......................................................................................... 31 Standard C99 ...................................................................................................... 31 Standard C11 ...................................................................................................... 32 Korzystanie z C — siedem kroków .................................................................................. 33 Krok 1. Okre(cid:258)lenie celów programu .................................................................. 33 Krok 2. Projektowanie programu ....................................................................... 34 Krok 3. Pisanie kodu .......................................................................................... 34 Krok 4. Kompilacja ............................................................................................. 35 Krok 5. Uruchomienie programu ....................................................................... 35 Krok 6. Testowanie i usuwanie b(cid:239)(cid:218)dów ............................................................ 35 Krok 7. Piel(cid:218)gnowanie i modyfikowanie programu ......................................... 36 Komentarz .......................................................................................................... 36 Mechanika programowania ............................................................................................... 37 Pliki kodu obiektowego, pliki wykonywalne i biblioteki ................................. 38 UNIX ................................................................................................................... 39 GNU Compiler Collection i LLVM .................................................................... 41 Poleć książkęKup książkę 6 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA Linux ................................................................................................................... 42 Kompilatory dla komputerów PC ...................................................................... 43 Zintegrowane (cid:258)rodowiska programistyczne (Windows) .................................. 43 Opcja podwójna — Windows/Linux ................................................................. 45 J(cid:218)zyk C a komputery Mac .................................................................................. 45 Jak zorganizowano t(cid:218) ksi(cid:200)(cid:285)k(cid:218) ........................................................................................... 46 Konwencje zapisu ............................................................................................................... 46 Czcionka ............................................................................................................. 47 Tekst na ekranie ................................................................................................. 47 Informacje dodatkowe ........................................................................................................ 48 Podsumowanie rozdzia(cid:239)u .................................................................................................. 49 Pytania sprawdzaj(cid:200)ce ......................................................................................................... 49 (cid:109)wiczenie .............................................................................................................................. 49 Rozdzia(cid:239) 2. Wst(cid:218)p do C .................................................................................................................. 51 Prosty przyk(cid:239)ad j(cid:218)zyka C ................................................................................................... 51 Obja(cid:258)nienie ........................................................................................................................... 53 Podej(cid:258)cie 1. Szybkie streszczenie ...................................................................... 53 Podej(cid:258)cie 2. Szczegó(cid:239)y ........................................................................................ 55 Budowa prostego programu .............................................................................................. 64 Co zrobi(cid:202), aby Twój program by(cid:239) czytelny? .................................................................... 65 Kolejny krok ......................................................................................................................... 66 Dokumentacja ..................................................................................................... 66 Wielokrotne deklaracje ...................................................................................... 67 Mno(cid:285)enie ............................................................................................................ 67 Wy(cid:258)wietlanie wielu warto(cid:258)ci ............................................................................. 67 Wiele funkcji ......................................................................................................................... 68 Usuwanie b(cid:239)(cid:218)dów ................................................................................................................ 69 B(cid:239)(cid:218)dy sk(cid:239)adniowe ............................................................................................... 70 B(cid:239)(cid:218)dy semantyczne ............................................................................................ 71 Stan programu .................................................................................................... 72 S(cid:239)owa kluczowe ................................................................................................................... 73 Kluczowe zagadnienia ........................................................................................................ 74 Podsumowanie rozdzia(cid:239)u .................................................................................................. 74 Pytania sprawdzaj(cid:200)ce ......................................................................................................... 75 (cid:109)wiczenia .............................................................................................................................. 76 Rozdzia(cid:239) 3. Dane w C ..................................................................................................................... 79 Program przyk(cid:239)adowy ........................................................................................................ 79 Co nowego? ......................................................................................................... 81 Zmienne i sta(cid:239)e ..................................................................................................................... 82 S(cid:239)owa kluczowe typów danych ........................................................................................ 83 Typy ca(cid:239)kowite a typy zmiennoprzecinkowe ................................................... 84 Liczba ca(cid:239)kowita ................................................................................................. 85 Liczba zmiennoprzecinkowa ............................................................................. 85 Poleć książkęKup książkę SPIS TRE(cid:165)CI 77 Typy danych w C ................................................................................................................ 86 Typ int ................................................................................................................ 86 Inne typy ca(cid:239)kowite ............................................................................................ 91 Korzystanie ze znaków — typ char ................................................................... 96 Typ _Bool .......................................................................................................... 102 Typy przeno(cid:258)ne ................................................................................................ 102 Typy float, double, long double ...................................................................... 105 Typy zespolone i urojone ................................................................................. 110 Inne typy ........................................................................................................... 111 Rozmiary typów ............................................................................................... 113 Korzystanie z typów danych ........................................................................................... 114 Uwaga na argumenty ....................................................................................................... 115 Jeszcze jeden przyk(cid:239)ad ..................................................................................................... 117 Co si(cid:218) dzieje? .................................................................................................... 117 Bufor wyj(cid:258)cia .................................................................................................... 118 Kluczowe zagadnienia ...................................................................................................... 119 Podsumowanie rozdzia(cid:239)u ................................................................................................ 119 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 120 (cid:109)wiczenia ............................................................................................................................ 122 Rozdzia(cid:239) 4. (cid:146)a(cid:241)cuchy znakowe i formatowane wej(cid:258)cie-wyj(cid:258)cie ........................................... 125 Na pocz(cid:200)tek... program .................................................................................................... 126 (cid:146)a(cid:241)cuchy znakowe. Wprowadzenie .............................................................................. 127 Tablice typu char i znak zerowy ..................................................................... 127 Korzystanie z (cid:239)a(cid:241)cuchów ................................................................................. 128 Funkcja strlen() ................................................................................................ 130 Sta(cid:239)e i preprocesor C ......................................................................................................... 132 Modyfikator const ............................................................................................ 135 Sta(cid:239)e standardowe ............................................................................................ 136 Pozna(cid:202) i wykorzysta(cid:202) printf() i scanf() ........................................................................... 138 Funkcja printf() ................................................................................................ 138 Korzystanie z printf() ....................................................................................... 139 Modyfikatory specyfikatorów konwersji dla printf() ...................................... 141 Znaczenie konwersji ........................................................................................ 147 Korzystanie z funkcji scanf() ........................................................................... 154 Modyfikator * w funkcjach printf() i scanf() ................................................... 160 Praktyczne wskazówki ..................................................................................... 161 Kluczowe zagadnienia ...................................................................................................... 163 Podsumowanie rozdzia(cid:239)u ................................................................................................ 164 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 164 (cid:109)wiczenia ............................................................................................................................ 167 Rozdzia(cid:239) 5. Operatory, wyra(cid:285)enia i instrukcje ......................................................................... 169 Wst(cid:218)p do p(cid:218)tli .................................................................................................................... 170 Podstawowe operatory ..................................................................................................... 172 Operator przypisania: = .................................................................................. 172 Operator dodawania: + .................................................................................... 175 Poleć książkęKup książkę 8 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA Operator odejmowania: - ................................................................................. 176 Operatory znaku: - i + ..................................................................................... 176 Operator mno(cid:285)enia: * ....................................................................................... 177 Operator dzielenia: / ......................................................................................... 179 Priorytet operatorów ........................................................................................ 180 Priorytet i kolejno(cid:258)(cid:202) oblicze(cid:241) .......................................................................... 182 Niektóre inne operatory ................................................................................................... 183 Operator sizeof i typ size_t .............................................................................. 183 Operator modulo: ......................................................................................... 184 Operatory inkrementacji i dekrementacji: ++ i -- ......................................... 186 Dekrementacja -- .............................................................................................. 190 Priorytet ............................................................................................................ 191 Nie próbuj by(cid:202) zbyt sprytny ............................................................................ 191 Wyra(cid:285)enia i instrukcje ...................................................................................................... 193 Wyra(cid:285)enia ......................................................................................................... 193 Instrukcje .......................................................................................................... 194 Instrukcje z(cid:239)o(cid:285)one (bloki) ................................................................................ 197 Konwersje typów .............................................................................................................. 199 Operator rzutowania ........................................................................................ 202 Funkcje z argumentami .................................................................................................... 203 Przyk(cid:239)adowy program ...................................................................................................... 206 Zagadnienia kluczowe ...................................................................................................... 207 Podsumowanie rozdzia(cid:239)u ................................................................................................ 208 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 209 (cid:109)wiczenia ............................................................................................................................ 212 Rozdzia(cid:239) 6. Instrukcje steruj(cid:200)ce C. P(cid:218)tle .................................................................................... 215 Wracamy do p(cid:218)tli while ................................................................................................... 216 Komentarz ........................................................................................................ 217 P(cid:218)tla odczytuj(cid:200)ca w stylu C ............................................................................. 219 Instrukcja while ................................................................................................................. 219 Zako(cid:241)czenie p(cid:218)tli while ................................................................................... 220 Kiedy ko(cid:241)czy si(cid:218) p(cid:218)tla? .................................................................................... 220 while jako p(cid:218)tla z warunkiem wej(cid:258)cia ............................................................ 221 Wskazówki dotycz(cid:200)ce sk(cid:239)adni ......................................................................... 222 Co jest wi(cid:218)ksze? Korzystanie z operatorów i wyra(cid:285)e(cid:241) relacyjnych ......................... 223 Czym jest prawda? ........................................................................................... 225 Co jeszcze jest prawd(cid:200)? .................................................................................... 226 Problemy z prawd(cid:200) .......................................................................................... 227 Nowy typ _Bool ................................................................................................ 229 Priorytet operatorów relacyjnych .................................................................... 231 P(cid:218)tle nieokre(cid:258)lone i p(cid:218)tle licz(cid:200)ce ..................................................................................... 232 P(cid:218)tla for ............................................................................................................................... 234 Elastyczno(cid:258)(cid:202) p(cid:218)tli for ....................................................................................... 235 Inne operatory przypisania: +=, -=, *=, /=, = ....................................................... 239 Poleć książkęKup książkę SPIS TRE(cid:165)CI 99 Operator przecinkowy: , .................................................................................................. 241 Zenon z Elei kontra p(cid:218)tla for ........................................................................... 244 P(cid:218)tla z warunkiem wyj(cid:258)cia — do while ......................................................................... 245 Której p(cid:218)tli u(cid:285)y(cid:202)? ............................................................................................................... 248 P(cid:218)tle zagnie(cid:285)d(cid:285)one ........................................................................................................... 249 Omówienie ....................................................................................................... 250 Inny wariant ..................................................................................................... 250 Tablice .................................................................................................................................. 251 Wspó(cid:239)praca tablicy i p(cid:218)tli for .......................................................................... 252 Przyk(cid:239)ad wykorzystuj(cid:200)cy p(cid:218)tl(cid:218) i warto(cid:258)(cid:202) zwracan(cid:200) przez funkcj(cid:218) .......................... 254 Omówienie programu ...................................................................................... 257 Korzystanie z funkcji zwracaj(cid:200)cych warto(cid:258)ci ................................................. 258 Zagadnienia kluczowe ...................................................................................................... 258 Podsumowanie rozdzia(cid:239)u ................................................................................................ 259 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 260 (cid:109)wiczenia ............................................................................................................................ 264 Rozdzia(cid:239) 7. Instrukcje steruj(cid:200)ce C. Rozga(cid:239)(cid:218)zienia i skoki .......................................................... 269 Instrukcja if ......................................................................................................................... 270 Dodajemy else .................................................................................................................... 272 Kolejny przyk(cid:239)ad: funkcje getchar() i putchar() .............................................. 273 Rodzina funkcji znakowych ctype.h ............................................................... 276 Wybór spo(cid:258)ród wielu mo(cid:285)liwo(cid:258)ci — else if .................................................... 278 (cid:146)(cid:200)czenie else z if .............................................................................................. 281 Wi(cid:218)cej o zagnie(cid:285)d(cid:285)onych instrukcjach if ........................................................ 283 B(cid:200)d(cid:283)my logiczni ................................................................................................................ 287 Zapis alternatywny — plik nag(cid:239)ówkowy iso646.h ......................................... 289 Priorytet ............................................................................................................ 289 Kolejno(cid:258)(cid:202) oblicze(cid:241) ........................................................................................... 290 Zakresy ............................................................................................................. 291 Program licz(cid:200)cy s(cid:239)owa ...................................................................................................... 292 Operator warunkowy: ?: .................................................................................................. 296 Dodatki do p(cid:218)tli — continue i break .............................................................................. 298 Instrukcja continue .......................................................................................... 298 Instrukcja break ................................................................................................ 301 Wybór spo(cid:258)ród wielu mo(cid:285)liwo(cid:258)ci — switch i break .................................................... 304 Korzystanie z instrukcji switch ....................................................................... 305 Pobieranie tylko pierwszego znaku w wierszu ............................................... 307 Etykiety wielokrotne ........................................................................................ 308 Switch a if else ................................................................................................. 309 Instrukcja goto ................................................................................................................... 311 Unikanie goto ................................................................................................... 311 Kluczowe zagadnienia ...................................................................................................... 314 Podsumowanie rozdzia(cid:239)u ................................................................................................ 315 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 316 (cid:109)wiczenia ............................................................................................................................ 319 Poleć książkęKup książkę 10 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA Rozdzia(cid:239) 8. Znakowe wej(cid:258)cie-wyj(cid:258)cie i przekierowywanie ................................................... 323 Jednoznakowe we-wy — getchar() i putchar() ............................................................ 324 Bufory .................................................................................................................................. 325 Ko(cid:241)czenie danych wprowadzanych z klawiatury ...................................................... 327 Pliki, strumienie i dane wprowadzane z klawiatury ...................................... 327 Koniec pliku ..................................................................................................... 329 Przekierowywanie a pliki ................................................................................................. 332 Przekierowywanie w systemach UNIX, Linux i Windows ............................ 332 Tworzenie przyja(cid:283)niejszego interfejsu u(cid:285)ytkownika ................................................. 337 Wspó(cid:239)praca z buforowanym wej(cid:258)ciem ........................................................... 337 (cid:146)(cid:200)czenie wej(cid:258)cia liczbowego i znakowego ..................................................... 340 Sprawdzanie poprawno(cid:258)ci danych wej(cid:258)ciowych ........................................................ 343 Analiza programu ............................................................................................. 347 Strumienie wej(cid:258)ciowe a liczby ........................................................................ 348 Menu .................................................................................................................................... 349 Zadania ............................................................................................................. 349 W kierunku sprawnego dzia(cid:239)ania .................................................................... 350 (cid:146)(cid:200)czenie danych znakowych i numerycznych ............................................... 352 Zagadnienia kluczowe ...................................................................................................... 355 Podsumowanie rozdzia(cid:239)u ................................................................................................ 356 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 356 (cid:109)wiczenia ............................................................................................................................ 357 Rozdzia(cid:239) 9. Funkcje ....................................................................................................................... 361 Przypomnienie ................................................................................................................... 361 Tworzenie i wykorzystanie prostej funkcji ..................................................... 363 Analiza programu ............................................................................................. 363 Argumenty funkcji ........................................................................................... 366 Definiowanie funkcji pobieraj(cid:200)cej argument — argumenty formalne ........... 368 Prototyp funkcji pobieraj(cid:200)cej argumenty ........................................................ 369 Wywo(cid:239)ywanie funkcji pobieraj(cid:200)cej argumenty — argumenty faktyczne ........ 369 Punkt widzenia czarnej skrzynki .................................................................... 370 Zwracanie warto(cid:258)ci z wykorzystaniem instrukcji return ............................... 371 Typy funkcji ..................................................................................................... 373 Prototypy ANSI C .............................................................................................................. 375 Problem ............................................................................................................. 375 ANSI C na ratunek! .......................................................................................... 376 Brak argumentów a argumenty nieokre(cid:258)lone ................................................. 377 Pot(cid:218)ga prototypów ............................................................................................ 378 Rekurencja .......................................................................................................................... 379 Rekurencja bez tajemnic .................................................................................. 379 Podstawy rekurencji ......................................................................................... 380 Rekurencja ko(cid:241)cowa ........................................................................................ 382 Rekurencja i odwracanie kolejno(cid:258)ci dzia(cid:239)a(cid:241) ................................................... 384 Za i przeciw rekurencji .................................................................................... 386 Poleć książkęKup książkę SPIS TRE(cid:165)CI 111 Kompilowanie programów zawieraj(cid:200)cych wi(cid:218)cej ni(cid:285) jedn(cid:200) funkcj(cid:218) ....................... 387 Unix .................................................................................................................. 387 Linux ................................................................................................................. 388 DOS (kompilatory wiersza polece(cid:241)) ................................................................ 388 (cid:165)rodowiska IDE dla Windows i OS X ............................................................. 388 Korzystanie z plików nag(cid:239)ówkowych .............................................................. 388 Uzyskiwanie adresów: operator ................................................................................. 392 Modyfikacja zmiennych w funkcji wywo(cid:239)uj(cid:200)cej ......................................................... 394 Wska(cid:283)niki: pierwsze spojrzenie ...................................................................................... 396 Operator dereferencji: * ................................................................................... 396 Deklarowanie wska(cid:283)ników .............................................................................. 396 Wykorzystanie wska(cid:283)ników do komunikacji pomi(cid:218)dzy funkcjami .............. 398 Kluczowe zagadnienia ...................................................................................................... 402 Podsumowanie rozdzia(cid:239)u ................................................................................................ 403 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 403 (cid:109)wiczenia ............................................................................................................................ 404 Rozdzia(cid:239) 10. Tablice i wska(cid:283)niki ................................................................................................. 407 Tablice .................................................................................................................................. 407 Inicjalizacja ....................................................................................................... 408 Oznaczona inicjalizacja (C99) ......................................................................... 412 Przypisywanie warto(cid:258)ci do tablic .................................................................... 414 Zakres tablic ..................................................................................................... 414 Okre(cid:258)lanie rozmiaru tablicy ............................................................................ 416 Tablice wielowymiarowe ................................................................................................. 417 Inicjalizacja tablicy dwuwymiarowej .............................................................. 420 Wi(cid:218)cej wymiarów ............................................................................................. 421 Wska(cid:283)niki do tablic ........................................................................................................... 422 Funkcje, tablice i wska(cid:283)niki ............................................................................................. 425 Korzystanie z parametrów wska(cid:283)nikowych .................................................... 428 Komentarz — wska(cid:283)niki i tablice .................................................................... 430 Dzia(cid:239)ania na wska(cid:283)nikach ................................................................................................ 430 Ochrona zawarto(cid:258)ci tablicy .............................................................................................. 435 Zastosowanie s(cid:239)owa kluczowego const w parametrach formalnych ............. 436 Wi(cid:218)cej o const .................................................................................................. 437 Wska(cid:283)niki a tablice wielowymiarowe ............................................................................ 439 Wska(cid:283)niki do tablic wielowymiarowych ........................................................ 442 Zgodno(cid:258)(cid:202) wska(cid:283)ników ..................................................................................... 444 Funkcje a tablice wielowymiarowe ................................................................. 446 Tablice o zmiennym rozmiarze (VLA, ang. variable — length array) ...................... 449 Litera(cid:239)y z(cid:239)o(cid:285)one ................................................................................................................. 453 Zagadnienia kluczowe ...................................................................................................... 456 Podsumowanie rozdzia(cid:239)u ................................................................................................ 456 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 458 (cid:109)wiczenia ............................................................................................................................ 460 Poleć książkęKup książkę 12 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA Rozdzia(cid:239) 11. (cid:146)a(cid:241)cuchy znakowe i funkcje (cid:239)a(cid:241)cuchowe ......................................................... 463 Reprezentacja (cid:239)a(cid:241)cuchów i (cid:239)a(cid:241)cuchowe wej(cid:258)cie-wyj(cid:258)cie ........................................... 463 Definiowanie (cid:239)a(cid:241)cuchów ................................................................................. 464 Wska(cid:283)niki a (cid:239)a(cid:241)cuchy ...................................................................................... 473 Wczytywanie (cid:239)a(cid:241)cuchów ................................................................................................. 475 Tworzenie miejsca ........................................................................................... 475 Nies(cid:239)awna funkcja gets() .................................................................................. 475 Alternatywy dla funkcji gets() ......................................................................... 477 Funkcja scanf() ................................................................................................. 484 Wy(cid:258)wietlanie (cid:239)a(cid:241)cuchów ................................................................................................. 486 Funkcja puts() ................................................................................................... 486 Funkcja fputs() .................................................................................................. 488 Funkcja printf() ................................................................................................ 488 Zrób to sam ......................................................................................................................... 489 Funkcje (cid:239)a(cid:241)cuchowe ......................................................................................................... 491 Funkcja strlen() ................................................................................................ 492 Funkcja strcat() ................................................................................................. 493 Funkcja strncat() ............................................................................................... 495 Funkcja strcmp() .............................................................................................. 496 Funkcje strcpy() i strncpy() .............................................................................. 503 Funkcja sprintf() ............................................................................................... 508 Inne funkcje (cid:239)a(cid:241)cuchowe ................................................................................. 509 Przyk(cid:239)ad u(cid:285)ycia. Sortowanie (cid:239)a(cid:241)cuchów ....................................................................... 512 Sortowanie wska(cid:283)ników zamiast (cid:239)a(cid:241)cuchów ................................................. 513 Algorytm sortowania przez selekcj(cid:218) ................................................................ 514 (cid:146)a(cid:241)cuchy a funkcje znakowe z rodziny ctype.h .......................................................... 515 Argumenty wiersza polece(cid:241) ............................................................................................ 517 Argumenty wiersza polece(cid:241) w (cid:258)rodowiskach zintegrowanych ..................... 519 Argumenty linii polece(cid:241) w systemie Macintosh ............................................ 520 Konwersja (cid:239)a(cid:241)cuchów do liczb ........................................................................................ 520 Zagadnienia kluczowe ...................................................................................................... 523 Podsumowanie rozdzia(cid:239)u ................................................................................................ 524 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 525 (cid:109)wiczenia ............................................................................................................................ 528 Rozdzia(cid:239) 12. Klasy zmiennej, (cid:239)(cid:200)czno(cid:258)(cid:202) i zarz(cid:200)dzanie pami(cid:218)ci(cid:200) ............................................. 531 Klasy zmiennych ............................................................................................................... 532 Zasi(cid:218)g zmiennej ................................................................................................ 533 (cid:146)(cid:200)czno(cid:258)(cid:202) zmiennej ........................................................................................... 535 Czas trwania zmiennej ..................................................................................... 537 Zmienne automatyczne ................................................................................... 538 Zmienne rejestrowe .......................................................................................... 543 Zmienne statyczne o zasi(cid:218)gu blokowym ........................................................ 543 Zmienne statyczne o (cid:239)(cid:200)czno(cid:258)ci zewn(cid:218)trznej ................................................... 545 Zmienne statyczne o (cid:239)(cid:200)czno(cid:258)ci wewn(cid:218)trznej ................................................. 550 Programy wieloplikowe ................................................................................... 551 Poleć książkęKup książkę SPIS TRE(cid:165)CI 113 Specyfikatory klasy zmiennych — podsumowanie ....................................... 551 Klasy zmiennych a funkcje .............................................................................. 554 Któr(cid:200) klas(cid:218) wybra(cid:202)? ......................................................................................... 555 Funkcje pseudolosowe i zmienne statyczne ................................................................. 555 Rzut kostk(cid:200) ......................................................................................................................... 559 Przydzia(cid:239) pami(cid:218)ci. Funkcje malloc() i free() .................................................................. 563 Znaczenie funkcji free() ................................................................................... 568 Funkcja calloc() ................................................................................................ 568 Dynamiczny przydzia(cid:239) pami(cid:218)ci a tablice o zmiennym rozmiarze ................. 569 Klasy zmiennych a dynamiczny przydzia(cid:239) pami(cid:218)ci ....................................... 570 Kwalifikatory typu ANSI C .............................................................................................. 572 Kwalifikator typu const .................................................................................... 572 Kwalifikator typu volatile ................................................................................ 575 Kwalifikator typu restrict ................................................................................. 576 Kwalifikator _Atomic (C11) ............................................................................. 577 Stare s(cid:239)owa kluczowe w nowych miejscach ................................................... 578 Kluczowe zagadnienia ...................................................................................................... 579 Podsumowanie rozdzia(cid:239)u ................................................................................................ 579 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 581 (cid:109)wiczenia ............................................................................................................................ 582 Rozdzia(cid:239) 13. Obs(cid:239)uga plików ....................................................................................................... 587 Wymiana informacji z plikami ........................................................................................ 587 Czym jest plik? ................................................................................................. 588 Poziomy wej(cid:258)cia-wyj(cid:258)cia ................................................................................. 590 Pliki standardowe ............................................................................................. 590 Standardowe wej(cid:258)cie-wyj(cid:258)cie .......................................................................................... 591 Sprawdzanie argumentów wiersza polece(cid:241) .................................................... 592 Funkcja fopen() ................................................................................................ 593 Funkcje getc() i putc() ...................................................................................... 595 Znak ko(cid:241)ca pliku EOF (ang. end of file) ......................................................... 595 Funkcja fclose() ................................................................................................ 596 Wska(cid:283)niki do plików standardowych ............................................................. 597 Niewyszukany program kompresuj(cid:200)cy pliki ............................................................... 597 Plikowe wej(cid:258)cie-wyj(cid:258)cie — fprintf(), fscanf(), fgets() i fputs() .................................... 599 Funkcje fprintf() i fscanf() ................................................................................ 599 Funkcje fgets() i fputs() .................................................................................... 601 Przygody z dost(cid:218)pem swobodnym — fseek() i ftell() ................................................. 602 Jak dzia(cid:239)aj(cid:200) funkcje fseek() i ftell()? ................................................................. 603 Tryb binarny a tryb tekstowy .......................................................................... 604 Przeno(cid:258)no(cid:258)(cid:202) ...................................................................................................... 605 Funkcje fgetpos() i fsetpos() ............................................................................. 606 Za kulisami standardowego wej(cid:258)cia-wyj(cid:258)cia ................................................................ 606 Inne standardowe funkcje wej(cid:258)cia-wyj(cid:258)cia ................................................................... 607 Funkcja int ungetc() ......................................................................................... 608 Funkcja int fflush() ........................................................................................... 608 Funkcja int setvbuf() ........................................................................................ 608 Poleć książkęKup książkę 14 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA Binarne wej(cid:258)cie-wyj(cid:258)cie: fread() i fwrite() ...................................................... 609 Funkcja size_t fwrite() ...................................................................................... 611 Funkcja size_t fread() ....................................................................................... 611 Funkcje int feof(FILE *fp) oraz int ferror(FILE *fp) ....................................... 612 Przyk(cid:239)ad ............................................................................................................ 612 Dost(cid:218)p swobodny w binarnym wej(cid:258)ciu-wyj(cid:258)ciu ............................................ 615 Zagadnienia kluczowe ...................................................................................................... 617 Podsumowanie rozdzia(cid:239)u ................................................................................................ 618 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 619 (cid:109)wiczenia ............................................................................................................................ 621 Rozdzia(cid:239) 14. Struktury i inne formy danych ............................................................................ 625 Przyk(cid:239)adowy problem. Tworzenie spisu ksi(cid:200)(cid:285)ek ......................................................... 626 Deklaracja struktury .......................................................................................................... 627 Definiowanie zmiennej strukturalnej ............................................................................ 628 Inicjalizacja struktury ...................................................................................... 630 Odwo(cid:239)ania do sk(cid:239)adników struktury ............................................................... 630 Inicjalizatory oznaczone struktur .................................................................... 631 Tablice struktur .................................................................................................................. 632 Deklarowanie tablicy struktur ......................................................................... 634 Wskazywanie sk(cid:239)adników tablicy struktur ..................................................... 634 Szczegó(cid:239)y programu ......................................................................................... 635 Struktury zagnie(cid:285)d(cid:285)one ................................................................................................... 636 Wska(cid:283)niki do struktur ...................................................................................................... 638 Deklaracja i inicjalizacja wska(cid:283)nika do struktury .......................................... 639 Dost(cid:218)p do sk(cid:239)adników za pomoc(cid:200) wska(cid:283)nika ................................................. 640 Struktury a funkcje ............................................................................................................ 641 Przekazywanie sk(cid:239)adników struktur ............................................................... 641 Korzystanie z adresu struktury ........................................................................ 642 Przekazywanie struktury jako argumentu ...................................................... 643 Wi(cid:218)cej o nowym, ulepszonym statusie struktury ........................................... 644 Struktury czy wska(cid:283)niki do struktur? ............................................................. 648 Tablice znakowe lub wska(cid:283)niki do znaków w strukturze ............................. 649 Struktury, wska(cid:283)niki i funkcja malloc() .......................................................... 650 Litera(cid:239)y z(cid:239)o(cid:285)one i struktury (C99) ................................................................... 652 Elastyczne sk(cid:239)adniki tablicowe (C99) ............................................................. 654 Struktury anonimowe (C11) ............................................................................ 657 Funkcje korzystaj(cid:200)ce z tablic struktur ............................................................ 657 Zapisywanie zawarto(cid:258)ci struktury w pliku ................................................................... 659 Przyk(cid:239)ad zapisu struktury ................................................................................ 660 Omówienie programu ...................................................................................... 663 Struktury. Co dalej? .......................................................................................................... 664 Unie. Szybkie spojrzenie .................................................................................................. 665 Wykorzystywanie unii ..................................................................................... 666 Unie anonimowe (C11) .................................................................................... 667 Poleć książkęKup książkę SPIS TRE(cid:165)CI 115 Typy wyliczeniowe ........................................................................................................... 669 Sta(cid:239)e enum ........................................................................................................ 670 Warto(cid:258)ci domy(cid:258)lne ........................................................................................... 670 Przypisywane warto(cid:258)ci .................................................................................... 670 U(cid:285)ycie enum ..................................................................................................... 670 Wspó(cid:225)dzielona przestrze(cid:241) nazw ...................................................................... 672 typedef: szybkie spojrzenie ............................................................................................. 673 Udziwnione deklaracje ..................................................................................................... 675 Funkcje a wska(cid:283)niki .......................................................................................................... 677 Kluczowe zagadnienia ...................................................................................................... 684 Podsumowanie rozdzia(cid:239)u ................................................................................................ 685 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 686 (cid:109)wiczenia ............................................................................................................................ 689 Rozdzia(cid:239) 15. Manipulowanie bitami .......................................................................................... 693 Liczby binarne, bity i bajty ............................................................................................... 694 Binarne liczby ca(cid:239)kowite ................................................................................. 694 Liczby ca(cid:239)kowite ze znakiem ........................................................................... 695 Binarne liczby zmiennoprzecinkowe .............................................................. 696 Inne systemy liczbowe ...................................................................................................... 697 System ósemkowy ............................................................................................ 697 System szesnastkowy ....................................................................................... 698 Operatory bitowe .............................................................................................................. 698 Bitowe operatory logiczne ............................................................................... 699 Zastosowanie. Maski ........................................................................................ 701 Zastosowanie. Ustawianie bitów (w(cid:239)(cid:200)czanie bitów) ...................................... 702 Zastosowanie. Zerowanie bitów (wy(cid:239)(cid:200)czanie bitów) ..................................... 702 Zastosowanie. Odwracanie bitów ................................................................... 703 Zastosowanie. Sprawdzenie warto(cid:258)ci bitu ..................................................... 703 Bitowe operatory przesuni(cid:218)cia ........................................................................ 704 Przyk(cid:239)ad ............................................................................................................ 706 Kolejny przyk(cid:239)ad .............................................................................................. 708 Pola bitowe ......................................................................................................................... 710 Przyk(cid:239)ad ............................................................................................................ 711 Pola bitowe a operatory bitowe ....................................................................... 715 Mechanizmy wyrównania danych (C11) ........................................................ 722 Kluczowe zagadnienia ...................................................................................................... 724 Podsumowanie rozdzia(cid:239)u ................................................................................................ 725 Pytania sprawdzaj(cid:200)ce ....................................................................................................... 726 (cid:109)wiczenia ............................................................................................................................ 727 Rozdzia(cid:239) 16. Preprocesor i biblioteka C ..................................................................................... 731 Pierwsze kroki w translacji programu ........................................................................... 732 Sta(cid:239)e symboliczne. #define .............................................................................................. 733 Tokeny .............................................................................................................. 737 Przedefiniowywanie sta(cid:239)ych ............................................................................ 737 Poleć książkęKup książkę 16 J(cid:125)ZYK C. SZKO(cid:146)A PROGRAMOWANIA #define i argumenty ......................................................................................................... 738 Argumenty makr w (cid:239)a(cid:241)cuchach ...................................................................... 741 (cid:146)(cid:200)cznik preprocesora. Operator ## ................................................................ 742 Makra o zmiennej liczbie argumentów: ... i __VA_ARGS__ .......................... 743 Makro czy funkcja? ........................................................................................................... 744 Do(cid:239)(cid:200)czanie plików. #include .......................................................................................... 746 Pliki nag(cid:239)ówkowe. Przyk(cid:239)ad ............................................................................ 747 Zastosowania plików nag(cid:239)ówkowych ............................................................. 749 Inne dyrektywy ................................................................................................................. 750 Dyrektywa #undef ........................................................................................... 750 Zdefiniowany. Z perspektywy preprocesora C ............................................... 751 Kompilacja warunkowa ................................................................................... 751 Makra predefiniowane ..................................................................................... 756 #line i #error ................................................................................................... 757 #pragma ........................................................................................................... 758 S(cid:239)owo kluczowe _Generic (C11) ...................................................................... 759 Funkcje wplatane (C99) .................................................................................................... 761 Funkcje bezpowrotne (C11) ............................................................................................. 764 Biblioteka j(cid:218)zyka C ............................................................................................................ 764 Uzyskiwanie dost(cid:218)pu do biblioteki C ............................................................. 764 Korzystanie z opisów funkcji ........................................................................... 765 Biblioteka funkcji matematycznych ............................................................................... 767 Odrobina trygonometrii ................................................................................... 768 Warianty typów zmiennoprzecinkowych ....................................................... 770 Biblioteka tgmath.h (C99) ................................................................................ 771 Biblioteka narz(cid:218)dzi ogólnego u(cid:285)ytku ............................................................................. 772 Funkcje exit() i atexit() ..................................................................................... 773 Funkcja qsort() .................................................................................................. 775 Biblioteka assert.h ..................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Język C. Szkoła programowania. Wydanie VI
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: