![](images/doc.gif)
Харви Дейтел, Пол Дейтел КАК ПРОГРАММИРОВАТЬ НА С Книга предлагает читателю курс программирования, ориентированный на языки С/С++, и рассчитана как на начинающих, не владеющих никакими языками
программирования, так и на опытных программистов, которые могут просто пропустить не интересующие их главы. Помимо достаточно полного и глубокого изложения языка С дается весьма серьезное введение в C++, одного из наиболее перспективных на настоящий момент языков;
ему посвящена значительная часть книги. Особое внимание уделяется методикам структурного и объектно ориентированного программирования больших программных систем. Примеры и многочисленные упражнения знакомят читателя с часто применяемыми алгоритмами и фундаментальными структурами данных, показывая технические приемы их реализации. Приводится также масса полезных советов.
Книга адресована широкому кругу читателей, от новичков до студентов, изучающих программирование в рамках своей специальности.
Содержание Предисловие Об этой книге Обзор книги Глава 1. Принципы машинной обработки данных 1.1. Введение 1.2. Что такое компьютер? 1.3. Внутренняя организация компьютера 1.4. Пакетная обработка, мультипрограммирование и разделение времени 1.5. Персональные вычисления, распределенные вычисления и вычисления в модели клиент/сервер 1.6. Машинные языки, языки ассемблера и языки высокого уровня 1.7. История языка С 1.8. Стандартная библиотека С 1.9. Другие языки высокого уровня 1.10. Структурное программирование 1.11. Основные принципы среды С 1.12. Общие замечания о С и этой книге 1.13. Concurrent С (Параллельный С) 1.14. Объектно-ориентированное программирование и C++ Резюме Хороший стиль программирования Советы по переносимости программ Советы по повышению эффективности Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Рекомендуемая литература Глава 2. Введение в программирование на С 2.1. Введение 2.2. Простая программа на С: печать строки текста 2.3. Еще одна простая программа на С;
сложение двух целых чисел 2.4. Общие понятия о памяти компьютера 2.5. Арифметика в С 2.6. Принятие решений: операции равенства и отношения Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 3. Структурная разработка программ 3.1. Введение 3.2. Алгоритмы 3.3. Псевдокод 3.4. Управляющие структуры 3.5. Структура выбора if 3.6. Структура выбора if/else 3.7. Структура повторения while 3.8. Формулирование алгоритмов: пример 1 (повторение, управляемое счетчиком) 3.9. Формулирование алгоритмов на основе нисходящего пошагового уточнения: пример 2 (повторение, управляемое контрольным значением) 3.10. Формулирование алгоритмов на основе нисходящего пошагового уточнения: пример 3 (вложенные управляющие структуры) 3.11. Операции присваивания 3.12. Операции инкремента и декремента Резюме Распространенные ошибки программирования Хороший стиль программирования Советы, по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Глава 4. Управление программой 4.1. Введение 4.2. Основы структур повторения 4.3. Повторение, управляемое счетчиком 4.4. Структура повторения for 4.5. Структура for: замечания и рекомендации 4.6. Примеры структур for 4.7. Структура со множественным выбором switch 4.8. Структура повторения do/while 4.9. Операторы break и continue 4.10. Логические операции 4.11. Смешивание операций равенства (==) и присваивания (=) 4.12. Краткая сводка по структурному программированию Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Советы по переносимости программ Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Глава 5. Функции 5.1. Введение 5.2. Программные модули в С 5.3. Функции математической библиотеки 5.4. Функции 5.5. Определения функций 5.6. Прототипы функций 5.7. Заголовочные файлы 5.8. Вызов функций: вызов по значению и по ссылке 5.9. Генерация случайных чисел 5.10. Пример: стохастическая игра 5.11. Классы памяти 5.12. Правила области действия 5.13. Рекурсия 5.14. Пример применения рекурсии: числа Фибоначчи 5.15. Рекурсия в сравнении с итерацией Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 6. Массивы 6.1. Введение 6.2. Массивы 6.3. Объявление массивов 6.4. Примеры работы с массивами 6.5. Передача массивов в функции 6.6. Сортировка массивов 6.7. Пример: вычисление среднего значения, медианы и наиболее вероятного значения с использованием массивов 6.8. Поиск в массивах 6.9. Многомерные массивы Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Упражнения на рекурсию Глава 7. Указатели 7.1. Введение 7.2. Объявление и инициализация переменной-указателя 7.3. Операции над указателями 7.4. Передача параметра по ссылке 7.5. Использование модификатора const с указателями 7.6. Программа пузырьковой сортировки, использующая вызов по ссылке 7.7. Выражения и арифметические операции с указателями 7.8. Связь между указателями и массивами 7.9. Массивы указателей 7.10. Пример: программа тасовки и сдачи колоды карт 7.11. Указатели на функции Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Советы по переносимости программ Общие методические замечания Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Специальный раздел: как самому построить компьютер Глава 8. Символы и строки 8.1. Введение 8.2. Строки и символы 8.3. Библиотека обработки символов 8.4. Функции преобразования строк 8,5. Функции стандартной библиотеки ввода/вывода 8,6. Функции операций над строками из библиотеки обработки строк 8.7. Функции сравнения из библиотеки обработки строк 8.8. Функции поиска из библиотеки обработки строк 8.9. Функции памяти библиотеки обработки строк 8.10. Другие функции из библиотеки обработки строк Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Специальный раздел: более сложные упражнения по работе со строками Глава 9. Форматированный ввод/вывод 9.1. Введение 9.2. Потоки 9.3. Форматированный вывод с применением printf 9.4. Печать целых чисел 9.5. Печать чисел с плавающей точкой 9.6. Печать строк и символов 9.7. Другие спецификаторы преобразования 9.8. Печать с заданием ширины поля и точности представления 9.9. Использование флагов в строке управления форматом printf 9.10. Печать литералов и Esc-последовательностей 9.11. Форматированный ввод с применением scanf Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 10. Структуры, объединения, операции с битами и перечисления. 10.1. Введение 10.2. Описания структур 10.3. Инициализация структур 10.4. Доступ к элементам структур 10.5. Использование структур с функциями 10.6. Typedef 10.7. Пример: моделирование высокоэффективной тасовки и раздачи карт 10.8. Объединения 10.9. Поразрядные операции 10.10. Битовые поля 10.11. Перечислимые константы Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 11. Работа с файлами 11.1. Введение 11.2. Иерархия данных 11.3. Файлы и потоки 11.4. Создание файла последовательного доступа 11.5. Чтение данных из файла последовательного доступа 11.6. Файлы произвольного доступа 11.7. Создание файла произвольного доступа 11.8. Произвольная запись данных в файл произвольного доступа 11.9. Последовательное чтение данных из файла произвольного доступа 11.10. Пример: программа обработки транзакций Резюме Распространенные ошибки программирования Хороший стиль программирования Советы, по переносимости программ Советы по повышению эффективности Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 12. Структуры данных 12.1. Введение 12.2. Структуры, ссылающиеся на себя 12.3. Динамическое распределение памяти 12.4. Связанные списки 12.5. Стеки 12.6. Очереди 12.7. Деревья Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Советы по переносимости программ Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 13. Препроцессор 13.1. Введение 13.2. Директива препроцессора #include 13.3. Директива препроцессора #define: символические константы 13.4. Директива препроцессора #define: макросы 13.5. Условная компиляция 13.6. Директивы препроцессора #error и #pragma 13.7. Операции # и ## 13.8. Нумерация строк 13.9. Предопределенные символические константы 13.10. Макрос подтверждения Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 14. Специальные вопросы 14.1. Введение 14.2. Переадресация ввода/вывода в системах UNIX и DOS 14.3. Списки аргументов переменной длины 14.4. Аргументы командной строки 14.5. Замечания относительно компиляции программ из нескольких исходных файлов 14.6. Выход из программы с помощью exit и atexit 14.7. Модификатор типа volatile 14.8. Суффиксы для целых констант и констант с плавающей точкой 14.9. Еще раз о файлах 14.10. Обработка сигналов 14.11. Динамическое выделение памяти: функции calloc и realloc 14.12. Безусловный переход: goto Резюме Распространенные ошибки программирования Советы по переносимости программ Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы, на упражнения для самоконтроля Упражнения Глава 15. C++ как УулучшенныйФ С 15.1. Введение 15.2. Однострочные комментарии C++ 15.3. Потоковый ввод/вывод C++ 15.4. Объявления в C++ 15.5. Создание новых типов данных в C++ 15.6. Прототипы функций и контроль соответствия типов 15.7. Встроенные функции 15.8. Параметры-ссылки 15.9. Модификатор const 15.10. Динамическое распределение памяти с помощью new и delete 15.11. Параметры, используемые по умолчанию 15.12. Унарная операция разрешения области действия 15.13. Перегрузка функций 15.14. Спецификации внешней связи 15.15. Шаблоны функций Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по переносимости программ Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Рекомендуемая литература Приложение:
ресурсы C++ Глава16. Классы и абстракция данных. 16.1. Введение 16.2. Определение структур 16.3. Доступ к элементам структур 16.4. Реализация пользовательского типа Time с помощью структуры 16.5. Реализация абстрактного типа данных Time с помощью класса 16.6. Область действия класса и доступ к элементам класса 16.7. Отделение интерфейса от реализации 16.8. Управление доступом к элементам класса 16.9. Функции доступа и сервисные функции 16.10. Инициализация объектов класса: конструкторы 16.11. Использование с конструкторами аргументов по умолчанию 16.12. Деструкторы 16.13. Когда вызываются конструкторы и деструкторы 16.14. Использование элементов данных и элементов-функций 16.15. Скрытая ловушка: возвращение ссылки на закрытый элемент данных 16.16. Присваивание по умолчанию путем поэлементного копирования 16.17. Повторное использование программного обеспечения Резюме Распространенные ошибки программирования Хороший стиль программирования Советы, по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы, к упражнениям для самоконтроля Упражнения Глава 17. Классы: часть II 17.1. Введение 17.2. Константные объекты и константные элементы-функции 17.3. Композиция: классы в качестве элементов других классов 17.4. Дружественные функции и дружественные классы 17.5. Указатель this 17.6. Динамическое распределение памяти с помощью операций new и delete 17.7. Статические элементы класса 17.8. Абстракция данных и сокрытие информации 17.9. Контейнерные классы и итераторы 17.10. Шаблоны классов Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Советы, по переносимости программ Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Глава 18. Перегрузка операций 18.1. Введение 18.2. Основные принципы перегрузки операций 18.3. Запреты на перегрузку операций 18.4. Функции-операции как элементы класса и как дружественные функции 18.5. Перегрузка операций передачи в поток и извлечения из потока 18.6. Перегрузка одноместных операций 18.7. Перегрузка двухместных операций 18.8. Пример: класс Array 18.9. Преобразование типов 18.10. Пример: класс String 18.11. Перегрузка ++ и -- 18.12. Пример: класс Date Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы к упражнениям для самоконтроля Упражнения Глава 19. Наследование 19.1. Введение 19.2. Базовые и производные классы 19.3. Защищенные элементы 19.4. Приведение указателей базового класса к указателям на производный класс 19.5. Применение функций-элементов 19.6. Переопределение элементов базового класса в производном классе 19.7. Открытые, защищенные и закрытые базовые классы 19.8. Непосредственные и косвенные базовые классы 19.9. Применение конструкторов и деструкторов в производном классе 19.10. Неявное преобразование объектов производного класса к базовому 19.11. Наследование в конструировании программного обеспечения 19.12. Композиция в сравнении с наследованием 19.13. Отношения УиспользуетФ и УзнаетФ 19.14. Пример: Point, Circle, Cylinder 19.15. Сложное наследование Резюме Распространенные ошибки программирования Хороший стиль программирования Совет по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Глава 20. Виртуальные функции и полиморфизм 20.1. Введение 20.2. Обработка различных типов данных при помощи операторов switch 20.3. Виртуальные функции 20.4. Абстрактные базовые классы и конкретные классы 20.5. Полиморфизм 20.6. Пример: программа начисления заработной платы, использующая возможности полиморфизма 20.7. Новые классы и динамическое связывание 20.8. Виртуальные деструкторы 20.9. Пример: наследование интерфейса и реализации Резюме Распространенные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Общие, методические замечания Упражнения для самоконтроля. Ответы на упражнения для самоконтроля Упражнения Глава 21. Потоки ввода/вывода в C++ 21.1. Введение 21.2. Потоки 21.3. Потоковый вывод 21.4. Потоковый ввод 21.5. Функции неформатируемого ввода/вывода read, gcount и write 21.6. Манипуляторы потоков 21.7. Флаги форматирования потока 21.8. Состояния ошибки потоков 21.9. Ввод/вывод определяемых пользователем типов 21.10. Привязка потока вывода к потоку ввода Резюме Распространенные ошибки программирования Хороший стиль программирования Советы, по повышению эффективности Общие методические замечания Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Приложение А. Синтаксис С Приложение Б. Стандартная библиотека Приложение В. Таблица приоритета операций Приложение Г. Набор символов ASCII Приложение Д. Системы счисления Д.1. Введение Д.2. Запись двоичных чисел в виде восьмеричных и шестнадцатеричных Д.З. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные Д.4. Преобразование числа из двоичной, восьмеричной или шестнадцатеричной форм в десятичную Д.5. Преобразование десятичного числа в двоичное, восьмеричное или шестнадцатеричное Д.6. Отрицательные двоичные числа: дополнение до двух Резюме Упражнения для самоконтроля Ответы на упражнения для самоконтроля Упражнения Предметный указатель #define 589, 590 ASCII #define asm NDEBUG 594 assert #elif 592 assert.h #else 592 atexit #endif 592 atof #error 593 atoi #if 592 atol #ifdef 592 badbit 886, #ifndef 592 break 151, #ftinclude "filename" 588 CЧD #include
) нисходящее пошаговое уточнение 33, округление 107, 421, 102,109,335 окружение (рабочая среда) номер позиции 249 операнд нотация указатель/смещение 330 оператор нулевой Элемент 249 - goto 90, нули и единицы 490 нуль (false) 68 - присваивания нуль-символ '\0' 258 операции как функции О - отношения 68, область действия 206, 209 - равенства 68, - - блока 209 операция - - класса 676, 735 - delete 643, - - прототипа 209 - delete[] - - символической константы или - new 643, макроса 591 - взятия адреса & 61, - - файла 209, 676 - "взять из" (Ф) - - функции 209 - взятия по модулю (%) - свободной памяти 643 - выбора элемента - стрелка обработка строк 370, 385 - - - точка (.) - - - класса (.) 667 открытый интерфейс класса 674, - декремента(--) 114 отладчик - дополнения до единицы (-) 469 отношение знает - извлечения из потока (Ф) 628, 881 - имеет 808, - инкремента(++) 114 - использует - косвенной адресации (*) 309 - является 808, - левого сдвига (У) 464, 469 отображаемый символ 373, - передачи в поток (У) 628, 881 отступ - поразрядного И (&) 464, 465 очередь - - включающего ИЛИ (|) 464, 468 ошибка бесконечной рекурсии - - исключающего ИЛИ (*) 464, 468 - времени компиляции 60' - "послать в" (У) 628 - смещения индекса - постдекремента 114 - - счетчика - постинкремента 114 П - правого сдвига (Ф) 464, 469, 470 память 33, - предекремента 114 параметр в определении функции - преинкремента 114 189, - преобразования 776 параметр числа записей 506, - приведения 107 параметризованный манипулятор - присваивания (=) 61 потока - - левого сдвига (У=) 470 параметризованный тип - - поразрядного И (&'=) 470 параметр-ссылка - - - включающего ИЛИ (|=) 470 первичная память - - - исключающего ИЛИ ("=) 470 первое уточнение - - правого сдвига (Ф=) 470 переадресация ввода/вывода - разрешения области действия :: 675 переадресация потока - разыменования (*) 310 перегружаемые операции - ссылки & 699 перегруженная дружественная - умножения (*) 64 функция-операция - элемента структуры - стрелка (->) - операция != 766, 455 - - [] 771, - - - - точка (.) 455 определение класса - - < 671 - - <= - структур 453 - - == 771, - функции 191 - - > определенное повторение 100, 139 - - >= оптимизирующий компилятор 207 - - присваивания (=) 771, основной случай рекурсии 212 - функция-операция - элемент класса остановка в узле 555 отказ программы 104 перегрузка двухместной операции открытие файла 495, 498 открытое наследование 809 - одноместной операции открытый базовый класс 820 - операций - постфиксной операции 787 потоки, определяемые пользователем - префиксной операции 786 - функций 647 потоковый ввод передача массивов в функции 263 - вывод - по ссылке 263 потомки - управления 90 пошаговое уточнение переменная 59 поэлементное копирование - "только для чтения" 641 правила старшинства операций 65, - класса static 206, 208 правило вложения - управления циклом 139, 143 - суперпозиции - -константа 641 правое выравнивание переносимость 37, 42 - поддерево переопределение элемента базового правый потомок класса 816 предикатная функция 536, переопределенная виртуальная предопределенные потоки функция 849,850 символические константы перехват 613 представитель класса перечисление 474 представление символа числовым перечислимая константа 474 кодом период хранения 206 преобразование объекта персональный компьютер 34 производного класса в объект побочные эффекты 198 базового класса поведение 665, 670 - указателя производного класса в повторение 98 указатель базового класса - управляемое счетчиком 100, 139 определяемое пользователем повторное использование преобразования между встроенными программного кода 37, 189, типами и классами 702,826 - классами различного типа поддерево 550 препроцессор С 40, 58, подкласс 809 препроцессорная операция позднее связывание 862 конкатенации ## поиск в массиве 273 - - преобразования в строку # поле 491 прерывание полиморфизм 848, 851,853 приглашение пользователь класса 676 принцип минимума привилегий 207, поразрядные операции 463 316, 320, 679, порядок действий 88 принятие решения последовательная структура 90 приоритет операций последовательное выполнение 90 приращение управляющей поток 421 переменной - стандартного ввода 420 присваивание структур - - вывода 420 указателя 309, 310, - стандартной ошибки 421 пробельные символы 71, 92, 376, проверка на выход за пределы - - - w+ массива 783 рекурсивная функция программа-транслятор 36 рекурсивный вызов программист 32 рекурсия 210, программное обеспечение 31, 32 решение 67, производный класс 808, 849 родительский узел тип 453 С произвольный доступ 503 связанный список 308, простое наследование 807 сдвиг 203, условие 158 - влево 464, прототип функции 190, 194 - вправо 464, проход сортировки 268 сервисная функция процедурное программирование сиблинги 666 сигнальное значение прямая ссылка на переменную 309 сигнатура псевдокод 89 символ псевдослучайные числа 201 - ^ пузырьковая сортировка 268 - действия пустой оператор (;
) 98 - новой строки (\n) 55, Р - овала рабочая станция 35 - переадресации ввода < разбиение на функции 33 - - вывода > разбиение строки на лексемы 394 - подавления присваивания (*) разделение времени 34 - подчеркивания ( ) разделительные символы 394 - присоединения вывода Ф "разделяй и властвуй" 186, 189 - прямоугольника различение регистра 59 - решения разрушающее считывание в ячейку - ромба 63 - стрелки разыменование указателя 310 символ-заполнитель рандомизация 201 - - по умолчанию (пробел) распределенные вычисления 35 символическая константа 253, расширение макроса 590 символы блок-схемы расширяемость 672, 741, 848, 852, символьная константа 910 символьное поле реализация класса 677 синтаксическая ошибка 60, редактор 39 система управления базами данных режим открытия файла 495 - - - а 498 скаляр - - - а+ 498 скалярная величина - - - r 498 сложение указателя с целым - - - r+ 498 сложное наследование 807, - - - w 498 смещение 330, событие 613 - указателей 326, создание экземпляра объекта 666 среднее сокрытие данных 666, 673 ссылка на базовый класс - информации 209 стандартизованные компоненты сообщение 55, 665, 670 программного обеспечения сортировка 267 стандартная библиотека С 37, 56, - двоичного дерева 554 стандартная ошибка (stderr) - погружением 268 стандартный ввод (stdin) - элементов массива 267 - вывод (stdout) составной оператор 97 - заголовочный файл
(окончание - продолжения цикла 143, оператора) 55 условная компиляция точность 107, 429 - операция (?:) - по умолчанию 107, 423, 894 условное выполнение директив У препроцессора удаление узла 533, 538, 539 услуги, предоставляемые классом узел 531 устройство ввода узел-потомок 550 - вывода указатель 308 Ф - NULL 309, 530 фаза завершения - this 729 - инициализации - базового класса 811 - обработки - на void (void *) 328 файл - - абстрактный класс 852 - исходного кода - - базовый класс 850 - последовательного доступа - - объект базового класса 825 - произвольного доступа - - объект производного класса 825 файловый сервер фатальная ошибка 65, 97 - - precision фигурные скобки {} 55, 97 - - put фиктивное значение 102 флаг - - putback 421, 430 - - rdstate - пробел 430 - - read - - (минус) 430 - - setf 896, -# 431 - - tie - + (плюс) 430 - - unsetf 896, - 0 (нуль) 431 - - write флаги формата 898 ХЧЯ флаговое значение 102 хвост очереди формат целого без знака 422 целое - - со знаком 422 - типа long 422, форматирование в памяти 880 - типа short 422, форматированный ввод/вывод 500, - число 880 целочисленное деление функции математической библиотеки целостность (корректность) данных 188 687, 688, - преобразования строк 377 центральное процессорное - сравнения строк 388 устройство (CPU) функция 37, 56,187 цикл 92, - getchar 150 число с плавающей точкой 105, 423, - pow 147 - printf 58, 62 чисто виртуальная функция (=0) - scant 58, 61 шаблон - доступа 684 - класса - факториала 213 - функции - определяемая программистом 187 шестнадцатеричные цифры - -элемент 666, 670 - числа (начинаются с Ох или ОХ) - - bad 906 - - clear 906 шестнадцатеричный формат - - eof 906 ширина битового поля --fail 906 - поля 148, - - fill 901 экран 33, - - flags 896, 898 экспоненциальный формат с - - gcount 892 плавающей точкой - - get 889 элемент 453, - - getline 890 - данных 666, - - good 906 - массива - - ignore 891 - случайности - - operator void* 907 этикетка структуры 453, - - operator! 907 явное преобразование - - peek 891 - - типа (операция приведения) язык высокого уровня 36, - программирования ясность ячейка памяти
Книги, научные публикации