- •3. Значением символьной переменной является один символ из фиксированного набора.
- •13. Важнейшим элементом любой программы являются данные, с которыми работает программа. Под данными принято понимать информацию, представленную в виде, пригодном для использования эвм.
- •18. Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражение состоит из:
- •23. Тип указателя – тип данных для хранения адресов ячеек памяти
- •25. Подпрограмма – относительно самостоятельный именованный
- •26. Переменные, определяемые в теле любой функции (в том числе и главной), называются локальными.
13. Важнейшим элементом любой программы являются данные, с которыми работает программа. Под данными принято понимать информацию, представленную в виде, пригодном для использования эвм.
Тип данных определяет множество допустимых значений, набор операций, которые можно применять к таким значениям, и объем памяти, требуемый для одного значения данного типа.
Переменная – область оперативной памяти, выделенная программе, в которой хранится значение некоторого типа. Значение переменной может изменяться программой во время ее выполнения. У каждой переменной есть собственное имя, по которому выполняется доступ (чтение значения переменной либо запись в нее нового значения) к переменной.
Константа – область оперативной памяти, выделенная программе, в которой хранится значение некоторого типа. Значение константы, заданное ей изначально, запрещено изменять. У константы, как и у переменной, есть имя.
В C++ различают три группы типов данных: фундаментальные типы, встроенные типы и типы, определяемые пользователем. Фундаментальные типы делятся на:
1. Логический тип (bool).
2. Символьные типы (char, wchar_t).
3. Целочисленные (целые) типы (например, тип int).
4. Типы с плавающей точкой (например, double).
5. Тип void – используется для указания на отсутствие информации.
Логический, символьные и целые типы вместе называются интегральными, и к ним можно применять все арифметические и все логические операции.
Интегральные типы вместе с вещественными типами с плавающей точкой называются арифметическими, и к ним применимы все арифметические операции и обычные (непобитовые) логические операции (операции сравнения, операции: «И», «ИЛИ», «НЕ»).
Встроенные типы делятся на:
1. Типы указателей (например, int*).
2. Типы ссылок (например, double&).
3. Типы массивов (используются квадратные скобки: []).
4. Типы функций (используются круглые скобки: ()).
Типы, определяемые пользователем (пользовательские), делятся на:
1. Типы перечислений (enum) – используются для представления значений из конкретного множества.
2. Типы структур и классы (struct, union, class). Пользовательские типы позволяют формировать на базе фундаментальных и встроенных типов структуры данных (объекты) произвольной сложности.
14. Объявления и определения
Объявление – не то же, что и определение!
Определение (переменной) указывает, сколько памяти нужно выделить
позволяет задать начальное значение (инициализировать) для каждой переменной должно встречаться один, и только один раз в программе правило одного определения.
Объявление (переменной) связывает имя переменной и её тип
«намекает», что где-то еще есть определение переменной
для каждой переменной может встречаться несколько раз в программе
Инициализация — создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства в состояние готовности к использованию.
Примеры определений и объявлений
// Объявления, являющиеся определениями.
char sym; // символьная переменная
const double pi = 3.14159; // вещественная константа
// массив строк:
const char *season[] =
{ "весна", "лето", "осень", "зима" };
// структура из трех целочисленных элементов:
struct Date { int d, m, y; );
// Чистые объявления – не являются определениями.
// чистое объявление целочисл. переменной:
extern int error_number;
// чистое объявление вещественной константы:
extern const double x;
15. В информатике, ввод/вывод (I/O —input/output) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из нее).
Под консольным вводом/выводом понимается реализация инструкций ввода и вывода, осуществляемых через пользовательский интерфейс программы в виде консольного окна.
Консольный ввод в стиле языка C
Для организации ввода данных пользователем с клавиатуры используется функция scanf. Ее выполнение означает, что программа будет ожидать ввода пользователем с клавиатуры одного или более значений определенного типа.
Консольный ввод в стиле языка C
Для вывода данных с клавиатуры используется функция printf.
Принцип работы функции printf заключается в следующем. Строка вывода представляет собой набор символов, включающих обычные символы (выводятся в консольное окно как есть) и спецификации преобразования (начинаются с символа «%»). Спецификации преобразования вставляются в строку вывода в тех местах, куда при выводе строки требуется подставить какое-либо значение. Для каждой спецификации указывается тип выводимого значения.
Н-р: printf("Выводится значение дважды два: %d. ", 2*2);
16. Присваивание – операция, которая присваивает результат выражения справа от знака присваивания (« = ») переменной, имя которой указано слева от знака присваивания.
Переменная и выражение должны иметь совместимые типы, например, вещественный и целочисленный (но не наоборот). Общий вид инструкции присваивания:
Н-р: Имя_переменной = Выражение;
int x(2), y, z; // объявление трех целочисленных переменных
y = x; // значение переменной x присваивается переменной y
z = 156; // значение 156 присваивается переменной z
x = z-x*x+5*x*z+1; // значение результата выражения // присваивается переменной x.
Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения.
17. По большому счету любая программа на C++ состоит из подпрограмм и данных. Все подпрограммы в C++ называются функциями.
Любая программа на C++ в общем случае состоит из совокупности текстовых файлов, которые делятся на две группы.
Первая группа представляет собой исходные файлы (другое название – модули реализации). В них обычно находятся определения функций и данных программы. Тип расширения исходных файлов определяется реализацией (общепринятые расширения: .cpp, .cxx, .c, .cc, .C).
Вторая группа представляет собой заголовочные файлы (другое название – интерфейсные модули). Они подключаются к исходным файлам при помощи директив препроцессора и обычно содержат объявления функций и данных программы. Заголовочные файлы имеют расширение .h или .hpp (от слова header – заголовок). Заголовочные файлы также используются для подключения библиотечных функций и данных. Заголовочные файлы стандартной библиотеки не имеют расширения.
Важной особенностью этого процесса является наличие в нем препроцессора. Перед началом трансляции (компиляции) он выполняет макроподстановки в текстах исходных и заголовочных файлов, использующихся в данной программе. В результате препроцессирования получаются единицы трансляции, по одной на каждый исходный файл. По окончании успешной трансляции получаются объектные модули программы, по одному на каждую единицу трансляции. Они содержат машинные коды функций и данных программы и обычно имеют расширение .obj.
Редактор связей собирает из объектных модулей исполняемый модуль (имеет расширение .exe) и подключает к нему машинные коды библиотечных функций и данных, используемых в программе.
В ОС класса Win32 библиотеки бывают статически подключаемые (имеют расширение .lib от слова library – библиотека) и динамически подключаемые (имеют расширение .dll от словосочетания dynamic link library – динамически подключаемая библиотека).
Схема создания приложения
Выделяют следующие группы ошибок:
· синтаксические;
· ошибки компоновки;
· ошибки времени выполнения (в том числе логические ошибки)
Синтаксические ошибки возникают при несоблюдении программистом правил синтаксиса языка программирования.
Ошибки компоновки возникают вследствие различных причин, препятствующих успешной сборке исполняемого файла (.exe) из объектных модулей компоновщиком. Такими причинами, например, являются отсутствие в подключенной внешней библиотеке функции, вызываемой из некоторого модуля программы; коллизия, вызванная наличием в разных библиотеках, подключенных к программе, двух подпрограмм с одинаковыми заголовками, соответствующими одному и тому же вызову в тексте программы.
Ошибки времени выполнения возникают, как следует из их названия, во время выполнения готовой программы. Можно выделить следующие разновидности таких ошибок:
– ошибки, способные нарушить работу программы;
– ошибки, вызывающие некорректный результат работы программы.
Любая консольная программа на C++ должна в одном из своих исходных файлов содержать определение одной и только одной функции с именем main. Эта функция называется главной функцией программы. Программа начинается с выполнения этой функции и заканчивается по ее завершении.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится :
узнавать текущие значения переменных;
выяснять, по какому пути выполнялась программа.
