В данной статье мы коснемся создания программ на одном из самых популярных языках программирования — Си. Данный язык пропагандирует идеологию хорошо структурированных (разбитых на блоки) программ, в отличии, например от Assembler, в котором к тексту программы применяется выражение «макаронный код» (т.е. огромное количество безусловных переходов, делающих программу практически нечитабельной). В книгах по программированию сложилась традиция введения читателя в практику написания программ с вывода на экран слов "Hello world!"
. Что ж, не будем отступать от сложившийся привычки. Первая простая программа:
#include <stdio.h> int main() { printf("Hello world!"); return 0; }
Разберем текст программы построчно. В начале кода используется, так называемая, директива препроцессору. Формально, она не является частью языка Си, но расширяет его возможности. Итак, директива #include
заставляет компилятор подключить к программе заголовок, имя которого указано между < >
. stdio.h
— библиотека, содержащая прототипы функций, позволяющих вводить-выводить (и многое другое!) информацию на экран. int main()
— главная в теле программы функция. Выполнение программы начинается, и как правило, заканчивается именно с нее. Формально, каждая программа на С должна содержать в себе функцию main()
. int
означает тип возвращаемого значения функцией в вызывающий процесс.
Символы фигурных скобочек {
— открывающая скобка, а так же }
— закрывающая скобка, означают начало (и следовательно конец) программного блока. Программный блок в С — основная программная единица (т.е. инструкции, помещенные между началом и концом блока, либо выполняются все, либо — ни одна из них). printf("Hello world!")
— функция, выполняющая вывод на консоль, выражения, заданного между двойными кавычками ""
. Ее прототип содержится в заголовке. Огромные возможности данной функции будут продемонстрированы позднее. return 0
— заставляет функцию (в данном случае main()
) прекратить свое выполнение и передать 0 в вызывающий процесс. Идеология Си предполагает при нормальном завершении функции возвращать нулевое значение ( и не нулевое — при аварийном и др.).
P.S.: Возможно среди нас есть те, кто пользуются платформой IBM Lotus, на этом http://www.cyberforum.ru/lotus/ форуме есть разделы по программированию и администрированию платформ Lotus. Пожалуйста, заходите и задавайте свои вопросы, вам обязательно помогут.
Комментарии
Oleh
Vitek Pol
Тело программы находится в фигурных{} , а не в обычных () скобках.
CooLnuriK
яЯCooLnuriK
я учусь уже 1 с половиной года с СИ++, но мне сказали что с СИ работает быстрее. :/ Только что узнал.