Язык С

       

Резюме


На данном этапе мы обсудили то, что можно бы назвать традиционным ядром языка "C". Имея эту горсть строительных блоков, можно писать полезные программы весьма значительного размера, и было бы вероятно неплохой идеей, если бы вы за- держались здесь на какое-то время и поступили таким образом: следующие ниже упражнения предлагают вам ряд программ нес- колько большей сложности, чем те, которые были приведены в этой главе.

После того как вы овладеете этой частью "C", приступайте к чтению следующих нескольких глав. Усилия, которые вы при этом затратите, полностью окупятся, потому что в этих главах обсуждаются именно те стороны "C", где мощь и выразитель- ность языка начинает становиться очевидной.

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

--------------- Напишите программу DETAB, которая заменяет табуляции во вводе на нужное число пробелов так, чтобы промежуток дости- гал следующей табуляционной остановки. Предположите фиксиро- ванный набор табуляционных остановок, например, через каждые N позиций.

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

---------------- Напишите программу ENTAB, которая заменяет строки пробе- лов минимальным числом табуляций и пробелов, достигая при этом тех же самых промежутков. Используйте те же табуляцион- ные остановки, как и в DETAB.

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

---------------- Напишите программу для "сгибания" длинных вводимых строк после последнего отличного от пробела символа, стоящего до столбца N ввода, где N - параметр. убедитесь, что ваша прог- рамма делает что-то разумное с очень длинными строками и в случае, когда перед указанным столбцом нет ни табуляций, ни пробелов.

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

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

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

---------------- Напишите программу проверки "C"-программы на элементар- ные синтаксические ошибки, такие как несоответствие круглых, квадратных и фигурных скобок. Не забудьте о кавычках, как одиночных, так и двойных, и о комментариях. (Эта программа весьма сложна, если вы будете писать ее для самого общего случая).



    Содержание раздела