Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C++

Г. Шилдт - Полный справочник по C++ (1109478), страница 7

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 7 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 72019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

Общий вид программы нв языке С обьявлеиия лооальиых переменных тип возвраагаемого значения маЯп (список параметров) < последовательность операторов тип возвращаемого значения Е1 (список параметров) ( последовательность операторов ) тип возврамаемого значения хв (список параметров) ( последовательность операторов ) тип возврацаемого значения ЕИ (список параметров) последовательность операторов ~~ Библиотека и связывание С формальной точки зрения можно написать законченную и вполне осмысленную программу на языке С, не используя ни одной стандартной функции.

Однако это довольно затруднительно, так как в языке С нет ключевых слов, имсюших отношение к вводу-выводу, математическим операциям высокого уровня или обработке символов. В результате большинство программ вынуждены вызывать различные функции, содержашиеся в стандаргннои библиотеке (а(апг)агг( )<Ьгагу).

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

Стандартная библиотека функций представляет собой наследие языка С. Язык С++ поддерживает все функции, прелусмотрснные станлартом С89. Таким образом, все стандартныс функции языка С можно свободно использовать в программах на языке С++. Кроме стандартной библиотеки функций, язык С++ имеет собственную библиотеку классов. Эта библиотека состоит из объектно-ориснтированных модулей, которые можно использовать в собственных программах. Кроме того, сушествуст стандартная Часть !. Основы языка С++: подмножество С библиотека шаблонов БТ1, содержащая широкий набор готовых решений многих задач. В части 1 используется только стандартная библиотска функций, поскольку именно она относится к языку С.

Стандартная библиотека состоит из многих универсальных функций. При вызове библиотечной функции компилятор "запоминает"' ес имя. Позднее редактор связей объединит ваш код с объектным кодом этой библиотечной функции. Этот процесс называется редакглираааяием связей 111пЫпд1. Некоторыс компиляторы имеют свои собственные редакторы связей, остальные используют редактор связей, предусмотренный операционной системой. Функции в библиотеке имеют машияолезависимый формат (ге1осагаЫс Гогтаг). Это значит, что адреса памязи для разных машинных инструкций не являюзся абсолютными — сохраняешься лишь информация о смещении их адреса.

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

~ Раздельная компиляция Большинство коротких программ обычно можно уместить в одном файле. Однако по мере возрастания объсма программы увеличивается время ее компилирования. Для решения этой проблемы в языке С/Сч ь предусмотрена возможность делить программу на файлы и компилировать каждый из них о~дельно. Скомпилировав всс файлы, озрсдактировав связи между ними и библиотечными функциями, вы получите завершенный объскзный код. Прсимушество разлельной компиляции заключается в том, по при изменении кода, записанного в одном из файлов, нет необходимости компилировать заново всю программу.

Это существенно экономит время на этапе компиляции. Документация„сопровождающая компиляторы языка С/С++, содержит инструкции, которые позволят вам скомпилировать программу, записанную в нескольких файлах. ~ Расширения файлов.С и .СРР Разумеется, программы, приведенные в части 1, являются вполне корректными программами на языке С++.

Их можно компилировать с помощью любого современного компилятора языка С++. Одновременно они являются корректными программами на языке С и могут компилироваться с помощью компиляторов этого языка. Итак, если вы собираетссь писать программы на языке С, можете рассматривать программы из первой части в качестве примера. Традиционно программы на языке С используют расширения файла .С, а программы на языке С++ — .СРР. Компилятор языка С++ использует расширение файла для определения типа программы.

Это имеет большое значение, поскольку компилятор рассматривает любую программу, используюгцую расширение .С, как программу на языке С, а программу, записанную в файл с расширением .СРР, — как программу на языке С++. Если обратное нс указано явно, вы можете выбрать любое расширение для файла с программой из первой Глава 1. Обзор языка С части книги.

Однако программы, приведенные в остальной части книги, должны быль записаны в файлы с расширением .СРР. И последнее: хотя язык С является полмножеством языка С++, между ними сушествует несколько отличий. В некоторых случаях программу на языке С нужно компилировать именно как программу яа языке С (используя расширение С), Все такие случаи мы оговариваем отдельно. зв Часть й Основы языка С++: подмножество О ПОлный справочник по Ф ! Ф Выриения этой главе рассматриваются самые важные элементы языка С (и, соответственно, В языка С++) — выразгекия гехргеккюпк).

В языке С/С++ выражения носят намного более абстрактный характер, чем в большинстве других языков программирования, и обладавп большей экспрессивностью. Выражения состоят из атомарных элементов: данных и операторов. Данные представляют собой либо переменные, либо константы. Как и во л1ноптх языках программирования, в языке С/С++ предусмотрено большое количество разнообразных типов данных и операторов.

'~~ Пять основных типов данных В подмножестве С сушествуют пять элементарных типов данных: символ, целое число, число с плавающей точкой, число с плаваюшей точкой улвоеннои точности и переменная, не имеюшая значений. Им соответствуют следуюшие кпочевые слова: оцаг„ Зпе, бхоае, бооттхв и ообб. Все другие типы данных в языке С создаются на основе элементарных типов, указанных выше.

