1 является учебным введением в центральную часть языка “C”.
Цель - позволить читателю стартовать так быстро,как только
возможно, так как мы твердо убеждены, что единственный спо-
соб изучить новый язык - писать на нем программы. При этом ,
однако, предполагается рабочее владение основными элементами
программирования; здесь не объясняется, что такое ЭВМ или
компилятор, не поясняется смысл выражений типа N=N+1. Хотя
мы и пытались, где это возможно, продемонстрировать полезную
технику программирования. Эта книга не предназначается быть
справочным руководством по структурам данных и алгоритмам;
там, где мы вынуждены были сделать выбор, мы концентрирова-
лись на языке.
В главах со 2-й по 6-ю различные аспекты “C” излагаются
более детально и несколько более формально, чем в главе 1,
хотя ударение по-прежнему делается на разборе примеров за-
конченных, полезных программ, а не на отдельных фрагментах.
В главе 2 обсуждаются основные типы данных, операторы и
выражения. В главе 3 рассматриваются управляющие операторы:
IF-ELSE ,WHILE ,FOR и т.д. Глава 4 охватывает функции и
структуру программы - внешние переменные, правила определен-
ных областей действия описания и т.д. В главе 5 обсуждаются
указатели и адресная арифметика. Глава 6 содержит подробное
описание структур и объединений.
В главе 7 описывается стандартная библиотека ввода-вы-
вода языка “C”, которая обеспечивает стандартный интерфейс с
операционной системой. Эта библиотека ввода-вывода поддержи-
вается на всех машинах, на которых реализован “C”, так что
программы, использующие ее для ввода, вывода и других сис-
темных функций, могут переноситься с одной системы на другую
по существу без изменений.
В главе 8 описывается интерфейс между “C” - программами
и операционной системой “UNIX”. Упор делается на ввод-вывод,
систему файлов и переносимость. Хотя некоторые части этой
главы специфичны для операционной системы “UNIX”, програм-
мисты, не использующие “UNIX”, все же должны найти здесь по-
лезный материал, в том числе некоторое представление о том,
как реализована одна версия стандартной библиотеки и предло-
жения для достижения переносимости программы.
Приложение A содержит справочное руководство по языку
“C”. Оно является “официальным” изложением синтаксиса и се-
мантики “C” и (исключая чей-либо собственный компилятор)
окончательным арбитром для всех двусмысленностей и упущений
в предыдущих главах.
· 11 -
Так как “C” является развивающимся языком, реализован-
ным на множестве систем, часть материла настоящей книги мо-
жет не соответствовать текущему состоянию разработки на ка-
кой-то конкретной системе. Мы старались избегать таких проб-
лем и предостерегать о возможных трудностях. В сомнительных
случаях, однако, мы обычно предпочитали описывать ситуацию
для системы “UNIX” PDP-11 , так как она является средой для
большинства программирующих на языке “C”. В приложении а
также описаны расхождения в реализациях языка “C” на основ-
ных системах.
1. Учебное введение.
Давайте начнем с быстрого введения в язык “C”. Наша
цель - продемонстрировать существенные элементы языка на ре-
альных программах, не увязая при этом в деталях, формальных
правилах и исключениях. В этой главе мы не пытаемся изложить
язык полностью или хотя бы строго (разумеется, приводимые
примеры будут корректными). Мы хотим как можно скорее довес-
ти вас до такого уровня, на котором вы были бы в состоянии
писать полезные программы, и чтобы добиться этого, мы сосре-
дотачиваемся на основном: переменных и константах, арифмети-
ке, операторах передачи управления, функциях и элементарных
сведениях о вводе и выводе. Мы совершенно намеренно оставля-
ем за пределами этой главы многие элементы языка “C”, кото-
рые имеют первостепенное значение при написании больших
программ, в том числе указатели, сртуктуры, большую часть из
богатого набора операторов языка “C”, несколько операторов
передачи управления и несметное количество деталей.
Такой подход имеет, конечно, свои недостатки. Самым су-
щественным является то, что полное описание любого конкрет-
ного элемента языка не излагается в одном месте, а поясне-
ния, в силу краткости, могут привести к неправильному истол-
кованию. Кроме того, из-за невозможности использовать всю
мощь языка, примеры оказываются не столь краткими и элегант-
ными, как они могли бы быть. И хотя мы старались свести эти
недостатки к минимуму, все же имейте их ввиду.
Другой недостаток состоит в том, что последующие главы
будут неизбежно повторять некоторые части этой главы. Мы на-
деемся, что такое повторение будет скорее помогать, чем раз-
дражать.
Во всяком случае, опытные программисты должны оказаться
в состоянии проэкстраполировать материал данной главы на
свои собственные программистские нужды. Начинающие же должны
в дополнение писать аналогичные маленькие самостоятельные
программы. И те, и другие могут использовать эту главу как
каркас, на который будут навешиваться более подробные описа-
ния, начинающиеся с главы 2.
... основаниям. При этом философская абстракция языка оказывается неразрывно связана с основными темами и движениями философии в целом. Более конкретно, на ранние стадии традиционно рассматриваемого в рамках АФ анализа обыденного языка глубокое влияние оказала философия Дж. Э. Мура, особенно его учение о здравом смысле, согласно которому такие понятия, как «человек», «мир», «я», «внешний мир», « ...
... и других странах СНГ, а также облегчение доступа к русской и мировой культуре и науке. Таким образом, судя по данным наших исследований, востребованность русского языка осталась в республике достаточно высокой. Многие представители современной молдавской молодежи продолжают, как их отцы и деды, тянуться к русской культуре, научным и техническим достижениям России. Русский язык остается языком ...
... рисуночное словесно-слоговое письмо). Памятники среднеэламского периода (14—12 вв. до н.э.) выполнены аккадской клинописью. Памятники новоэламского периода относятся к 8—6 вв. до н.э. Был официальным языком в персидском государстве Ахеменидов в 6—4 вв. предполагается, что он, подвергшись влиянию древнеперсидского, сохранился до раннего средневековья. 7. Бурушаски язык Язык бурушаски ( ...
... /диалект), скифский, согдийский, среднеперсидский, таджикский, таджриши (язык/диалект), талышский, татский, хорезмийский, хотаносакский, шугнано-рушанская группа языков, ягнобский, язгулямский и др. Они относятся к индоиранской ветви индоевропейских языков. Области распространения: Иран, Афганистан, Таджикистан, некоторые районы Ирака, Турции, Пакистана, Индии, Грузии, Российской Федерации. Общее ...
0 комментариев