Резюме

Язык С
Строк программы, исключая математическое обеспечение Является учебным введением в центральную часть языка “C” Hачинаем. Единственный способ освоить новый язык Оператор FOR Набор полезных программ Подсчет символов Подсчет слов Функции Аргументы - вызов по значению Область действия: внешние переменные Резюме Константы Описания Преобразование типов До 9 и буквы от а до F Операции и выражения присваивания Старшинство и порядок вычисления Операторы и блоки Переключатель Цикл DO - WHILE Оператор CONTINUE Основные сведения Функции, возвращающие нецелые значения Еще об аргументах функций Правила, определяющие область действия Статические переменные Блочная структура Рекурсия Указатели и адреса Указатели и массивы Адресная арифметика Указатели символов и функции Указатели - не целые До 12, а не от 0 до 11. Так как за экономию памяти у нас пока не награждают, такой способ проще, чем подгонка индек-сов Инициализация массивов указателей Указатели на функции Структуры Структуры и функции Указатели на структуры Мы продемонстрируем, как правильно выполнить эту задачу Поля Определение типа Обращение к стандартной библиотеке Форматный вывод - функция PRINTF Форматный ввод - функция SCANF Форматное преобразование в памяти Обработка ошибок - STDERR и EXIT Обращение к системе Низкоуровневый ввод/вывод - операторы READ и WRITE Произвольный доступ - SEEK и LSEEK Пример - распечатка справочников Пример - распределитель памяти Константы Синтаксическая нотация Преобразования Первичные выражения Унарные операции Аддитивные операции Операция присваивания Спецификаторы типа Описание структур и объединений Инициализация TYPEDEF Оператор SWITCH Внешнее определение функции Область действия внешних идентификаторов Неявные описания Явные преобразования указателей Анахронизмы Операторы
439386
знаков
0
таблиц
0
изображений

1.11. Резюме

 

На данном этапе мы обсудили то, что можно бы назвать

традиционным ядром языка “C”. Имея эту горсть строительных

блоков, можно писать полезные программы весьма значительного

размера, и было бы вероятно неплохой идеей, если бы вы за-

держались здесь на какое-то время и поступили таким образом:

следующие ниже упражнения предлагают вам ряд программ нес-

колько большей сложности, чем те, которые были приведены в

этой главе.


·     38 -

После того как вы овладеете этой частью “C”, приступайте

к чтению следующих нескольких глав. Усилия, которые вы при

этом затратите, полностью окупятся, потому что в этих главах

обсуждаются именно те стороны “C”, где мощь и выразитель-

ность языка начинает становиться очевидной.

Упражнение 1-19.

Напишите программу DETAB, которая заменяет табуляции во

вводе на нужное число пробелов так, чтобы промежуток дости-

гал следующей табуляционной остановки. Предположите фиксиро-

ванный набор табуляционных остановок, например, через каждые

N позиций.

Упражнение 1-20.

Напишите программу ENTAB, которая заменяет строки пробе-

лов минимальным числом табуляций и пробелов, достигая при

этом тех же самых промежутков. Используйте те же табуляцион-

ные остановки, как и в DETAB.

Упражнение 1-21.

Напишите программу для “сгибания” длинных вводимых строк

после последнего отличного от пробела символа, стоящего до

столбца N ввода, где N - параметр. убедитесь, что ваша прог-

рамма делает что-то разумное с очень длинными строками и в

случае, когда перед указанным столбцом нет ни табуляций, ни

пробелов.

Упражнение 1-22.

Напишите программу удаления из “C”-программы всех ком-

ментариев. Не забывайте аккуратно обращаться с “закавыченны-

ми” строками и символьными константами.

Упражнение 1-23.

Напишите программу проверки “C”-программы на элементар-

ные синтаксические ошибки, такие как несоответствие круглых,

квадратных и фигурных скобок. Не забудьте о кавычках, как

одиночных, так и двойных, и о комментариях. (Эта программа

весьма сложна, если вы будете писать ее для самого общего

случая).


·     39 -

2. Типы, операции и выражения.

 

Переменные и константы являются основными объектами, с

которыми оперирует программа. Описания перечисляют перемен-

ные, которые будут использоваться, указывают их тип и, воз-

можно, их начальные значения. Операции определяют, что с ни-

ми будет сделано. выражения объединяют переменные и констан-

ты для получения новых значений. Все это - темы настоящей

главы.

 

2.1. Имена переменных.

 

Хотя мы этого сразу прямо не сказали, существуют некото-

рые ограничения на имена переменных и символических конс-

тант. Имена составляются из букв и цифр; первый символ дол-

жен быть буквой. Подчеркивание “_” тоже считается буквой;

это полезно для удобочитаемости длинных имен переменных.

Прописные и строчные буквы различаются; традиционная практи-

ка в “с” - использовать строчные буквы для имен переменных,

а прописные - для символических констант.

Играют роль только первые восемь символов внутреннего

имени, хотя использовать можно и больше. Для внешних имен,

таких как имена функций и внешних переменных, это число мо-

жет оказаться меньше восьми, так как внешние имена использу-

ются различными ассемблерами и загрузчиками. Детали приво-

дятся в приложении а. Кроме того, такие ключевые слова как

IF, ELSE, INT, FLOAT и т.д., зарезервированы: вы не можете

использовать их в качестве имен переменных. (Они пишутся

строчными буквами).

Конечно, разумно выбирать имена переменных таким обра-

зом, чтобы они означали нечто, относящееся к назначению пе-

ременных, и чтобы было менее вероятно спутать их при написа-

нии.

 

2.2. Типы и размеры данных.

 

Языке “C” имеется только несколько основных типов дан-

ных:

CHAR один байт, в котором может находиться один символ из

внутреннего набора символов.

INT Целое, обычно соответствующее естественному размеру це-

лых в используемой машине.

FLOAT С плавающей точкой одинарной точности.

DOUBLE С плавающей точкой двойной точности.

Кроме того имеется ряд квалификаторов, которые можно ис-

пользовать с типом INT: SHORT (короткое), LONG (длинное) и

UNSIGNED (без знака). Квалификаторы SHORT и LONG указывают

на различные размеры целых. Числа без знака подчиняются за-

конам арифметики по модулю 2 в степени N, где N - число би-

тов в INT; числа без знаков всегда положительны. Описания с

квалификаторами имеют вид:

 

SHORT INT X;

LONG INT Y;

UNSIGNED INT Z;

·      
40 -

Cлово INT в таких ситуациях может быть опущено, что

обычно и делается.

Количество битов, отводимых под эти объекты зависит от

имеющейся машины; в таблице ниже приведены некоторые харак-

терные значения.

Таблица 1

!

DEC PDP-11 HONEYWELL IBM 370 INTERDATA !

6000 8/32 !

!

ASCII ASCII EBCDIC ASCII !

!

CHAR 8-BITS 9-BITS 8-BITS 8-BITS !

INT 16 36 32 32 !

SHORT 16 36 16 16 !

LONG 32 36 32 32 !

FLOAT 32 36 32 32 !

DOUBLE 64 72 64 64 !

!

 

Цель состоит в том, чтобы SHORT и LONG давали возмож-

ность в зависимости от практических нужд использовать раз-

личные длины целых; тип INT отражает наиболее “естественный”

размер конкретной машины. Как вы видите, каждый компилятор

свободно интерпретирует SHORT и LONG в соответствии со свои-

ми аппаратными средствами. Все, на что вы можете твердо по-

лагаться, это то, что SHORT не длиннее, чем LONG.

 


Информация о работе «Язык С»
Раздел: Информатика, программирование
Количество знаков с пробелами: 439386
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
48443
0
0

... основаниям. При этом философская абстракция языка оказывается неразрывно связана с основными темами и движениями философии в целом. Более конкретно, на ранние стадии традиционно рассматриваемого в рамках АФ анализа обыденного языка глубокое влияние оказала философия Дж. Э. Мура, особенно его учение о здравом смысле, согласно которому такие понятия, как «человек», «мир», «я», «внешний мир», « ...

Скачать
43709
0
0

... и других странах СНГ, а также облегчение доступа к русской и мировой культуре и науке. Таким образом, судя по данным наших исследований, востребованность русского языка осталась в республике достаточно высокой. Многие представители современной молдавской молодежи продолжают, как их отцы и деды, тянуться к русской культуре, научным и техническим достижениям России. Русский язык остается языком ...

Скачать
39778
0
1

... рисуночное словесно-слоговое письмо). Памятники среднеэламского периода (14—12 вв. до н.э.) выполнены аккадской клинописью. Памятники новоэламского периода относятся к 8—6 вв. до н.э. Был официальным языком в персидском государстве Ахеменидов в 6—4 вв. предполагается, что он, подвергшись влиянию древнеперсидского, сохранился до раннего средневековья. 7. Бурушаски язык Язык бурушаски ( ...

Скачать
64931
0
0

... /диалект), скифский, согдийский, среднеперсидский, таджикский, таджриши (язык/диалект), талышский, татский, хорезмийский, хотаносакский, шугнано-рушанская группа языков, ягнобский, язгулямский и др. Они относятся к индоиранской ветви индоевропейских языков. Области распространения: Иран, Афганистан, Таджикистан, некоторые районы Ирака, Турции, Пакистана, Индии, Грузии, Российской Федерации. Общее ...

0 комментариев


Наверх