Правила записи программы на языке Си
Программа на языке Си состоит из одной или более подпрограмм, называемых функциями. Каждая функция в языке Си имеет свое имя. В любой программе одна из функций обязательно имеет имя main. Имя функции — это коллективное имя группы объявлений и операторов, заключенных в фигурные скобки. За именем функции в круглых скобках указываются параметры функции.
Пример функции
/* Первая программа на Си. */ #include <stdio.h> main() { printf("\n Здравствуй,язык Си!"); } |
Результат работы программы
Здравствуй, язык Си!
Программа перед обработкой компьютером должна быть помещена в файл на диске. Обычно этот файл имеет расширение <.c>.
Рассмотрим типичную структуру файла с программой на языке Си и правила его оформления на следующем простом примере:
/* Включить описания функций стандартного ввода-вывода */
#include <stdio.h>
/* Включить описания математических функций */
#include <math.h>
/* Другие включаемые файлы */
.
.
.
/* Собственно текст программы */
void main( void ) /* заголовок главной функции */
{
float num; /* описание типов данных */
/* Исполняемые операторы -* */
num=2.345; /*Присвоим переменной num значение 2.345 */
printf("sin(%f)=%f\n", num, sin(num) ); /* Вывод на экран */
}
Любой файл начинается с директив #include, вставляющих в текст программы так называемые заголовочные файлы, которые содержат описания функций, используемых в этом файле. В нашем примере это описания стандартных функций ввода-вывода <stdio.h> и математических функций <math.h>.
Далее следует заголовок главной функции программы main, операторы описания типов данных и исполняемые операторы.
При выполнении программы, созданной на языке Си, операционная система компьютера всегда передаёт управление в программу на функцию с именем main. Обычно, хотя это не обязательно, функция main стоит первой в тексте программы. Следующие за именем функции круглые скобки играют важную роль. В них указываются параметры (аргументы), которые передаются в функцию при обращении к ней. В данном случае операционная система не передаёт в функцию main никаких параметров, поэтому список аргументов в круглых скобках пустой. В фигурные скобки { } заключены описания и операторы, которые обеспечивают вывод на экран компьютера сообщения «Здравствуй, язык Си!».
В общем случае программа содержит несколько функций. Пример программы из нескольких функций:
#директивы препроцессора main() {...}
function_1(...) {...}
function_2 (...) {...}
function_n (...) {...} |
Функция main может вызывать для выполнения любую другую функцию. Функции function_1, function_2, ..., function_n могут вызвать любую функцию, кроме функции main. Функцию main нельзя вызывать изнутри программы, она является управляющей.
Директивы #include должны всегда начинаться с новой строки, остальные же операторы программы могут иметь произвольное положение в файле вплоть до записи в одну строку. При записи не допускается разрывать слова, числа, двухсимвольные операции.
Пробелы используются для отделения слов друг от друга и для придания тексту большей выразительности и могут использоваться везде, за исключением случаев, описанных в предыдущем абзаце. Там, где допускается один пробел, можно поставить любое их количество.
В любом месте программы, там, где может стоять пробел, допускается записывать комментарии.
/* Это комментарий */
// Это тоже комментарии.
Пара символов //, отмечающих начало однострочного комментария, при выполнении программы игнорируется текст до конца строки, начиная с этих символов.
Комментарии должны помогать понять смысл выполняемых программой действий и являются обязательной ее частью. При написании комментариев следует придерживаться ряда простых истин:
программы читаются людьми, компьютеру комментарии не нужны;
всегда необходимы вводные комментарии, в которых указывается назначение программы, ее автор, дата написания и изменения, краткое описание алгоритма, входных и выходных данных, основных переменных и вызываемых функций;
комментарии должны содержать дополнительную информацию, а не перефразировать программу;
комментарии должны быть расположены так, чтобы программа не была менее наглядной;
неправильные комментарии хуже, чем их отсутствие.
Стиль программирования, расположение операторов в строках, использование пробелов, выбор имен переменных и т.д. должны быть направлены на то, чтобы сделать программу более понятной людям, ее читающим.