Язык Си - руководство для начинающих
Шрифт:
Первый шаг заключается в использовании имеющегося у вас текстового редактора для создания файла, содержащего текст программы. Этому файлу необходимо будет присвоить какое-то имя; если вам не приходит в голову ничего оригинального, то назовите его main.с. Выполните компиляцию вашей программы. (Для этого вы должны терпеливо ознакомиться с руководством по компилятору, имеющемуся в составе вашей вычислительной системы.) Теперь запустим программу. Если все пойдет хорошо, то результат должен выглядеть следующим образом:
Мы выполним два просмотра текста программы: во время первого объясним смысл каждой строки, а во время второго — рассмотрим дополнительные вопросы и детали.
Первый
#include — включение другого файла.
Эта строка указывает компилятору, что нужно включить информацию, содержащуюся в файле stdio.h.
main — имя функции
РИС. 2.1. Структура программы, написанной на языке Си.
Любая программа, написанная на языке Си, состоит из одной или более "функций", являющихся основными модулями, из которых она собирается.
Наша программа состоит из одной функции main, и круглые скобки указывают именно на то, что main — имя функции.
/*простая программа*/ — комментарий.
Вы можете использовать пары символов /* и */ в качестве отбывающей и закрывающей скобок для комментария. Комментарии — это примечания, помогающие понять смысл программы. Они предназначены для читателя и игнорируются компилятором.
{ — начало тела функции.
Открывающая фигурная скобка отмечает начало последовательности операторов, образующих тело (или определение) функции. Конец определения отмечается закрывающей фигурной скобкой }.
int num; — оператор описания.
С помощью такого оператора мы объявляем, что будем использовать в программе переменную num, которая принимает целые (int) значения.
num =1; — оператор присваивания.
Этот оператор служит для присваивания переменной num значения 1.
printf (" Я простая"); — оператор вывода на печать.
С его помощью выводится на печать фраза, заключенная в кавычки: Я простая
printf(" вычислительная машина.\n"); — еще один оператор вывода на печать.
Этот оператор добавляет слова вычислительная машина. в конец последней печатаемой фразы. Комбинация символов \n указывает компилятору на начало новой строки.
printf ("Мое любимое число %d, потому что оно самое первое. \n", num);
Этот оператор выводит на печать значение переменной num (равное 1), содержащееся во фразе в кавычках. Символы %d указывают компилятору, где и в какой форме печатать значение этой переменной num.
} — конец. Как уже упоминалось, программа завершается закрывающей фигурной скобкой.
Второй просмотр: детали
#include < stdio.h>:
Файл с именем stdio.h является частью пакета, имеющегося в любом компиляторе языка Си и содержащего информацию о вводе-выводе (например, средства взаимодействия программы с вашим терминалом). В качестве имени файла используется
аббревиатура английских слов:standard input/оutput header — стандартный заголовок ввода-вывода.
(Программисты называют набор данных, содержащийся в начале файла, заголовком.)В некоторых случаях включение этой строки в начало программы обязательно, а в некоторых — нет. Мы не можем дать однозначную рекомендацию, поскольку ответ зависит как от программы, так и от используемой вами вычислительной системы. При работе на нашей системе вводить указанную строку в эту программу совсем не обязательно, но на системе, имеющейся у вас, она может быть необходимой. В любом случае ее использование не принесет никакого вреда. В дальнейшем мы будем указывать эту строку только тогда, когда действительно необходимо.
Возможно, вас удивляет, почему одно из основных средств языка — процедуры ввода-вывода — не включается компилятором в программу автоматически. Дело в том, что этот пакет используется далеко не всегда, а ведь одна из целей создания языка Си — получение компактного объектного кода. Между прочим, упомянутая строка не является даже оператором языка Си. Символ # указывает, что она должна быть обработана "препроцессором" языка Си. Как вы уже могли предположить из названия, препроцессор осуществляет некоторую предварительную обработку текста программы перед началом компиляции. В дальнейшем мы рассмотрим несколько примеров использования команд препроцессора.
main
Выбор имени main в качестве названия нашей программы довольно очевиден; более того, назвать ее как-то по-другому и нельзя. Дело в том, что программа, написанная на языке Си, всегда начинает выполняться с функции, называемой main, поэтому мы имеем возможность выбирать имена для всех используемых нами Функций кроме той, с которой начинается выполнение программы. Зачем здесь скобки? Как уже упоминалось, они указывают на то, что main — имя функции. Дополнительные вопросы, относящиеся к функциям, будут обсуждаться ниже. Здесь мы только повторим, что функции — это основные модули программы, написанной иа языке Си.
В круглых скобках в общем случае содержится информация, передаваемая этой функции. В нашем простом примере передача информации отсутствует и, следовательно, в скобках ничего не содержится. Заканчивая обсуждение данного вопроса, дадим вам одщ совет: при написании программы старайтесь не пропускать скобок.
Файл, содержащий программу, может иметь любое имя, правда, с тем ограничением, что оно должно удовлетворять системным соглашениям и оканчиваться символом .с. Например, вместо main.с мы могли бы выбрать имена mighty.с или silly.с.
/*простая программа*/:
Использование комментариев облегчает процесс понимания ва шей программы любым программистом (включая вас самих) Большим удобством при написании комментариев является воз можность располагать их на той же строке, что и операции, кото рые они объясняют. Длинный комментарий может помещаться на отдельной строке или даже занимать несколько строк. Все, что на ходится между символом, указывающим на начало комментария /*, и символом, указывающим на его конец */, игнорируется компилятором, поскольку он не в состоянии интерпретировав язык, отличающийся от Си.