Академический Документы
Профессиональный Документы
Культура Документы
Подробнее на www.DeepL.com/pro.
Логические операторы
Эти операторы используются для вычисления значения 'true' или
'false'. Истинное условие дает значение 1, в то время как ложное
условие дает значение 0.
Операторы присваивания
Аргумент, стоящий слева от присваивания (слева от знака =),
должен быть единственным значением. Помимо оператора =,
существуют и другие. Они имеют значение в соответствии со
следующей схемой:
a op= b
Это равносильно:
a = a op b
Где op - оператор, стоящий слева от знака =. Например: a *= b;
равна нотации (или сокращенной нотации, если хотите): a
= a * b;
Арифметический оператор:
* Оператор if
Это единственный оператор в C++, для которого требуется 3
аргумента.
условие ? выражение1 : выражение2
Условие всегда вычисляется в начале. Если оно истинно (
!= 0 ) это
условие равно 0, то вычисляется выражение2.
*Увеличить оператора
Он добавляет число 1 к переменной, у которой встречается этот
Загружено Karol Scisowski (55p4jtjqmg@privaterelay.appleid.com)
сравните эти способы?
-- * Аргументы функции по значению: есть формальные изменять переменные (даже локальные) вне этой функции.
переменн аргументы и текущие аргументы. Формальные аргументы - это то,
ая что функция говорит сама себе в параметрах, а текущие
переменна аргументы - это то, что мы используем в данный момент в 61.Что такое перегрузка функций.
я конкретном вызове функции. Перегрузка функций: происходит, когда в заданной области
Побитовые операторы * Передача аргументов по ссылке: (по имени), передача видимости имеется более одной функции с одинаковым именем.
cd57 аргументов по ссылке позволяет этой функции Какая из этих функций будет выполнена, зависит от количества или
cd57 Побитовые типа аргументов, с к о т о р ы м и вызывается функция.
операторы
Побитовые операторы работают отдельно с отдельными битами 62. Как определяются массивы и как они
переменных передаются в функции (примеры)?
Массив - это последовательность объектов одного типа,
*Перемещение битов влево занимающих непрерывную область в памяти. Массивы являются
Мы предполагаем, что операция происходит над переменными типа производным типом, т. е. если взять тип int, то массив будет иметь
unsigned char. тип int.
Если переменная имеет значение, Массивы передаются, предоставляя функции только адрес начала
представленное в двоичной форме: этого массива. Имя массива также является адресом его нулевого
00100100 элемента.
то результатом такой операции будет переменная << 2: определение, например, int number[20];
10010000
эта команда сдвигает биты влево на две позиции. В аргументе Что появится на экране монитора в результате
63.
теряются биты, которые окажутся не на своих местах в результате выполнения фрагмента программы .....
сдвига. справа вставляет нули на место отсутствующих битов.
Синтаксис: 64. Дайте определение и напишите, для чего используются
переменная << количество бит указатели? Указатель - это переменная (называемая переменной-
*Переместите биты вправо. указателем), которая содержит адрес первой ячейки памяти, в
Если переменная имеет значение, представленное в которой хранится другая переменная. Если переменная занимает
Мы предполагаем, что операция происходит над переменными типа более одной ячейки памяти, то указатель указывает на первую из
unsigned char двоичной формы: этих ячеек. Для каждого указателя указывается его тип. Указатель
00100100 типа int указывает на переменную типа int. Таким образом,
то результатом такой операции переменная >> 1 будет: компилятор знает, сколько ячеек в памяти занимает переменная,
00010010. начинающаяся в ячейке, на которую указывает указатель.
эта команда сдвигает биты влево на одну позицию. В аргументе Указателям присущи два оператора. Это оператор разбиения на
теряются биты, которые окажутся не на своих местах в результате части, который записывается в виде звездочки (*), и оператор
сдвига. left вставляет нули на место отсутствующих битов. выборки адреса &. Оба эти оператора являются префиксными
Синтаксис: (пишутся перед переменной) и унарными операторами.
переменная >> количество бит Использование указателей: указатели используются в различных
* Отрицание битов ситуациях, в частности, когда мы имеем дело с:
Побитовое отрицание преобразует все нули в единицы и единицы в - совершенствование работы с советами директоров
нули в переменной. Если у нас есть переменная со значением: - Функции могут изменять значение переданных им аргументов
10011010 - доступ к специальным ячейкам памяти
то его побитовое отрицание выглядит следующим образом: - резервирование областей памяти
01100101 int x=1; //объявление переменной int
Синтаксис: int *pointer; //декларация указателя на тип int
~ переменная pointer = &x; //адрес переменной в указатель
*Битное соединение *indicator = 99; //запись эквивалентна "x=99;"
Конъюнкция битов - это умножение отдельных битовUw. Первая строка представленного кода не требует пояснений, поэтому
Конъюнкция дает результат, равный единице в данной позиции, мы не будем ее подробно анализировать. Во второй строке мы
если во всех переменных в этой позиции есть единица. Если в объявили указатель на тип int, поэтому, как вы можете догадаться,
одной позиции только единица, то результат равен 0. Пример: объявление указателя выглядит следующим образом:
01101011 - переменная1 <модификатор> <тип> *имя;
11001101 - переменная2 Таким образом, простое объявление указателя на переменную
01001001 - result данного типа отличается от объявления переменной только
Работает с целочисленными наличием дополнительного символа '*' перед именем переменной.
аргументами Синтаксис:
переменная1 и переменная2 Как определяются динамические массивы?
65.
*Симметричное различие Динамические массивы - их размер может быть определен во время
Результат симметричной разности равен 1 в данной позиции выполнения.
только в том случае, если только одна переменная в этой позиции Что-то вроде этого
равна 1. В противном случае он равен 0.
01101011 - переменная1 int *t;
11001101 - переменная2 int size; cin>>size;
10100110 - result t = new int[size]; или
Работает с целочисленными int size;
аргументами Синтаксис: cin>>size; int
переменная1 ^ переменная2 t[size];
*Альтернативный бит
Результатом побитовой альтернативы является 1 в данной Приведите пример определения структуры. Как мы
66.
позиции, если хотя бы одна переменная в данной позиции равна 1. получаем доступ к компонентам структуры?
В противном случае он равен 0.
01101011 - переменная1 Структура - это тип, содержащий переменные любого типа
11001101 - переменная2 (называемые полями). Структура позволяет упаковать
11101111 - result логически связанные данные в одну область памяти, которая
Работает с целочисленными может быть отправлена как один аргумент.
аргументами Синтаксис: Структура в C++:
переменная1 | переменная2 Структуры в C++ объявляются так же, как и в C, но помимо полей они
могут содержать функции (называемые методами) и наследоваться
Что
58. такое инкрементация и декрементация от других классов и структур. Структура отличается в C++ от класса
переменной? Инкрементация/декрементация - это только предполагаемой областью видимости ее полей и методов -
добавление/вычитание единицы из переменной для класса это private, а для структур - public. Однако
#include <iostream> использование структур вместо классов не является хорошей
using namespace std; практикой программирования, так как затушевывает структуру
программы.
int main() /* объявление
{ */ struct city {
int a = 5; long population;
cout << a << endl; char* river;
cout << ++a << endl; city(long population,char * river):
//прединкрементация cout << a++ << population(population), river(strdup(river)) {}; /*конструктор*/
endl; //послеинкрементация cout << a inline char* wez_rzeke() {return river};
<< endl; ~city() {free( (void*)river );} /*деструктор*/.
вернуть 0; };
} В таких структурах доступ к первичным компонентам
Вышеупомянутая программа выведет нас на экран: о с у щ е с т в л я е т с я с помощью операций:
5 struci rect screen;
6 a1 = screen.p1.x
6 b1 = screen.p1.y;
7
Как видно из приведенных выше примеров, мы различаем 2 типа 67. Приведите пример определения класса и определения
инкрементации объекта класса.
- Так называемые пре-инкремент и пост-инкремент. Оба они
увеличивают значение переменной на 1, но между ними есть * Определение класса: Определение класса состоит из двух
разница. Так, оператор предварительной инкрементации частей: заголовка, состоящего из ключевого слова class, за
(++a) которым следует имя класса, и тела класса, разделенного парой
возвращает значение, уже увеличенное на 1 (в данном случае это фигурных скобок и заканчивающегося точкой с запятой.
будет 6), в то время как оператор post-increment класс TPunkt
(a++) {
возвращает значение переменной до процесса инкрементации };
(здесь он вернет значение 6, в то время как значение переменной *Создание объектов: Все, что было написано до сих пор,
'a' уже будет равно 7). относилось к классу, т.е. к нашему рецепту создания объекта. Сам
процесс создания объекта называется инстанцированием или
Точно так же обстоит дело с оператором декрементации - конкретизацией класса. Создание объектов происходит так же, как
преддекрементацией (--a) и постдекрементацией (a--). и создание переменных. Например.
//classname name_instance
59.Приведите примеры использования int i; //переменная типа int с именем i
операторов: sizeof, cast. TPunkt p1;//объект класса TPunkt с именем p1
* Оператор sizeof Объекты обозначаются точкой " . " или через " -> "
Оператор sizeof передает число байт, равное размеру выражения
или спецификатора типа. Он может быть в одной из двух форм: 68. Как мы можем ссылаться на компоненты класса?
sizeof (specifier_type);
sizeof expression; В самом программном коде доступ к переменным внутри класса,
* Оператор проекции которые называются полями, зависит от того, имеем ли мы дело с
Изменение типа данных: оператор приведения переменной типа класса или с указателем на этот объект:
Оператор cast используется для перехода от одного типа данных к - В случае переменной типа class доступ к полям осуществляется с
другому: (тип_данных)x; помощью
где data_type обозначает тип данных, в который должно оператор разбивки на части, который является (.)
быть преобразовано значение переменной x. object.field = value; значения полю в объекте
Например, декларация: - Если мы имеем дело с индикатором, оператор разбивки
(поплавок)5; это стрелка -> (дефис и символ
изменит целочисленную константу 5 (типа int) на константу с большинства) объект->поле = значение;
плавающей точкой 5.0 (типа float).
Класс Abstract {
public:
virtual void methodCleanVirtual() = 0; }
// наследование
общественность:
Загружено Karol Scisowski (55p4jtjqmg@privaterelay.appleid.com)
1. Запишите число 416D в
двухкубиковом,
шестнадцатикубиковом и
десятичном порядке
416 = 1A0H
2. Сколько w в
десятичной и двоичной системе -
3F3H
Преобразование в десятичную
систему: 3*16 +F*1622 +3*16(0) =
1011B
1011:2=505 остаток 1
505:2 = 252 остаток 1
252:2 = 126 отдых 0
126:2 = 63 отдых 0
63:2 = 31 отдых 1
31:2 = 15 остаток 1
15:2 = 7 отдых 1
7:2 = 3 остатка 1
3:2 = 1 остаток 1
1011D = 1111110011B