Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Этапы разработки программы.
Сама по себе программа на языке С++ представляет собой текстовый файл, в котором представлены конструкции и операторы данного языка в заданном программистом порядке. В самом простом случае этот текстовый файл может содержать такую информацию: и обычно имеет расширение cpp, например, «ex1.cpp». Следующий шаг – это компиляция исходного кода. Под компиляцией понимают процесс, при котором содержимое текстового файла преобразуется в исполняемый машинный код, понимаемый процессором компьютера. Однако компилятор создает не готовую к исполнению программу, а только объектный код (файл с расширением *.obj). Этот код является промежуточным этапом при создании готовой программы. Дело в том, что создаваемая программа может содержать функции стандартных библиотек языка С++, реализации которых описаны в объектных файлах библиотек. Например, в приведенной программе используется функция printf() стандартной библиотеки «stdio.h». Это означает, что объектный файл ex1.obj будет содержать лишь инструкции по вызову данной функции, но код самой функции в нем будет отсутствовать. Для того чтобы итоговая исполняемая программа содержала все необходимые реализации функций, используется компоновщик объектных кодов. Компоновщик – это программа, которая объединяет в единый исполняемый файл объектные коды создаваемой программы, объектные коды реализаций библиотечных функций и стандартный код запуска для заданной операционной системы. В итоге и объектный файл, и исполняемый файл состоят из инструкций машинного кода. Однако объектный файл содержит только результат перевода на машинный язык текста программы, созданной программистом, а исполняемый файл – также и машинный код для используемых стандартных библиотечных подпрограмм и для кода запуска. 6.Лексемы языка С/С++. Идентификаторы. Операции. В алфавит языка C++ входят: - Буквы латинского алфавита; - Цифры (0-9); - Все специальные символы:.,;:?! *()[] {} < > = % # “ - символы управляющей последовательности. Управляющая последовательность начинается со знака обратной черты: \n – переход на новую строку \t – горизонтальная табуляция \v – вертикальная табуляция \b – возврат на одну позицию \k – перевод курсора в начало строки Из символов языка формируются лексемы– это: · Идентификаторы · Константы · Знаки операций · Ключевые слова · Разделители Идентификатор – это имя, которым обозначается некоторый объект в программе. для записи идентификаторов использ. буквы латинского алфавита, цифры и знаки подчеркивания. Идентификатор может начинаться с буквы или знака подчеркивания. Примеры записи идентификаторов: sum, n, m, c10, Beta, beta, _function, и т.д. Ошибочные идентификаторы: a+b, -omega, 9c, & b, if, int, %5. При выборе идентификатора необходимо учитывать следующее: идентификатор не должен совпадать с ключевыми языками языка и именами ф-ций из библиотеки С/С++; не рекомендуется начинать иден-тор со знака подчеркивания, т.к. этот символ в именах некоторых библиотечных ф-ций и при совпадении имен эти ф-ции будут недоступны программе. Операции в C++ Операции бывают бинарные и унарные. Бинарные состоят из двух операндов, а унарные из одного. Унарные операции: · & – операция взятия адреса. · * – операция обращения по адресу. · - – унарный минус. · + – унарный плюс. ·! – отрицание. · ++ – автоувеличение на 1. · -- – автоуменьшение на 1. · sizeof – операция вычисления размера в байтах. Бинарные операции: · + – бинарный плюс. · - – бинарный минус. · * – умножение. · / – деление (при делении двух целых чисел получается целая часть от частного). · % – получение остатка от деления. Операции присваивания: · = – присвоить операнду из левой части значение выражения из правой части. · += – присвоить операнду из левой части сумму операндов левой и правой частей. · -= – присвоить операнду из левой части разность операндов левой и правой частей. · /= – присвоение частного от деления. · %= – присвоение остатка от деления. Операции сравнения: · < – меньше. · > – больше. · < = – меньше или равно. · > = – больше или равно. · == – равно.! = – не равно. Логические бинарные операции: · & & – логическое И. || – логическое ИЛИ.
7.Лексемы языка С/С++. Ключевые слова. Константы. Из символов языка формируются лексемы– это: · Идентификаторы · Константы · Знаки операций · Ключевые слова · Разделители Ключевые слова – это имена, используемые в Си с некоторым заранее определенным смыслом. Эти слова нельзя использовать в качестве идентификаторов объектов пользователя. Ключевые слова след.: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, if, int, long, register, return, short, signet, sizeof, struct, switch, typedef, union, unsigned, void, volatile, while. В C++ появляются новые ключевые слова: catch, class, delete, friend, inline, new, template, operator, privat protected, public, try, virtual, throw, this. Константой наз. данные неизменяемые в процессе выполнения программы. В С/С++ используются след. типы констант: целые, с плавающей точкой, символьные и строковые литералы. Для константы выделяется места в оперативной памяти, но адрес размещения значения константы не известен и его нельзя получить программным путем. Целая константа - это целое число, записанное в десятичной, шестнадцатеричной или восьмеричной системе счисления. Десятичная константа - любое целое десятичное число со знаком или без него и начинающееся со значащей цифры. Восьмеричная константа - это целое число записанное в восьмеричной системе счисления и начинающееся с обязательного нуля. Шестнадцатеричная константа начинается с обязательных знаков Ох или - ОХ (нуль, х) и является записью числа в шестнадцатеричной системе. При записи длинных целых (long) констант в конец числа добавляется буква L(l), а для без знаковых (unsigned) указывается буква U (u), например: -1234567L, 543l, 0xabcdl23U, 375u. Примеры записи символьных констант: ‘А’, ‘9’, “+’, “%’, Примеры записи строковых констант: “БГУИР”, “ ЭВМ ”, “ СИ”, “ JAVA”, ”int ”. В символьных и строковых константах могут использоваться управляющие знаки. Каждая управляющая последовательность представляется как один символ. Например, при выводе на экран строковой константы “Детсад №7 \n район Советский” (функцией putsf‘'Детсад №7 \п район Советский”);) на одной строке будет выведено “Детсад №7”, а на второй - “район Советский”. Все строковые литералы рассматриваются компилятором как различные объекты. В записи вещественных констант должна быть или десятичная точка или буква е(Е) за которой следует экспонента, либо и то и другое. По умолчанию (при отсутствии суффиксов е, l, L, f, F) константа с плавающей точкой имеет тип double. Пример определения и использования констант -102-031:
|