Что нужно, чтобы писать программы — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Что нужно, чтобы писать программы



Чтобы написать программу на Си или Си++, необходимы редактор, компилятор и компоновщик.

Для создания исходного файла с текстом программы наряду со специальным редактором можно использовать привычный текстовый процессор, однако необходимо сохранять только неформатированный текст путем записи файла в формате ASCII или DOS TEXT. Большинство текстовых процессоров обладают соответствующими возможностями.

Однако при серьезной длительной работе лучше использовать специальные редакторы, предназначенные для программистов, так как они автоматически сохраняют текстовые файлы без символов формата, что позволяет уменьшить затраты времени. Кроме того, некоторые редакторы позволяют вводить конструкции языка Си путем набора типичных аббревиатур или нажатием специальных комбинаций клавиш.

Компилятор всегда снабжается компоновщиком программ и набором библиотек. Все наборы библиотек языка Си содержат основные функции Си, которые вы изучите, читая эту книгу, однако не все библиотеки одинаковы. Многие из них включают сложные функции для организации баз данных, а также графических, коммуникационных и других приложений. При выборе компилятора для работы поинтересуйтесь, содержит ли он необходимые вам функции*.

Кроме того, существуют дополнительные средства, позволяющие рационализировать процесс программирования. Отладчик (debugger) позволяет находить ошибки выполнения в исполняемом файле. Он показывает значения переменных и имена функций, которые выполняются по мере работы программы. Наблюдая за его действиями, вы можете определить, где имеет место ошибка. Профайлер (profiler) помогает оптимизировать программу по скорости выполнения отдельных выполняемых модулей. Ассемблер (assembler) позволяет добавлять функции, написанные непосредственно на языке ассемблера, если существует необходимость, чтобы программа выполнялась максимально быстро.

Многие компиляторы языка Си представлены в виде интегрированной среды (IDE). Интегрированная среда предоставляет возможность, запустив одну программу, получать доступ к редактору, компилятору, компоновщику и другим вспомогательным средствам путем выбора соответствующих пунктов меню. Для сравнения: если вы не используете интегрированную среду, то сперва надо запустить редактор, ввести текст программы, затем сохранить файл и выйти из редактора, после чего можно запускать компилятор.

Си/Си++ и ваше будущее

В настоящее время создается впечатление, что возможности программиста, владеющего языком Си, безграничны. Это наиболее популярный язык системного программирования и крупномасштабных разработок. Разумеется, Си не является единственным применяемым на сегодняшний день языком программирования, просто он пользуется наибольшей популярностью.



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

<> Вопросы
  1. В чем состоит различие между компилятором и интерпретатором?
  2. Различаются ли между собой компиляторы языка Си?
  3. В чем отличие языка ассемблера от языков высокого уровня?
  4. Что такое исходный файл с текстом программы?
  5. В чем различие ошибок компиляции и ошибок выполнения?
  6. В чем преимущества языка Си? Объясните.
  7. Какова последовательность этапов создания программы?

 

<> Упражнения
  1. Составьте детальный план программы для расчета заработной платы и оплаты сверхурочных на основе количества отработанных в неделю часов.
  2. Составьте детальный план программы, которая определяет, имеет ли право данная персона уйти на пенсию (пенсионный возраст — 65 лет).

_____________________

* Все приведенные в книге примеры могут быть собраны с помощью любого компилятора, поддерживающего стандарт ANSI Си. В том числе, с помощью широко распространенных в нашей стране компиляторов фирмы Borland, начиная с версии Borland C 1.0 и выше. (Прим.перев.)


ГЛАВА 2. ВВЕДЕНИЕ В СИ/СИ++

Если, имея перед глазами только исходный текстовый файл, вы попытаетесь определить, что именно делает программа, то в первый момент будете обескуражены. Хотя большинство ключевых слов языка Си представляют собой простые английские слова (например, for) и большинство функций также обычно представлены словами или аббревиатурами (например scanf, от английского scan format) при комбинировании ключевых слов и функций с синтаксисом (знаками пунктуации и пробелами), характерным для языка Си, получается программа, которая зачастую выглядит написанной совершенно не по-человечески. Не удивительно, что программисты называют этот текст «кодом». Пусть подобные трудности не пугают вас — как только вы получше познакомитесь с языком, то сможете читать программу в кодах Си так же легко, как приключенческий роман.



В этой главе вы познакомитесь со структурой языка Си и с некоторыми основными понятиями программирования.

Замечания по Си++
Си и Си++ имеют сходную структуру. Научившись писать программу на языке Си, вы сумеете писать и на Си++.

 

Структура программы

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

Все программы на Си (и Си++) должны начинаться с функции, называемой main(). Она выглядит так:

main()

Круглые скобки являются частью имени функции и ставить их надо обязательно, так как именно они указывают компилятору, что имеется в виду функция, а не просто английское слово main. В противном случае компиляция не будет завершена. Фактически каждая функция включает в свое имя круглые скобки, но в большинстве случаев в них содержится некая информация. В дальнейшем в тексте книги, ссылаясь на функцию, мы всегда будем ставить после ее имени круглые скобки.

Следом за main() вводятся инструкции. Инструкции могут быть представлены в виде стандартных команд и имен функций, содержащихся в библиотеках или написанных вами самостоятельно.

Прямая, или открывающая фигурная скобка ({) помещается перед первой инструкцией, а обратная, или закрывающая фигурная скобка (}) следует за последней инструкцией*. Таким образом, простейшая структура программы, написанной на языке Си, такова:

main() Функция, означающая начало программы — точку входа{ Здесь начинается функция………………......;...........................; Здесь помещаются инструкции, которые должен выполнить компьютер………………….....;} Здесь функция заканчивается


Рис. 2.1. Структура программы на Си/Си++

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

При запуске программы компьютер начинает ее выполнение с первой инструкции функции main(). Ниже приведена завершенная программа на Си/Си++, которая выводит на экран монитора слово «OK»:

main() { puts("OK"); }

______________________________

* Последовательность инструкций, составляющих функцию, часто называют телом функции. (Прим.перев.)

Эта программа содержит всего одну инструкцию, которая, тем не менее, задана в строгом соответствии с правилами языка Си. Кавычки, отмечающие слово внутри круглых скобок не выводятся на экран. В языке Си они означают, что на экран следует вывести заключенную в них последовательность символов, а не константу или переменную, имеющую имя OK (о том, что такое константы и переменные вы узнаете в главе 3). Рис.2.1 иллюстрирует работу каждой части этой простой программы.

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

main() { puts("У меня все в порядке"); puts("А у тебя?"); }

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

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

Си и Си++ являются языками свободного формата. Это означает, что для них не имеет значения, где будут помещены ограничители и начало строки. С таким же успехом можно написать программу следующим образом:

main(){puts("OK");}

и компилятор обработает ее так же, как и предыдущую. Но для того, чтобы сделать программу более читабельной, принято следовать определенным правилам:

  • помещать функцию main() на отдельной строке;
  • помещать фигурные скобки на отдельных строках;
  • создавать в тексте программы отступы с помощью табуляции. Когда ваша программа станет достаточно длинной, вы увидите, что с помощью отступов можно сделать более понятной структуру программы и выделить логические единицы.
Некоторые компиляторы выполняют функцию puts() без автоматического перевода строки. Дополнительную информацию можно найти в главе 4.

 

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

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






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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...





© cyberpedia.su 2017 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.009 с.