В данной статье мы коснемся создания программ на одном из самых популярных языках программирования — Си. Данный язык пропагандирует идеологию хорошо структурированных (разбитых на блоки) программ, в отличии, например от 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
#include (stdio.h) int main() ( printf("Hello world!"); return 0; ) и у меня ничего не получилось. Подскажите что я делаю неправильно, плизVitek Pol
Тело программы находится в фигурных{} , а не в обычных () скобках.
CooLnuriK
яЯCooLnuriK
я учусь уже 1 с половиной года с СИ++, но мне сказали что с СИ работает быстрее. :/ Только что узнал.