Sokół R. - Microsoft Visual Studio 2012. Programowanie w C i C++.pdf

(9869 KB) Pobierz
Spis treści
Wstęp ............................................................................................ 11
Język C ........................................................................................................................... 11
Język C++ ....................................................................................................................... 12
Zawartość książki ........................................................................................................... 14
Trochę teorii ................................................................................................................... 15
Kod maszynowy .................................................................................................... 15
Asembler ............................................................................................................... 16
Interpreter .............................................................................................................. 16
Kompilator ............................................................................................................ 17
Kompilator JIT ...................................................................................................... 18
Problem jajka i kury .............................................................................................. 18
Część I
Środowisko
pracy ......................................................... 19
Pobranie programu instalacyjnego .................................................................................. 21
Instalacja ......................................................................................................................... 24
Pierwsze uruchomienie ................................................................................................... 26
Instalacja pakietu polonizującego ................................................................................... 28
Uruchamianie ................................................................................................................. 30
Wybór języka interfejsu użytkownika ............................................................................ 32
Rejestracja ...................................................................................................................... 33
Tworzenie nowego projektu ........................................................................................... 35
Tworzenie zbiorów tekstu
źródłowego
programu ........................................................... 38
Kompilacja rozwiązania ................................................................................................. 42
Wybór wariantu kompilacji ............................................................................................ 44
Usuwanie błędów kompilacji ......................................................................................... 45
Zapisywanie zmian w tekście
źródłowym
...................................................................... 48
Uruchamianie programu spoza
środowiska
.................................................................... 48
Kończenie pracy ............................................................................................................. 49
Rozdział 1.
Środowisko
programistyczne
Microsoft Visual Studio Express 2012 ............................................ 21
Część II
Język C ........................................................................ 51
Podprogram główny ....................................................................................................... 53
Umieszczanie tekstu na ekranie ...................................................................................... 55
Rozdział 2. Wprowadzanie, wyprowadzanie i przechowywanie danych ................ 53
4
Spis treści
Komentarze .................................................................................................................... 61
Przechowywanie danych w pamięci ............................................................................... 63
Literały .................................................................................................................. 63
Deklaracja a definicja ............................................................................................ 63
Definiowanie zmiennej ......................................................................................... 65
Całkowite typy danych .......................................................................................... 65
Znakowe typy danych ........................................................................................... 68
Zmiennoprzecinkowe typy danych ........................................................................ 69
Nazywanie zmiennych .......................................................................................... 70
Deklarowanie własnych typów danych ................................................................. 71
Obliczenia ....................................................................................................................... 71
Operacje algebraiczne ........................................................................................... 71
Operacje bitowe .................................................................................................... 73
Skracanie wyrażeń algebraicznych ........................................................................ 74
Wyprowadzanie danych ................................................................................................. 77
Rzutowanie typów danych .............................................................................................. 81
Zmienne tymczasowe ..................................................................................................... 82
Pobieranie informacji o zmiennych ................................................................................ 83
Pobieranie danych z klawiatury ...................................................................................... 86
Śledzenie
realizacji programu ......................................................................................... 90
Krokowa realizacja programu ............................................................................... 91
Podgląd zawartości zmiennych ............................................................................. 92
Pułapki .................................................................................................................. 94
Podsumowanie ................................................................................................................ 94
Rozdział 3. Konstrukcje warunkowe i typy wyliczeniowe ................................... 97
Zmienne i wyrażenia logiczne ........................................................................................ 98
Wartości logiczne .................................................................................................. 98
Zmienne logiczne .................................................................................................. 98
Wyrażenia logiczne ............................................................................................... 99
Instrukcja warunkowa ................................................................................................... 102
Operator warunkowy .................................................................................................... 106
Typy wyliczeniowe ...................................................................................................... 109
Definiowanie typu wyliczeniowego .................................................................... 109
Wartości liczbowe wyliczeń ................................................................................ 110
Używanie zmiennych typów wyliczeniowych .................................................... 111
Konwersja typów wyliczeniowych i liczbowych ................................................ 112
Konstrukcja warunkowa ............................................................................................... 113
Podsumowanie .............................................................................................................. 120
Rozdział 4. Struktury i unie ............................................................................ 123
Struktury ....................................................................................................................... 124
Deklarowanie struktury ....................................................................................... 125
Definiowanie zmiennej strukturalnej ................................................................... 126
Korzystanie z pól struktury ................................................................................. 127
Zagnieżdżanie struktur ........................................................................................ 129
Kopiowanie zmiennych strukturalnych ............................................................... 133
Unie .............................................................................................................................. 134
Deklarowanie unii ............................................................................................... 135
Definiowanie unii ................................................................................................ 135
Korzystanie z pól unii ......................................................................................... 135
Unie anonimowe w strukturach ........................................................................... 136
Podsumowanie .............................................................................................................. 138
Spis treści
5
Rozdział 5. Pętle, tablice i zmienne
łańcuchowe
............................................. 141
Pętle .............................................................................................................................. 142
Pętla while ........................................................................................................... 143
Pętla do…while ................................................................................................... 146
Pętla for ............................................................................................................... 149
Przerywanie pętli ................................................................................................. 151
Tablice .......................................................................................................................... 154
Definicja tablicy .................................................................................................. 154
Zajętość pamięci tablicy ...................................................................................... 156
Dostęp do elementów tablicy .............................................................................. 157
Tablice wielowymiarowe .................................................................................... 158
Zerowanie istniejącej tablicy ............................................................................... 160
Zmienne
łańcuchowe
.................................................................................................... 161
Definiowanie zmiennej
łańcuchowej
................................................................... 163
Wypisywanie tekstu na ekranie ........................................................................... 164
Generowanie tekstu ............................................................................................. 166
Przypisywanie i kopiowanie tekstu ..................................................................... 167
Scalanie napisów ................................................................................................. 171
Wprowadzanie tekstu z klawiatury ..................................................................... 172
Pomiar długości tekstu ........................................................................................ 175
Porównywanie napisów ....................................................................................... 177
Wyszukiwanie fragmentów tekstu ...................................................................... 179
Podprogramy standardowe operujące na znakach ............................................... 183
Podsumowanie .............................................................................................................. 184
Rozdział 6. Programowanie proceduralne ........................................................ 187
Techniki podziału na podprogramy .............................................................................. 188
Podprogramy bezparametrowe ..................................................................................... 189
Zmienne globalne i lokalne .......................................................................................... 193
Zmienne lokalne .................................................................................................. 194
Zmienne globalne ................................................................................................ 195
Statyczne zmienne lokalne .................................................................................. 198
Parametry podprogramów ............................................................................................ 199
Parametry typów prostych ................................................................................... 200
Parametry tablicowe ............................................................................................ 201
Parametry typów złożonych ................................................................................ 203
Parametry typu
łańcuchowego
............................................................................ 206
Zwracanie wyniku działania podprogramu ................................................................... 207
Zwracanie wyniku przez return ........................................................................... 208
Zwracanie wyników przez parametry .................................................................. 209
Deklaracje podprogramów ............................................................................................ 211
Podprogramy biblioteki standardowej .......................................................................... 212
stdlib.h ................................................................................................................. 212
math.h .................................................................................................................. 213
time.h .................................................................................................................. 214
conio.h ................................................................................................................. 215
Rekurencja .................................................................................................................... 215
Rekurencja jako odpowiednik pętli ..................................................................... 216
Algorytmy rekurencyjne ..................................................................................... 217
Stos wywołań podprogramów ............................................................................. 218
Program przykładowy ................................................................................................... 220
Podsumowanie .............................................................................................................. 225
6
Spis treści
Rozdział 7. Operacje wejścia-wyjścia .............................................................. 227
Terminologia ................................................................................................................ 228
Zbiory danych ..................................................................................................... 228
Strumień danych .................................................................................................. 230
Strumienie standardowe ...................................................................................... 231
Wejście i wyjście standardowe ..................................................................................... 231
Podprogramy wprowadzania i wyprowadzania danych ...................................... 232
Uruchamianie programów wsadowych ............................................................... 233
Potoki .................................................................................................................. 236
Filtry .................................................................................................................... 239
Współpraca z systemem operacyjnym .......................................................................... 241
Wiersz polecenia ................................................................................................. 241
Ustalanie treści wiersza polecenia ....................................................................... 242
Kod wyniku działania programu ......................................................................... 243
Zbiory ........................................................................................................................... 245
Zmienna plikowa ................................................................................................. 245
Otwieranie zbioru dyskowego ............................................................................. 245
Zamykanie zbioru dyskowego ............................................................................. 247
Zapisywanie danych tekstowych ......................................................................... 248
Odczytywanie danych tekstowych ...................................................................... 249
Stwierdzanie osiągnięcia końca zbioru ................................................................ 250
Powtórne odczytanie zbioru ................................................................................ 251
Przykład odczytywania informacji ze zbioru tekstowego .................................... 252
Binarny zapis informacji ..................................................................................... 254
Zapisywanie danych binarnych ........................................................................... 255
Odczytywanie danych binarnych ........................................................................ 257
Zmienne
łańcuchowe
w zbiorach binarnych ....................................................... 258
Pozycja w zbiorze binarnym ............................................................................... 261
Pobieranie rozmiaru zbioru ................................................................................. 263
Przykład korzystania ze zbioru binarnego ........................................................... 264
Opróżnianie buforów zapisu ............................................................................... 269
Podsumowanie .............................................................................................................. 270
Rozdział 8. Dynamiczne gospodarowanie pamięcią operacyjną ........................ 273
Informacje podstawowe ................................................................................................ 274
Adresacja pamięci ............................................................................................... 274
Typy bloków pamięci .......................................................................................... 276
Terminologia ....................................................................................................... 277
Zmienne wskaźnikowe ................................................................................................. 278
Definicja .............................................................................................................. 278
Pobranie adresu zmiennej .................................................................................... 279
Amorficzna zmienna wskaźnikowa ..................................................................... 280
Dereferencja ........................................................................................................ 281
Zmiana przyporządkowania ................................................................................ 282
Zmienne wskaźnikowe a tablice .......................................................................... 283
Zmienne wskaźnikowe a struktury i unie ............................................................ 284
Zmienne wskaźnikowe a zmienne
łańcuchowe
................................................... 285
Rozmiar wskaźnika ............................................................................................. 286
Pamięć przydzielana dynamicznie ................................................................................ 288
Alokowanie bloku pamięci .................................................................................. 289
Zmiana rozmiaru bloku pamięci .......................................................................... 292
Zwalnianie bloku pamięci ................................................................................... 295
Dynamiczna alokacja pamięci na stosie .............................................................. 298
Zgłoś jeśli naruszono regulamin