Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
|
из
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
|
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!