На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

Язык C. Самое необходимое

Автор Прохоренок Н.
Название Язык C. Самое необходимое
Серия Самое необходимое
ISBN 978-5-9775-4116-9
Формат 70×100/16 (165×233 мм)
Объем 480
Тематика
Оптовая цена
    Вернуться к описанию книги

Полное содержание

Введение 9

Глава 1. Установка программ под Windows

11
1.1. Создание структуры каталогов 11
1.2. Добавление пути в переменную PATH 12
1.3. Работа с командной строкой 14
1.4. Установка MinGW и MSYS 14
1.5. Установка MinGW-W64 20
1.6. Установка MSYS2 и MinGW-W64 24
1.7. Установка и настройка редактора Eclipse 29
1.8. Создание проектов в редакторе Eclipse 34

Глава 2. Первые шаги

44
2.1. Первая программа 44
2.2. Создание пустого проекта в редакторе Eclipse 47
2.3. Добавление в проект файла с программой 49
2.4. Добавление в проект заголовочного файла 50
2.5. Компиляция и запуск программы в редакторе Eclipse 53
2.6. Структура программы 57
2.7. Комментарии в программе 63
2.8. Вывод данных 65
2.9. Ввод данных 71
2.9.1. Ввод одного символа 71
2.9.2. Функция scanf() 72
2.9.3. Ввод строки 77
2.10. Интерактивный ввод символов 80
2.11. Получение данных из командной строки 82
2.12. Предотвращение закрытия окна консоли 84
2.13. Настройка отображения русских букв в консоли 86
2.14. Преждевременное завершение выполнения программы 89

Глава 3. Переменные и типы данных

91
3.1. Объявление переменной 91
3.2. Именование переменных 92
3.3. Типы данных 93
3.4. Целочисленные типы фиксированного размера 97
3.5. Оператор sizeof и тип size_t 99
3.6. Инициализация переменных 100
3.7. Оператор typedef 100
3.8. Константы 101
3.9. Спецификаторы хранения 104
3.10. Области видимости переменных 105
3.11. Массивы 107
3.12. Строки 110
3.13. Указатели 111
3.14. Динамическое выделение памяти 118
3.14.1. Функции malloc() и free() 118
3.14.2. Функция calloc() 119
3.14.3. Функция realloc() 122
3.15. Структуры 123
3.16. Битовые поля 126
3.17. Объединения 127
3.18. Перечисления 129
3.19. Приведение типов 130

Глава 4. Операторы и циклы

133
4.1. Математические операторы 133
4.2. Побитовые операторы 135
4.3. Операторы присваивания 138
4.4. Оператор запятая 138
4.5. Операторы сравнения 139
4.6. Приоритет выполнения операторов 141
4.7. Оператор ветвления if 142
4.8. Оператор ?: 146
4.9. Оператор выбора switch 147
4.10. Цикл for 149
4.11. Цикл while 152
4.12. Цикл do...while 152
4.13. Оператор continue: переход на следующую итерацию цикла 153
4.14. Оператор break: прерывание цикла 153
4.15. Оператор goto 154

Глава 5. Числа

156
5.1. Математические константы 159
5.2. Основные функции для работы с числами 160
5.3. Округление чисел 164
5.4. Тригонометрические функции 165
5.5. Преобразование строки в число 165
5.6. Преобразование числа в строку 174
5.7. Генерация псевдослучайных чисел 177
5.8. Бесконечность и значение NAN 179

Глава 6. Массивы

181
6.1. Объявление и инициализация массива 181
6.2. Определение количества элементов и размера массива 183
6.3. Получение и изменение значения элемента массива 184
6.4. Перебор элементов массива 185
6.5. Доступ к элементам массива с помощью указателя 186
6.6. Массивы указателей 189
6.7. Динамические массивы 189
6.8. Многомерные массивы 190
6.9. Поиск минимального и максимального значений 193
6.10. Сортировка массива 195
6.11. Проверка наличия значения в массиве 198
6.12. Копирование элементов из одного массива в другой 201
6.13. Сравнение массивов 203
6.14. Переворачивание массива 204

Глава 7. Символы и C-строки

206
7.1. Объявление и инициализация отдельного символа 206
7.2. Настройка локали 212
7.3. Изменение регистра символов 216
7.4. Проверка типа содержимого символа 218
7.5. Объявление и инициализация C-строки 222
7.6. Доступ к символам внутри C-строки 224
7.7. Определение длины строки 225
7.8. Перебор символов C-строки 226
7.9. Основные функции для работы с C-строками 227
7.10. Поиск и замена в C-строке 232
7.11. Сравнение С-строк 237
7.12. Форматирование С-строк 242

Глава 8. Широкие символы и L-строки

