Общая структура программы си

Имя функции — это коллективное имя группы описаний и операторов,
заключенных в блок (фигурные скобки). За именем функции в круглых скобках указываются параметры функции.

Комментарии в языке Си

В языке Си для комментариев используются символы

/* — начало комментария;
*/ — конец комментария.

Вся последовательность, заключенная между этими символами, является комментарием.

Это удобно для написания многострочных комментариев:

Многострочные комментарии также удобно использовать при отладке для сокрытия от выполнения части кода.

Главная функция

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

Главную функцию можно записать по-разному:

Перед именем функции указывается тип возвращаемого значения. При обращении к главной функции значение возвращается операционной системе. Последняя запись не будет возвращать значения. Однако void main() — не совсем корректная запись, так как сообщает компилятору, что функция main() не возвращает никакого значения.

Язык программирования Си. Урок 1. Базовая структура программы

При этом запись int main() сообщает компилятору о возвращении целочисленного значения, которое необходимо операционной системе и сообщает ей о том, что программа завершилась корректно. Если же это значение не возвращено, то операционная система понимает, что программа завершилась в аварийном режиме.
Для возврата целочисленного значения перед завершением функции добавляется строка

Читайте также:
Не открывает антивирус программу

В фигурные скобки заключены описания и операторы.

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

Результат работы программы:

Теперь попробуем написать текст на русском языке.

При этом текст программы будет выглядеть следующим образом:

Результат работы программы:

Основы языка Си

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

Программа на языке Си состоит из набора директив препроцессора, определений функций и глобальных объектов. Директивы препроцессора управляют преобразованием текста до его компиляции. Глобальные объекты определяют используемые данные или состояние программы. А функции определяют поведение или действия программы. Простейшая программа на Си, которая была определена в прошлых темах:

Инструкции

Простейшим строительным элементом программы на Си являются инструкции (statements). Каждая инструкция выполняет определенное действие. В конце инструкций в языке Си ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции. Например:

Вызов функции printf, которая выводит на консоль строку «Hello world!» является инструкцией и завершается точкой с запятой.

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

В этом блоке кода две инструкции. Обе инструкции представляют вызов функции printf() и выводят определенную строку на консоль.

Директивы препроцессора

Директива include является директивой препроцессора. Кроме данной include есть еще ряд директив препроцессора, например, define.

Непосредственно директива «include» определяет, какие файлы надо включить в данном месте в текст программы. По умолчанию мы можем подключать стандартные файлы из каталога так называемых «заголовочных файлов», которые обычно поставляются вместе со стандартными библиотеками компилятора. И файл «stdio.h» как раз является одним из таких заголовочных файлов.

Читайте также:
Программа которая делает сканворды

Вообще сам термин «заголовочный файл» (header file) предполагает включение текста файла именно в начало или заголовок программы. Поэтому заголовочные файлы подключаются, как правило, в начале исходного кода. Кроме того, заголовочный файл должен быть подключен до вызова тех функций, которые он определяет. То есть, к примеру, файл stdio.h хранит определение функции printf, поэтому этот файл необходимо подключить до вызова функции printf.

Но в целом директивы препроцессора необязательно должны быть размещены в начале файла.

При компиляции исходного кода вначале срабатывает препроцессор, который сканирует исходный код на наличие строк, которые начинаются с символа #. Эти строки расцениваются препроцессором как директивы. И на месте этих директив происходит преобразование текста. Например, на месте директивы #include вставляется код из файла stdio.h.

Функция main

Функция также является блоком кода, поэтому ее тело обрамляется фигурными скобками, между которыми идет набор инструкций.

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

Использование этих определений не было бы ошибкой, и программа также вывела бы строку «Hello world» на консоль. И для большинства компиляторов это было бы нормально.

Далее мы подробнее рассмотрим определение функций, но здесь надо учитывать следующий аспект. Определение функции в виде int main(void) зафиксировано в стандарте языка С11. Компиляторы прежде всего ориентируются на стандарт языка, его спецификацию. Поэтому если мы используем то определение, которое дано в стандарте языка, то больше шанс, что оно будет поддерживаться всеми компиляторами. Хотя опять же повторюсь, в использовании второго варианта или int main() большой ошибки не будет.

Полностью последний стандарт C11 можно посмотреть по ссылке.

Читайте также:
Программа для настройки unifi

Похожие статьи:

  • Структура программы на языке pascal Введение Под языком программирования мы будем понимать совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера….
  • Логическая структура памяти программы ДОПОЛНЕНИЕ К ИЗУЧЕННОМУ МАТЕРИАЛУ Препроцессор и его функции Препроцессор – программа, используемая для обработки исходного текста программы на языке С…

Источник: csaa.ru

Си++ Структура программы main, params, #define

vedro-compota's picture

Функций в программе может быть много — но все они так или иначе (напр. — косвенно
-то есть одна «неглавная» функция вызывает другую) вызываются из главной.

А вот программа, которая здоровается с миром:

# include < iostream >int main ()

Строка #include дает указание компилятору включить (include) объявле-
ния средств ввода/вывода стандартной библиотеки, находящиеся в iostream.
Без этих объявлений следующая строка производящая вывод — должного эффекта не возымеет — то есть ничего на экран не выведет.

Каждое средство стандартной библиотеки становится доступным через какой-либо
стандартный заголовочный файл наподобие .

#include < string >#tinclude

ПРИМЕЧАНИЕ: вообще если отойти от первых глав учебника Страуструпа -и начать читать дальше — или просто писать программу, то можно заметить , что в функцию main передаются так называемые параметры командной строки, например:

void main(int argc, char *argv[])

Читайте о директиве #define здесь

params

что подразумевается под этим пунктом -не ясно. вполне возможно что преподаватель перепутал описание произвольного числа аргументов функции с таковым в Си#

Key Words for FKN + antitotal forum (CS VSU):

  • неофициальный форум фкн
  • ФКН ВГУ Воронеж
  • программирование Воронеж
  • ВГУ информатика
  • ВГУ компьютерных наук

Источник: fkn.ktu10.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru