Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Керниган, Ричи. Язык C.docx
Скачиваний:
5
Добавлен:
05.05.2019
Размер:
377.71 Кб
Скачать

1.11. Резюме

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

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

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

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

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

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

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

этой главе.

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

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

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

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

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

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

---------------

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

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

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

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

N позиций.

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

----------------

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

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

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

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

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

----------------

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

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

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

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

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

пробелов.

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

----------------

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

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

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

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

----------------

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

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

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

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

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

случая).

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

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

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

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

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

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

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

главы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

нии.