- •1 Билет.
- •2 Билет.
- •3 Билет.
- •4 Билет.
- •5 Билет.
- •6 Билет. Способы описания языков программирования: бнф-нотации, синтаксические диаграммы.
- •7 Билет.
- •8 Билет. Переменные, область действия, время жизни, класс памяти.
- •10 Билет.
- •19 Билет. Ввод/вывод данных на c.
- •21 Билет. Производные типы данных, массивы, работа с массивами.
- •26 Билет. Файлы прямого и последовательного доступа к данным. Форматизированный и неформатизированный ввод/вывод.
- •28 Билет. Понятие подпрограммы, назначение подпрограммы, использование подпрограмм.
- •30 Билет. Передача параметров в подпрограмму. Параметры входные и выходные, параметры передаваемые по значению и по адресу.
- •1) По значению.
- •2) По адресу.
- •31 Вопрос. Использование подпрограмм. Параметры формальные, локальные, глобальные, обращение к подпрограммам, фактические параметры.
- •32 Билет. Передача параметров-массивов в подпрограмму. Примеры.
- •33 Билет. Передача параметров-функций в подпрограмму.
- •34 Билет. Рекурсивные функции. Примеры.
- •35 Билет. Понятие структурного программирования, этап проектирования - композиция и декомпозиция, понятие статической и динамической структуры программы, спецификация программы.
- •36 Билет. Понятие частичной и полной корректности программы, правила вывода - общий вид, правила консеквенции.
- •2 Способа создания динамической переменной:
- •42. Понятие линейного связного списка, типы списков, представление стека с помощью массива, пример использования стека.
- •43. Использование динамических переменных для представления и работы со стеком.
- •44. Очередь, реализация очереди массивом.
- •45. Очередь, представление и реализация основных операций с помощью динамических переменных.
- •46. Реализация основных операций со списком: добавление, удаление, поиск.
- •47. Деревья, основные операции над деревьями, представление дерева массивом.
- •48. Двусвязные линейные списки, построение и обход бинарного дерева.
- •49. Операции поиска и удаления в бинарном дереве.
8 Билет. Переменные, область действия, время жизни, класс памяти.
Объект данных - контейнер, где хранится информация.
Характеризуется атрибутами, определ. типы значений и логической организации этих значений. ??????????
Одни объекты создаются сначала и до конца выполнения программы, другие в процессе выполнения программы могут уничтожаться, это значит, что у каждого объекта данных есть время жизни.
Объект простой если содержащаяся в нем информация используется как единое целое, хотя значение может изменяться в течении программы.
Если же объект содержит наборы данных различного типа ( например совокупность простых), то называем его структурой.
Переменная - это объект данных, имеющий тип и значение, который может изменяться в течение выполнения программы.
Класс памяти определяет время жизни и области видимости идентификатора. Если класс памяти явно не указан то он определяется по умолчанию в зависимости от описания ( местоположения ) индикатора.
Время жизни - может быть на всё выполнение программы, на выполнение какого-то блока или до удаления этого индикатора.
9 Билет. Операции в С/C++, выражения, порядок вычисления выражений.
Инкремент ++ и декремент -- это унарные операции, первая увеличивает а вторая уменьшает на единицу значение операнда. Имеют две формы: префиксную ++/-- перед операндом или постфиксную ++/-- после операнда.
Операция sizeof - определение размера операнда в байтах.
Операция отрицания: унарный (-), логическое отрицание (!). Операндом для (!) может быть величина целого, вещественного типа или указатель.
Бинарные операции
Умножение(*) деление (/) ( для целых операндов целый результат)
Остаток от деления (%) - только для целых операндов.
(+) (-) стандартные операции.
Операции отношения ( <, <=, ==,!=, >> ). Операции (== )и( !==) имеют меньший приоритет. Результатом является истина или ложь.
Битовые операции - поразрядные логические операции.
Битовое отрицание (~), битовая и (&) битовое или (|) и битовое исключающее или (^).
Арифметический логический сдвиг влево и вправо (<<;>>). Для знаковых чисел сдвиг называется африфметическим и отличается от логического тем, что при сдвиге вправо освобождающийся левый разряд заполняется знаками, а при логич - 0.
Сдвиг вправо на n разрядов - деление на .
Сдвиг - влево на n разрядов - умножение на .
Логические операции && и ||.
Условные операции (:?) это тернарные операции, т.е. имеющие 3 операнда.
Общий вид <операнд1>?<операнд2>:<операнд3>
Операции с присваиванием:(*=), /=, %=, +=, -=, >>=. &>, ^=, |= обозначают соответствующие операции с присваиванием.
выражение ;
if ( выражение ) оператор
if ( выражение ) оператор else оператор
while (выражение) оператор
do оператор while ( выражение );
for ( выражение opt ; выражение opt ; выражение opt )
оператор
switch (выражение ) оператор
case константное выражение : оператор
default : оператор
break;
continue;
return выражение opt ;
goto идентификатор ;
идентификатор : оператор
delete выражение ;
asm (строка) ;
Выражения.
Выражения - простые и составные
Простое выражение -это константа, переменная, обращение к функции, выражение в скобках.
Составное выражение - это простые выражения, объединенные знаками операции.
Выражения бывают арифметические, логические и текстовые.
Выражения вычисляются в соответствии с приоритетами операций и изменить порядок вычисления выражений можно с помощью ( ) . Если в одном выражении идут подряд операции одного приоритета, то унарные операции, операции присваивания выполняются справа налево, остальные - слева направо, кроме того, порядок выполнения подвыражений не определен. Если в выражении используются операнды различного диапазона или различного типа, то они приводятся к более широкому диапазону, а в операторах присваивания тип выражения преобразуется к типу переменной, стоящей слева.