Первая программа на Си

Стало традицией, что в книгах, посвященных различным языкам программирования, в качестве самой первой приводится программа, выводящая на экран фразу: «Hello world!» («Привет, Мир!»). Ниже приведен текст такой программы на языке Си (листинг 1).

Листинг 1. Первая программа на Си

/* hello.c - первая программа на Си. */ #include <stdio.h> #include <conio.h> void main() { clrscr(); printf(“\n\nHello world!\n”); }

Первая строка программы

/* hello.c - первая программа на Си. */

является комментарием и игнорируется компилятором языка Си. Комментарии начинаются с пары символов /* и заканчиваются парой символов */ и могут быть многострочными.

Две директивы #include (include – включать в себя) в начале программы являются указанием компилятору подставить на их место текст из файлов stdio.h и conio.h (standard input-output – стандартный ввод-вывод, console input-output – консольный ввод‑вывод). Эти подставляемые файлы содержат описания интерфейсов с функциями, включенными в две важные и широко используемые библиотеки. В эти библиотеки включены функции и макросы, обеспечивающие выполнение стандартных действий по вводу-выводу. Как видно из приведенной программы, функции управления вводом‑выводом вынесены из языка Си. Для осуществления операций ввода‑вывода программист может использовать библиотеки, поставляемые фирмами-изготовителями программного обеспечения, либо создавать такие библиотеки самостоятельно и пользоваться ими.

Строка исходного текста

void main()

описывает функцию main (main – главный), возвращающую пустое значение (void – пустой), или, иными словами, не возвращающую никакого значения, т.е., по аналогии с другими языками программирования, являющуюся процедурой. По требованиям Си функция main должна присутствовать в каждой программе, и она всегда предваряет исполнительную часть первого блока текста программы. Код, задающий тело функции main, заключается в фигурные скобки { и } ­– аналог ключевых слов begin и end в других языках программирования, например Паскале (begin – начало, end – конец).

Оператор clrscr() производит вызов функции, осуществляющей очистку экрана (clear screen – очистить экран). Курсор после очистки экрана переводится в первую позицию первой (верхней) строки экрана.

Оператор printf(“\n\nHello world!\n”) выводит строку «Hello world!» на экран (print – печатать). Последовательность управляющих символов в начале \n\n переводит курсор на экране дисплея на две строки вниз перед выводом строки символов, а заключительная \n на одну строку вниз после вывода.

Рисунок 15. Результат выполнения программы hello.c

Внимание! В отличие от Паскаля все ключевые слова языка Си, а также имена переменных, функций и т.д. чувствительны к регистру символов. Например, слова: include, void, main, clrscr, printf записаны правильно; Include, VOID, Main, ClrScr, printF записаны неправильно и приведут к ошибкам в программе. Кроме этого, наиболее типичными ошибками при наборе текста программ являются пропуск или запись лишних: − символов комментария; − скобок (угловых, круглых, фигурных); − кавычек; − точек с запятой.

Поскольку программы на языке Си можно писать в свободном формате, то для обозначения конца каждого оператора требуется ставить специальный разделитель – точку с запятой. Компилятор языка Си не разбирается в стилях написания программ. Способы оформления программы служат для облегчения понимания программы человеком, поскольку программы в большей степени ориентированы на человека, чем на компилятор. Хорошее оформление программы способствует ее легкому чтению и понимания. Ниже (листинг 2) представлена та же самая программа, но при ее наборе не применялось форматирование. Компилятор легко понимает эту программу и результат ее выполнения такой же, как у исходного варианта, а вот чтение и понимание ее программистом вызывает значительные трудности. Программист должен чувствовать удовлетворение от вида хорошо оформленной программы и стремиться создавать именно такие программы.

Листинг 2. Пример текста программы на Си без форматирования

/* hello.c - первая программа на Си. */ #include <stdio.h> #include <conio.h> void main() {clrscr(); printf(“\n\nHello world!\n”);}

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: