Существует старая добрая традиция, согласно которой изучать любой язык программирования начинают с написания программы «Hello, World!» или «Здравствуй, Мир!». Эта программа выводит на экран приветствие миру и представляет собой наиболее простой и быстрый способ заставить компьютер выполнить нашу команду.
//Первая программа на Си
/* Данная програма выводит
на экран приветствие */
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
После запуска данной программы на экране монитора появится дружелюбное приветствие:
Перед тем, как продолжить чтение, вернитесь к написанной программе и попробуйте самостоятельно понять, что означают строки кода в ней.
Первая конструкция – это однострочный комментарий:
//Первая программа на Си
Однострочный комментарий определяется парой косых черточек //, которые говорят компилятору, что следующий за ними текст компилировать не нужно; действие этих черточек распространяется только на ту строку, где они расположены. Текст, расположенный между знаками /* и */, называется многострочным комментарием и также не компилируется:
/* Данная програма выводит
на экран приветствие */
Если компилятор встречает пару символов /*, то весь расположенный далее текст он воспринимает как комментарий до тех пор, пока не встретит закрывающую комбинацию */. Грамотное использование комментариев – это хороший стиль программирования. Комментарии должны облегчать понимание написанного кода для любого человека, читающего данный код. Однако и злоупотреблять комментариями не следует. В частности, если это возможно, то имена переменных и функций нужно придумывать так, чтобы комментарии не требовались. Например, вместо такого объявления переменной:
//Возраст студента
int x;
предпочтительнее использовать следующее:
int student_age;
В таком случае комментарий вообще не понадобится.
Продолжим разбор программы. Очередная строка
#include <stdio.h>
подключает библиотеку, в которой объявлена функция printf(), используемая далее. Если эту строку убрать из программы, то компилятор выдаст ошибку при обработке команды
printf("Hello, World!");
и сообщит, что функция printf() не объявлена.
Перед тем, как двигаться дальше, зададимся вопросом: «Что происходит, когда программа запускается?» А происходит вот что: одна за другой выполняются команды, расположенные в блоке
int main() {
…
}
Таким образом, main() – это начало программы на языке Си; фигурные скобки { и } являются соответственно началом и концом программы. Забегая вперед, отметим, что открывающая и закрывающая фигурные скобки используются для определения начала и конца любого блока программы: функции, цикла, условного оператора и прочих конструкций. Такой блок называется телом этих конструкций. Например, тело функции, тело условного оператора или тело цикла.
Команда
printf("Hello, World!");
выводит на экран фразу «Hello, World!». Здесь printf() – это функция, а "Hello, World!" – ее аргумент.
Наконец, команда
return 0;
завершает функцию main(), а вместе с ней и всю программу. Возвращаемое функцией main() значение называется кодом возврата и указывает на то, успешно или с ошибкой завершилась программа. Значение 0 означает успешное завершение. Обратите также внимание на то, что каждая команда должна заканчиваться точкой с запятой, иначе компилятор сообщит об ошибке. Более подробно рассмотренные конструкции изучаются в этой и последующих темах, пока же главное – получить общее представление о них и о структуре программы на языке Си.