Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Этапы разработки программы.






Сама по себе программа на языке С++ представляет собой текстовый файл, в котором представлены конструкции и операторы данного языка в заданном программистом порядке. В самом простом случае этот текстовый файл может содержать такую информацию:
Листинг 1.1. Пример простой программы.
/* Пример простой программы*/
#include
int main()
{
printf(“Hello World! ”);
return 0;
}

и обычно имеет расширение 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:

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.