Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Алфавит, структура программы.
Программа - это рассказ машине о тех действиях, которые ей нужно совершить. Как любой рассказ, она состоит из предложений или инструкций, записанных в некотором алфавите. Алфавит. Предложения любого языка пишутся на основе некоторого алфавита, т.е. набора символов, используемых для записи инструкций языка, которые компилятор переводит в машинный код. В С++ к алфавиту относятся все буквы латинского алфавита, цифры от 0 до 9, символы кириллицы и специальные символы, а именно все, которые есть на клавиатуре ЭВМ, в частности: ., ; : ' " ? / * + - _! @ & { } ( ) [ ] и др. Необходимо отметить, что компилятор языка С++ отличает большие и маленькие буквы латинского алфавита. Структура программы. Программа на языке C++ может состоять из одного или нескольких программных модулей (файлов), которые компилируются отдельно, а затем собираются компоновщиком в исполняемый файл. Программа состоит из операторов и комментариев. Комментарии в C++ предназначены для удобства чтения программы и содержат пояснения к тексту инструкций. Они игнорируются транслятором и обозначаются в программе следующими символами: ¨ // в любом месте строки, действителен до конца строки ¨ /* в начале комментария и */ в конце, действителен в любом месте текста Операторы языка делятся на исполняемые и неисполняемые. Неисполняемые содержат дополнительные инструкции компилятору для перевода текста в машинный код. Эти инструкции отсутствуют в exe-модуле. Исполняемые операторы непосредственно переводятся в машинный код. Операторы состоят из лексем - наименьших единиц языка, несущих смысловую нагрузку. В Си существует 6 классов лексем: идентификаторы, ключевые слова, константы, строковые константы, операции и разделители (пробелы, табуляции и некоторые другие). Основными видами операторов, определяющих структуру программы, являются: ¨ директивы препроцессора; ¨ объявления функций; ¨ описания переменных - (для хранения данных); ¨ описания (определения) функций - (описывают вычисления);
Сразу напишем пример программы. Пример 1. Программа, вычисляющая площадь треугольника: #include < iostream.h> // Директива препроцессора float pl(float a, float b); //Объявление (прототип) функции pl() // Описание функции main
{ float katet1, katet2; // описание переменных cout < < " Введите катеты (в см): "; // Инструкции, cin > > a, b; // описывающие cout < < " Площадь треугольника =" // действия < < Pl(katet1, katet2) < < " см*см\n"; } // Описание функции pl() /**** Расчет площади прямоугольного треугольника *********** ****по его катетам a и b. Возвращает площадь ********/
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, не изменяя нумерацию строк в тексте. Таким образом соответствующие прототипы появятся в тексте программы. Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 858; Нарушение авторского права страницы