Размер переменных и диапазон их значений зависит от типа процессора и компилятора. Однако во всех случаях размер символа равен 1 байт. Размер целочисленной переменной обычно равен длине машинного слова, принятой в конкретной операционной системе. В большинстве 15-битовых операционных систем, например, ООВ и %1пботкк 3.1, размер целочисленной переменной равен 16 бит. В большинстве 32-битовых операционных систем, например Ът1пдоткз 2000, этот размер равен 32 бит. Однако, стремясь к машинонезависимости программ, следует избегать конкретных предположений о размере целочисленных переменных. Важно четко понимать, что и в языке С, и в языке С++ оговаривается лишь минималькыб диапазон, в котором изменяются значения переменных каждого типа, а не их размер в байтах.

')Йййййй~~ Ртвфлт~ К лоти основным омоем данных, опредоламккк в язьае С, язык О+к добаагмв и еще $йййммвтвым даа: ьооз и коькг е. Эти аипь~ будут рассмотрвнм во вглораб часто книги. Точное представление чисел с гглаваюшей точкой зависит от их конкретной реализации. Размер целого числа обычно равен длине машинного слова, принятой в операционной системе. Значения переменных типа отток, как правило, используются лля представления символов, предусмотренных в системе кодирования /тэСИ.

Значения, выхоллшие за пределы допустимого диапазона, на разных компьютерах обрабатываются по-разному. Диапазон изменения переменных типа бхоае и аооЫо зависит от способа представления чисел с плаваюшей точкой. В любом случае, этот диапазон достаточно широк. Стандарт языка С определяет минимальныи диапазон изменения чисел с плаваюшей точкаи: от 1Š— 37 до 1Е+37. Минимальное количество цифр, определяюших точность чисел с плавающей точкой, указано в табл. 2.1. Таблица 2.1. Все типы данных, определенные в стандарте АМЯ/! $0 С 5тапбагб Обмчкмл размер, бкт Мккмкакькмй дкаоазок Часть 1.

Основы языка С++: подмножество С овкг оовьоовб сваг акооеб сваг кое иовкооес Ьое азсоеб Ьок кьоге кое ооквооас клоке кое 8 8 8 16 ипи 32 16 ипи 32 16 ипи 32 16 16 От -128 до 127 От Одо255 От -128 до 127 От -32768 до 32767 От 8 до 65535 Такои же, как у 1.ое От -32768 до 32767 От 0 до 65535 Окончание табл. 2.1 Обычным размер, бмт Минимальныйдмалазон вздоеа вьокс 1пс З.опд 1пе яздоед 1сюд хое ипвьдоеа 1опд ьос к1оае аооЬ1е 1опд дооЬ1е Такой же, каки у мЬокс 1пе Ог -2147483648 до 2147463647 Такойже, каки у1опд ьпе Ог 0 до 4294967295 Шесть значащих цифр Десять значащих цифр Десять значащих цифр 16 32 32 32 32 64 60 !ВВВдяддд)ддд) В стандарп1е языка С++ минимальный размер и диагюзон изменения переменных, имеющих зпементарнью тип, не определен.

Вместо этого в нем проспю указано, чпю они должны соответствовать определенным условиям. Например, стандарт требует, члюбы переменная типа зпе 'Цвела естеспаенный размер, соответствующий архитектуре операционной системы". В любом случае, ее диапазон должен совпадать ипи превосходить диапазон изменения переменной данного типа, предусмотренный стандартом языка С. Каждый компилятор языка С++ задает размер и диапазон изменения переменных всех элементарных типов в заголовке <сзвв1се>.

Тип чозд используется лля определения функции, не возврашагощей НИКаКИХ Зиачений, либо для создания обобщенного указателя (8епепс ро)пгег). Оба эти случая мы рассмотрим в следуюших главах. ~~''-': Модификация основных типов За исключением типа чо16, основные типы данных могут иметь различные мйдид)икалюры (глод)Г1егэ).

которые используются для более точной настройки. Вот их список. | вздпеб пзгвздпвд 1опд вдохе 41 Глава 2. Выражению Ыелочисленные типы можно модифицировать с помощью ключевых слов вздпвд, вьокс, 1опд и цпв1дпвб. Символьные типы можно уточнять с помощью модификаторов цпв1дпеб и вздпеа. Кроме того, тип доцЬ1в можно модифицировать ключевым словом 1опд. В табл, 2П указаны все возможные комбинации типов данных, а также их минимальные лиапазоны и приблизительный размер в битах. (Эти значения относятся также и к языку С++.) Учтите, что в этой таблице приведены минимальные г)иипаэаяы переменных, а не типичные Например, в компьютерах, использующих арифметику дополнительных кодов (пчо'и сошр)егпепг апгпглег1с), минимальный диапазон целого числа простирается от — 32768 до 32767.

Характеристики

Тип файла
DJVU-файл
Размер
7,03 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее