Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Самый популярный язык программирования Си содержит низкоуровне- вое подмножество, что провоцирует рассматривать его как ЯНУ. Но приспо- собленность Си к представлению обработки иерархии структур данных с по- мощью программируемых функций дает основания относить его к ЯВУ.
Язык Си предполагает, что программа собирается из набора файлов, со- держащих фрагменты программы и библиотеки функций, подготовленных, возможно, независимо. При этом компилируемая программа представляет собой одноуровневую конструкцию из равноправных определений структур данных и функций. Это означает, что любая функция имеет доступ к любому элементу любой структуры данных и может изменять его значение. Учиты- вая, что результат программы формируется как последовательность шагов изменения данных, размещенных по конкретным адресам, программист вы- нужден детально и тщательно изучать все тонкости побочных эффектов как
своего, так и смежных фрагментов программы. Это оказалось серьезным пре- пятствием к повышению производительности труда.
– При конструировании кода программы C-компилятор распределяет па- мять для глобальных и локальных данных в статической памяти или в стеке, соответственно.
– Встраиваются вызовы библиотечных функций создания-удаления для динамических структур данных и обмена данными, включая ввод-вывод.
–
|
– Типы данных разделены на основные и производные, созданные с по- мощью специальных операций, включая создание неоднородных структур данных.
– Над типами данных определен конкретный набор операций, с помощью которых строятся вычислимые выражения, и схем операторов управления и описания, используемых при конструировании функций.
– Многократно используемые функции объединяются в специализиро- ванные библиотеки, часть которых включена в системы программирования на языке Си.
– Компилятору для эффективности кодирования нужна информация о ти- пах данных переменных и результатов функций, но допустимо умолчание в случае типа int и параметров цикла.
– Возможна спецификация вида используемой памяти, но она носит ре- комендательный характер – компилятор учитывает ее в меру возможности.
– Определения функций обладают некоторой свободой в конкретизации списка параметров на уровне вызова функции, что позволяет программиро- вать функции произвольного числа параметров.
– Реализация арифметических операций обладает вариантами, завися- щими от основного типа обрабатываемых скаляров в соответствии с разно- образием аппаратной поддержки этих операций.
Абстрактная машина (АМ) языка Си может рассматриваться как развитие и обобщение АМ для ассемблера, обеспечивающее возможность использо- вать более сложные структуры данных в качестве регистров. Определение мало отличается от АМ пи-кода языка Pascal (см. Лекция 2):
s e c m → s' e' c' m'
|
<Стек_ значений, Локалы, Текущая_Команда, Память >
|
АМ различает следующие категории команд:
– засылка значений из Памяти в Стек;
– вычисления над безымянными операндами в Стеке при обработке вы- ражений;
– пересылка значений из стека непосредственно в Память или в регистр Локалы;
– организация переходов по метке в программе;
– организация ветвлений и циклов;
–
|
| Определение | Примечание |
| Main (argc, argv, envp) | Заголовок функции. |
| Int argc; Char **argv; Char **envp; { For (i=0; i < argc; i++) Printf (”arg%i:%s\n”, i, argv [i]); For (p=envp; *p!= (char*)0; p++) Printf (”%s\n”, *p); } | Описания параметров функции: – число аргументов, – вектор аргументов, – вектор системных переменных. Цикл вывода аргументов командной строки при вызове программы |
Пример 14. Программа распечатки параметров командной строки и переменных среды на языке Си15
|
|
|
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!