Задачи по языку С


Предисловие


Если судить по объему справочного руководства, C не очень "большой" язык. Это объясняется немногими ограничивающими правилами, налагаемыми на язык. Пользователи С быстро сумеют оценить его изящность, проистекающую из ясных принципов построения языка. Такая изящность может быть излишне таинственной для начинающего программиста. Отсутствие ограничений означает, что программы на С могут писаться, и пишутся, с использованием развитых форм выражений, что может показаться новичку ошибочным. Способность конструкций языка С образовывать единое целое позволяет быстро находить ясные и компактные средства для решения программистских задач.

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

Головоломки в этой книге предназначены для того, чтобы помочь читателю на втором этапе обучения языку. Они бросают вызов искусству владения читателем основными правилами языка, заводят его в "редко посещаемые закоулки" языка, подводят к граничным условиям и знакомят с немногими откровенными ловушками. (Конечно, С, как всякий язык программирования, имеет свою долю неясностей, которая познается на опыте.)

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

  • двусмысленность выражений, требующая для их интерпретации обращения к описанию языка;
  • сложность структуры; структуру данных и структуру программы нелегко удержать в голове;
  • неочевидность конструкций, возникающая при использовании их нестандартным способом.




- Начало -    - Вперед -



Книжный магазин