Некоторые оптимистичные вывод 12312p156m ы
На данном этапе мы обсудили то, что можно бы назвать традиционным ядром языка «C». Имея эту горсть строительных блоков, можно писать полезные программы весьма значительного размера, и было бы вероятно неплохой идеей, если бы вы задержались здесь на какое-то время и поступили таким образом: следующие ниже упражнения предлагают вам ряд программ несколько большей сложности, чем те, которые были приведены в этой главе.
После того, как вы овладеете этой частью «C», приступайте к чтению следующих нескольких глав. Усилия, которые вы при этом затратите, полностью окупятся, потому что в этих главах обсуждаются именно те стороны «C», где мощь и выразительность языка начинает становиться очевидной.
detab, которая заменяет табуляции во ввод 12312p156m е на нужное число пробелов так, чтобы промежуток достигал следующей табуляционной остановки. Предположите фиксированный набор табуляционных остановок, например, через каждые n
entab detab
. Напишите программу для «сгибания» длинных ввод 12312p156m имых строк после последнего отличного от пробела символа, стоящего до столбца n ввод 12312p156m а, где n - табуляций, ни пробелов.
. Напишите программу удаления из «C»-программы всех комментариев. Не забывайте аккуратно обращаться с «закавыченными» строками и символьными константами.
. Напишите программу проверки «C»-программы на элементарные синтаксические ошибки, такие как несоответствие круглых, квадратных и фигурных скобок. Не забудьте о кавычках, как одиночных, так и двойных, и о комментариях. - Эта программа весьма сложна, если вы будете писать ее для самого общего случая.
|