Алфавит, структура программы.
Программа - это рассказ машине о тех действиях, которые ей нужно совершить. Как любой рассказ, она состоит из предложений или инструкций, записанных в некотором алфавите.
Алфавит.
Предложения любого языка пишутся на основе некоторого алфавита, т.е. набора символов, используемых для записи инструкций языка, которые компилятор переводит в машинный код. В С++ к алфавиту относятся все буквы латинского алфавита, цифры от 0 до 9, символы кириллицы и специальные символы, а именно все, которые есть на клавиатуре ЭВМ, в частности: . , ; : ' " ? / * + - _ ! @ & { } ( ) [ ] и др. Необходимо отметить, что компилятор языка С++ отличает большие и маленькие буквы латинского алфавита.
Структура программы.
Программа на языке C++ может состоять из одного или нескольких программных модулей (файлов), которые компилируются отдельно, а затем собираются компоновщиком в исполняемый файл. Программа состоит из операторов и комментариев.
Комментарии в C++ предназначены для удобства чтения программы и содержат пояснения к тексту инструкций. Они игнорируются транслятором и обозначаются в программе следующими символами:
¨ // в любом месте строки, действителен до конца строки
¨ /* в начале комментария и */ в конце, действителен в любом месте текста
Операторы языка делятся на исполняемые и неисполняемые. Неисполняемые содержат дополнительные инструкции компилятору для перевода текста в машинный код. Эти инструкции отсутствуют в exe-модуле. Исполняемые операторы непосредственно переводятся в машинный код.
Операторы состоят из лексем - наименьших единиц языка, несущих смысловую нагрузку. В Си существует 6 классов лексем: идентификаторы, ключевые слова, константы, строковые константы, операции и разделители (пробелы, табуляции и некоторые другие).
Основными видами операторов, определяющих структуру программы, являются:
¨ директивы препроцессора;
¨ объявления функций;
¨ описания переменных - (для хранения данных);
¨ описания (определения) функций - (описывают вычисления);
Сразу напишем пример программы.
Пример 1. Программа, вычисляющая площадь треугольника:
#include <iostream.h>// Директива препроцессора
float pl(float a, float b);//Объявление (прототип) функции pl()
// Описание функции main
void main() // Заголовок описания функции main
{
float katet1,katet2;// описание переменных
cout <<"Введите катеты (в см): "; // Инструкции,
cin >> a,b;// описывающие
cout <<"Площадь треугольника ="// действия
<< Pl(katet1,katet2) <<"см*см\n";
}
// Описание функции pl()
/**** Расчет площади прямоугольного треугольника ***********
****по его катетам a и b . Возвращает площадь ********/
float pl(float a, float b)// Заголовок описания функции pl()
{
float s;// объявление переменной s
s=a*b/2;// Инструкции,
return s;// описывающие
}// действия
Рассмотрим указанные выше типы операторов.
Препроцессор - программа, которая выполняется до компиляции. Она читает текст программы, преобразует его и выдает компилятору. Директивы препроцессора предназначены для того, чтобы писать более читаемые исходные тексты без потери эффективности.
Описания (или определения, definition) функций следуют одно за другим в произвольном порядке и имеют вид (синтаксис)
Тип имя([список параметров])-заголовок
{
описания переменных (переменные хранят значения)
исполняемые операторы (инструкции,
описывающие действия)
}
(квадратные скобки в наших правилах записи операторов, т.е. в синтаксисе, будут означать необязательные параметры).
Имя (идентификатор) - последовательность латинских букв и цифр, начинающихся с буквы, символ "_" - тоже буква. Строчные и прописные буквы различаются. Длина имени - не больше 32 символов.
Имена функциям дает программист, однако одна из них должна иметь имя main(), поскольку именно с нее всегда начинается выполнение программы. В примере описаны 2 функции - main() и pl(). Выполнение начинается с функции main(), из которой вызывается функция pl().
Тип указывает на тип вычисляемого (возвращаемого) функцией значения. Если функция ничего не возвращает, то в качестве типа пишется слово void.
Любая функция должна быть описана до обращения к ней (до вызова), чтобы компилятор мог понять, правильно ли это обращение. Если описание указано после обращения, в начале программы (до функции main() ) должен быть указано объявление этой функции (прототип, declaration) в виде ее заголовка с ";" в конце.
Для стандартных функций прототипы уже имеются в специальных header-файлах, которые поставляются вместе с другими файлами пакета Си++ и имеют расширение ".h". Чтобы не указывать самостоятельно прототипы используемых стандартных функций, можно с помощью директивы препроцессора #includeвключить этот файл в текст программы. Например, прототипы стандартных потоков ввода и вывода cin и cout находятся в файле iostream.h. При выполнении директивы
#include <iostream.h>
препроцессор вставит на место этой строки содержимое файла iostream.h, не изменяя нумерацию строк в тексте. Таким образом соответствующие прототипы появятся в тексте программы.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|