ЯЗЫК
ПРОГРАММИРОВАНИЯ
С++
Балашиха 2010
ОСНОВНЫЕ ЭЛЕМЕНТЫ ПРОГРАММЫ
Изучаемая версия языка
Существует большое количество версий языка Си. Мы будем изучать язык Турбо Си 2.0 фирмы Borland. При желании можно пользоваться версиями Турбо С++ 3.0 или Borland C++ 3.1. Для самостоятельной работы с этим языком программирования рекомендуется книга [3], в которой рассматривается версия языка Си фирмы Borland.
Программа «Hello World»
Пример 1.1
Основные элементы рассмотрим на примере простейшей программы, предложенной ее создателем Денисом Ритчи [1]. При вводе программы необходимо точно соблюдать ее синтаксис, а именно:
– вводить программу строчными буквами;
– некоторые строки программы заканчиваются символом точка с запятой.
Листинг 1.1
/* Программа `Привет мир!` */
#include <stdio.h> /* подключение файла библиотеки */
void main(void) /* главная функция */
{ /* начало блока */
printf(“Hello world!\n”); /* вывод на экран сообщения */
|
|
} /* конец блока */
Рассмотрим основные элементы программы.
Комментарии
Комментарий начинается с символов /* и заканчивается теми же символами, идущими в обратном порядке */. Они служат для ввода пояснений в программе. Например, строка
/* главная функция */
представляет собой комментарий. При запуске программы комментарии компилятором языка игнорируются.
Обычно принято начинать программу с комментария, в котором указано назначение программы. В комментарии можно использовать любые символы, в том числе и символы русского алфавита. Каждый комментарий может занимать строку программы целиком, часть ее или несколько строк. Например, допустим следующий вариант:
/* Это
просто
строка
комментария */
Заголовочные файлы
Вначале содержательной части программы на языке Си всегда используются так называемые «директивы препроцессора», начинающиеся с символа #. В данной программе используется строка
#include <stdio.h>
которая означает, что необходимо подключить заголовочный файл «stdio.h». Это позволяет использовать в программе библиотеку стандартного ввода-вывода, а именно, в данной программе используется функция стандартного вывода данных на экран printf().
При использовании в программе функций из других библиотек для подключения последних необходимо включить соответствующий файл. В программах наиболее часто будут встречаться следующие заголовочные файлы:
stdio.h | библиотека стандартного ввода-вывода, например, для использования функций ввода с клавиатуры и вывода на экран scanf() и printf(), ввода/вывода в файл fprintf()и fscanf() |
conio.h | библиотека консольного ввода-вывода, например, для функций ввода одиночного символа getch(), конольного ввода/вывода cscanf() и cprintf(), очистки экрана clrscr(), перемещения курсора gotoxy(), изменения цвета символов textcolor() |
math.h | математическая библиотека, например, для функций sqrt(), sin(), cos(), log(), exp() |
graphics.h | графическая библиотека, например, для функций инициализации графики initgraph(), рисования графических примитивов line(), rectangle() |
При необходимости использования функций из нескольких библиотек в начале программы указываются все требуемые заголовочные файлы. Например, при использовании математических функций, функций стандартного и консольного ввода-вывода в заголовке программы записываются следующие строки:
|
|
#include <stdio.h>
#include <conio.h>
#include <math.h>
Главная функция
Листинг программы на Си содержит одну или несколько функций. Обязательным является использование главной функции – функции main(). Строка описания главной функции в приведенной программе содержит ключевое слово void. Это означает, что после окончания функции ничего не возвращается. В общем виде описание каждой функции, в том числе и функции main(), имеет следующий синтаксис (символы русского алфавита и знаки < и > используются только для пояснения):
<ТипВозвращаемогоЗначения> <ИмяФункции> (<СписокФормальныхПеременных>)
где <ТипВозвращаемогоЗначения> – результат исполнения функции, точнее тип возвращаемого значения переменной (допустимо использовать разрешенные типы, например, void, int, float и т.д.);
<ИмяФункции> – идентификатор (имя) функции;
<СписокФормальныхПеременных> – перечень типов и идентификаторов формальных переменных.
Чтобы стала понятной эта форма описания функции, приведем запись функции в естественной математической форме:
y = sin (x)
ТипВозвращаемогоЗначения ИмяФункции СписокФормальныхПеременных
В рассматриваемом примере программы «Hello World!» строка описания заголовка функции
void main(void)
означает, что имя функции main, список формальных параметров отсутствует и после ее завершения ничего не возвращается.
Начало и конец функции или блока
Любая функция на языке содержит «тело» – список операторов, которые выполняются при ее вызове. Принадлежность операторов данной функции определяется символами открывающей фигурной скобки { и закрывающей скобки }. В общем случае эти символы начала и конца блока можно использовать не только для функций, но и для операторов управления, позволяющих изменить ход исполнения программы: операторов if, switch, for, while, do-while.