244
8.1. Объявление и инициализация широкого символа 245
8.2. Вывод и ввод широких символов 247
8.3. Изменение регистра символов 249
8.4. Проверка типа содержимого широкого символа 251
8.5. Преобразование широких символов в обычные и наоборот 255
8.6. Объявление и инициализация L-строки 256
8.7. Доступ к символам внутри L-строки 257
8.8. Определение длины L-строки 258
8.9. Перебор символов L-строки 259
8.10. Вывод и ввод L-строк 260
8.11. Преобразование C-строки в L-строку и наоборот 263
8.12. Преобразование кодировок 265
8.13. Основные функции для работы с L-строками 271
8.14. Поиск и замена в L-строке 277
8.15. Сравнение L-строк 282
8.16. Преобразование L-строки в число 286
8.17. Преобразование числа в L-строку 294
8.18. Типы char16_t и char32_t 297

Глава 9. Работа с датой и временем

300
9.1. Получение текущей даты и времени 301
9.2. Форматирование даты и времени 305
9.3. «Засыпание» программы 309
9.4. Измерение времени выполнения фрагментов кода 311

Глава 10. Пользовательские функции

312
10.1. Создание функции и ее вызов 312
10.2. Расположение объявлений и определений функций 315
10.3. Способы передачи параметров в функцию 318
10.4. Передача массивов и строк в функцию 320
10.5. Переменное количество параметров 324
10.6. Константные параметры 325
10.7. Статические переменные и функции 326
10.8. Способы возврата значения из функции 328
10.9. Указатели на функции 330
10.10. Передача в функцию и возврат данных произвольного типа 331
10.11. Рекурсия 332
10.12. Встраиваемые функции 333

Глава 11. Обработка ошибок

336
11.1. Типы ошибок 336
11.2. Предупреждающие сообщения при компиляции 337
11.3. Переменная errno и вывод сообщения об ошибке 338
11.4. Способы поиска ошибок в программе 341
11.5. Отладка программы в редакторе Eclipse 345

Глава 12. Чтение и запись файлов

351
12.1. Открытие и закрытие файла 351
12.2. Указание пути к файлу 354
12.3. Режимы открытия файла 356
12.4. Запись в файл 358
12.5. Чтение из файла 360
12.6. Чтение и запись двоичных файлов 363
12.7. Файлы произвольного доступа 365
12.8. Создание временных файлов 367
12.9. Перенаправление ввода/вывода 369
12.10. Работа с буфером ввода и вывода 372

Глава 13. Низкоуровневые потоки ввода и вывода

374
13.1. Открытие и закрытие файла 374
13.2. Чтение из файла и запись в файл 377
13.3. Файлы произвольного доступа 380
13.4. Создание временных файлов 381
13.5. Дескрипторы потоков ввода/вывода 382
13.6. Преобразование низкоуровневого потока в обычный 383
13.7. Создание копии потока 384
13.8. Перенаправление потоков 384

Глава 14. Работа с файловой системой

386
14.1. Преобразование пути к файлу или каталогу 386
14.2. Переименование, перемещение и удаление файла 390
14.3. Проверка прав доступа к файлу и каталогу 391
14.4. Изменение прав доступа к файлу 393
14.5. Делаем файл скрытым 394
14.6. Получение информации о файле 395
14.7. Функции для работы с дисками 399
14.8. Функции для работы с каталогами 401
14.9. Перебор объектов, расположенных в каталоге 403

Глава 15. Потоки и процессы

407
15.1. Потоки в WinAPI 407
15.1.1. Создание и завершение потока 407
15.1.2. Синхронизация потоков 412
15.2. Функции для работы с потоками, объявленные в файле process.h 417
15.3. Потоки POSIX 420
15.3.1. Создание и завершение потока 420
15.3.2. Синхронизация потоков 423
15.4. Запуск процессов 426
15.5. Получение идентификатора процесса 429

Глава 16. Создание библиотек

430
16.1. Статические библиотеки 430
16.1.1. Создание статической библиотеки из командной строки 430
16.1.2. Создание статической библиотеки в редакторе Eclipse 434
16.2. Динамические библиотеки 438
16.2.1. Создание динамической библиотеки из командной строки 438
16.2.2. Создание динамической библиотеки в редакторе Eclipse 440
16.2.3. Загрузка динамической библиотеки во время выполнения программы 443
16.2.4. Экспортируемые и внутренние функции 446
16.2.5. Функция DllMain() 446

Глава 17. Прочее

448
17.1. Регистрация функции, выполняемой при завершении программы 448
17.2. Выполнение системных команд 449
17.3. Получение и изменение значений системных переменных 451
17.4. Директивы препроцессора 454
17.5. Создание значка приложения 455
   
Заключение 459
Приложение. Описание электронного архива 461
Предметный указатель 463


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2020 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.