Читаем Программирование. Принципы и практика использования C++ Исправленное издание полностью

В стандартной библиотеке определены типы для комплексных чисел complex, complex и complex. Класс complex , где Scalar — некий другой тип, поддерживающий обычные арифметические операции, как правило, работоспособен, но не гарантирует переносимости программ.

template class complex {

  // комплексное число — это пара скалярных значений,

  // по существу — пара координат

  Scalar re, im;

public:

  complex(const Scalar & r, const Scalar & i):re(r), im(i) { }

  complex(const Scalar & r):re(r),im(Scalar ()) { }

  complex():re(Scalar ()), im(Scalar ()) { }

  Scalar real() { return re; } // действительная часть

  Scalar imag() { return im; } // мнимая часть

  // операторы : = += –= *= /=

};

Кроме этих членов, в классе предусмотрено много полезных операций.

Кроме того, к комплексным числам можно применять стандартные математические функции (см. раздел Б.9.2). Примечание: в классе complex нет операций < или % (см. также раздел 24.9).

<p id="AutBody_Root685"><strong>Б.9.4. Класс valarray</strong></p>

Объект стандартного класса valarray — это одномерный массив чисел; иначе говоря, он предусматривает арифметические операции для массивов (аналогично классу Matrix из главы 24), а также срезы (slices) и шаги по индексу (strides).

<p id="AutBody_Root686"><strong>Б.9.5. Обобщенные числовые алгоритмы</strong></p>

 Эти алгоритмы из раздела обеспечивают общие варианты типичных операций над последовательностями числовых значений.

<p id="AutBody_Root687"><strong>Б.10. Функции стандартной библиотеки языка С</strong></p>

Стандартная библиотека языка С включена в стандартную библиотеку языка С++ с минимальными изменениями. В ней предусмотрено относительно небольшое количество функций, полезность которых подтверждена многолетним опытом использования в разнообразных предметных областях, особенно в низкоуровневом программировании. Библиотека языка С разделена на несколько категорий.

• Ввод-вывод в стиле языка C.

• Строки в стиле языка C.

• Управление памятью.

• Дата и время.

• Остальное.

Библиотека языка С содержит намного больше функций, чем описано в этой книге; рекомендуем читателям обратиться к хорошим учебникам по языку С, например, к книге Kernighan, Ritchie, The C Programming Language (K&R).

<p id="AutBody_Root688"><strong>Б.10.1. Файлы</strong></p>

Система ввода-вывода, описанная в заголовке , основана на файлах. Указатель на файл (FILE*) может относиться как к файлу, так и к стандартным потокам ввода и вывода, stdin, stdout и stderr. Стандартные потоки доступны по умолчанию; остальные файлы должны быть открыты явным образом.

Режим — это строка, содержащая одну или несколько директив, определяющих, как именно должен быть открыт файл.

В конкретной операционной системе может быть (и, как правило, так и есть) больше возможностей. Некоторые режимы могут комбинироваться, например, инструкция fopen("foo","rb") пытается открыть файл foo для чтения в бинарном режиме. Режимы ввода-вывода для потоков из библиотек stdio и iostream должны быть одинаковыми (см. раздел Б.7.1)

<p id="AutBody_Root689"><strong>Б.10.2. Семейство функций printf()</strong></p>

Наиболее популярными функциями в стандартной библиотеке языка С являются функции ввода-вывода. Тем не менее рекомендуем использовать библиотеку iostream, потому что она безопасна с точки зрения типов и допускает расширение. Функция форматированного вывода printf() используется очень широко (в том числе и в программах на языке C++) и часто имитируется в других языках программирования.

В каждой версии число n — это количество записанных символов, а в случае неудачи — отрицательное число. На самом деле значение, возвращаемое функцией printf(), практически всегда игнорируется.

Объявление функции printf() имеет следующий вид:

int printf(const char* format ...);

Иначе говоря, эта функция получает строку в стиле языка С (как правило, строковый литерал), за которой следует список, состоящий из произвольного количества аргументов произвольного типа. Смысл этих дополнительных аргументов задается спецификаторами преобразования в форматной строке, например %c (вывести символ) и %d (вывести целое число). Рассмотрим пример.

int x = 5;

const char* p = "asdf";

printf("Значение x равно '%d', а значение p равно '%s'\n",x,s);

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных