ЗАМЕЧАНИЕ
Данное условие не относится к функциям стандартной библиотеки, которые
поставляются не в виде исходных текстов, а внутри двоичных файлов с
машинными
кодами,
обрабатываемых
специальной
программой —
компоновщиком при сборке исполняемой программы пользователя. О том, что
это заголовок системной библиотеки, говорит указание имени включаемого
файла в угловых скобках. Это показывает, что искать данный файл нужно в
предопределенных местах среди системных каталогов. Для обычных
заголовочных файлов в директиве include используется взятие имени в
кавычки.
В данном случае вставка текста из stdio.h необходима для дальнейшего
использования библиотечной функции printf, предназначенной для
вывода информации на экран компьютера. Язык Си не содержит
встроенных операторов ввода-вывода, в отличие от большинства других
языков программирования, что делает его ядро более компактным, при
этом поддержка ввода-вывода выносится в стандартные библиотечные
функции.
Следующая строка содержит заголовок основной функции программы —
main
.
Любая программа на языке Си является набором функций (в простейшем
случае набор превращается в одну — главную функцию). Термин
«функция» здесь имеет не математический, а особый, специфический
смысл. Функция определяется как модуль (часть программы), имеющий в
общем случае некоторые аргументы, записываемые в круглых скобках, и
способный возвращать некоторое значение. При этом одни функции могут
вызывать на выполнение другие. Функции могут располагаться в тексте
программы в произвольном порядке, но система определяет точку входа
(начала исполнения) программы с начала функции main.
Поэтому каждая программа на языке Си обязательно должна включать
одну (и только одну!) функцию с именем main. Остальные функции могут
иметь произвольные имена в соответствии с правилами написания
идентификаторов (имен) в языке Си (содержать латинские буквы и цифры
и знак _, не содержать в имени пробелов, начинаться с буквы и пр.).
Описание функции выглядит следующим образом:
81
<
заголовок функции>
<
тело функции>
В заголовке перед собственно названием функции пишется тип
возвращаемого ей значения. В нашем примере перед main написано
ключевое слово int — это означает, что функция возвращает целое число.
Поясним, что это за число. Поскольку функция main — главная функция
программы, то ее выход подразумевает возвращаемое программой в
операционную систему значение. При этом существует соглашение, по
которому в случае, когда программа завершается нормально — без
возникновения нештатных ситуаций, она возвращает ноль, в противном
случае — ненулевое значение.
После названия функции main идут круглые скобки без каких-либо
символов внутри них, что означает, что наша программа не обрабатывает
никаких входных значений (в случае необходимости имеется возможность
передать в программу набор некоторых значений с использованием
командной строки операционной системы).
В следующих после заголовка строках находится тело функции (так на
программистском жаргоне называется ее основной текст), в котором
содержатся операторы языка Си и вызовы других функций, то есть
действия, которые она выполняет. Тело функции ограничивается
фигурными скобками { и }. Такая пара скобок называется в языке
программирования Си операторными скобками — ее используют для
группировки любого количества операторов, обрабатываемых потом как
один оператор в конструкциях языка.
Наша функция вызывает одну стандартную библиотечную функцию
форматного (с возможностью форматирования — выравнивания и т. д.)
вывода информации на дисплей — функцию printf. Аргументом данной
функции является текстовая строка (текстовые строки в языке Си принято
заключать в двойные кавычки — " и
м). В конце строки "«Здравствуй,
мир!" присутствуют символы \n — это специальная последовательность
символов языка, означающая, что после вывода строки на экран надо
перейти к новой строке. Вообще специальные последовательности
символов в языке программирования Си, называемые иногда
управляющими, начинаются с символа \.
Обратите также внимание на то, что стандартным разделителем в тексте
программ на языке Си, разграничивающим отдельные действия внутри
функции, является точка с запятой.
Завершается функция оператором return 0. Оператор return
прекращает выполнение любой функции и возвращает в вызвавшую ее (в
нашем случае, поскольку функция главная, она вызывается из
82
операционной системы) некоторое значение в качестве результата. В
данном примере мы передаем в операционную систему ноль в качестве
свидетельства того, что функция завершилась нормальным образом.
Поскольку мы объявили функцию main как возвращающую целое
значение, необходимо вставить этот оператор в программу, хотя
завершение выполнения функции произошло бы и просто при встрече
закрывающей фигурной скобки. В противном случае при трансляции
программы мы получили бы предупреждение. Под предупреждением
понимается сообщение о неточности или наличии в программе
потенциально опасной конструкции, которая не является полностью
недопустимой, как ошибка, в случае которой трансляция завершается
неудачей, но должна привлечь внимание программиста.
Завершающая строка программы — закрывающая фигурная скобка,
указывающая на окончание функции main.
Контрольные вопросы
1.
Какова история появления языка программирования Си?
2.
В чем основные особенности языка программирования Си? Являются
ли они достоинствами или недостатками? Или достоинства -
продолжения недостатков?
3.
Почему Си называют «инструментом, острым, как бритва»? Удобно ли
использовать Си для первоначального обучения программированию?
4.
Нужно ли использовать комментарии в программах?
5.
В чем заключается назначение препроцессора языка Си? Для чего
применяется директива #define?
6.
Какова структура исходных текстов программ на языке Си. В чем
назначение директивы #include? Зачем нужны заголовочные файлы?
7.
Что такое главная функция программы? Как записывается главная
функция в Си?
8.
Что такое заголовок и тело функции?
9.
Что такое операторные скобки?
10.
Что такое компоновщик?
11.
В чем заключается функция оператора return 0? Почему передается
ноль? Зачем передается значение в операционную систему?
Основные понятия языка программирования Си
Важнейшим
понятием
языка
программирования
являются
идентификаторы. Идентификаторы используются для обозначения
83
переменных и функций. В языке Си идентификаторы представляют собой
последовательность букв латинского алфавита, символов подчеркивания и
десятичных цифр. Первым символом в идентификаторе должна быть
буква.
Достарыңызбен бөлісу: |