- •2)Этапы изготовления загрузочного модуля.
- •4)Типы данных.
- •5)Описание типов переменных и именованных констант.
- •6) Классы памяти, область действия, область видимости, время жизни переменных
- •7) Уточнение типа константы (литерала).
- •8)Выражения. Арифметические операции, операции отношения.
- •12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
- •Int main(){ // или просто main()
- •14) Форматный ввод-вывод. Функции ввода и вывода;
- •15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).
- •16) Оператор- выражение. Примеры использования.
- •17) Оператор безусловного перехода. Примеры использования.
- •18) Операторы условного перехода: switch. Примеры использования.
- •19) Операторы условного перехода: if. Примеры использования.
- •20) Операторы цикла: while, do while. Примеры использования.
- •21)Операторы цикла: for. Примеры использования
- •22)Внутреннее представление целых данных.
- •23) Внутреннее представление данных с плавающей точкой
- •24) Другие операторы: break, continue, return. Примеры использования
- •25) Понятие указателя. Виды указателей. Их описание
- •26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.
- •27) Инициализация указателей.
- •28) Одномерные массивы. Описание массивов, их инициализация.
- •29) Связь одномерных массивов с указателями. Динамическое выделение памяти для одномерных массивов.
- •30) Одномерные массивы. Описание массивов, их инициализация.
- •31) Связь двумерных массивов с указателями. Динамическое выделение памяти для двумерных массивов.
- •32) Функции пользователя. Прототипы функций (объявление функций). Структура функции пользователя. Вызов функции. Виды функций.
- •33) Функции пользователя. Способы передачи информации между функциями.
- •34) Функции пользователя. Механизм передачи аргументов в функцию. Передача аргументов функции: передача значений, передача адресов. Возврат результатов из функции.
- •35) Соответствие между фактическими и формальными аргументами. Использование указателей в качестве аргументов. Возврат результатов из функции.
- •36) Понятие ссылки, ее описание. Использование ссылок для передачи аргументов в функцию и обратно.
- •37) Виды функций. Функции с переменным числом аргументов.
- •38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
- •39) Виды функций. Рекурсивные функции.
- •40) Виды функций. Перегруженные функции.
- •41) Виды функций. Шаблоны функций.
- •Inline - функция
- •42) Передача аргументов функции main(). Возврат из функции main().
- •43) Описание строк и символов. Функции ввода-вывода символов и строк.
- •44) Действия над строками и символами.
- •46.Использование указателей на строки. Выделение памяти под строку и под массив строк.
- •47.Типы данных, задаваемые пользователем. Оператор typedef. Перечислимый тип
- •48.Структурированный тип данных: структуры, их описание, доступ к полям структуры, вложенные структуры, указатель на структуру, массивы структур
- •49.Разновидности структуры: битовые поля, смеси (объединения). Использование их для построения сложных структур.
- •50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.
- •51.Файлы в с. Потоковый обмен: блоковый, форматный.
- •53.Объекты и классы. Описание классов. Объявление объектов.
- •2 Способа вызова:
- •54Указатель this.
- •55.Конструкторы и деструкторы. Их назначение. Виды конструкторов.
- •61) Наследование. Производный класс. Конструкторы и деструкторы производных классов.
- •62) Множественное наследование.
7) Уточнение типа константы (литерала).
Константы
– неизменяемые величины. Различают целые, вещественные, символьные и строковые константы. Тип константы определяется её записью.
Целая константа может быть записана в 8-, 10-, 16-ричном формате. В 10-ричном формате константы начинаются не с нуля (8, 10, 0, 7, 15 и т.д.). В 8-ричном формате константа начинается с нуля, далее следуют 8-ричные цифры (01, 07, 0701 и т.д.). В 16-ричном формате константа начинается с OX (OXA, OX777, OX1 и т.д.).
Вещественная константа может быть записана в следующем виде:
[цифры].[цифры]
Например: 2.2 или .01 и т.д.
или в экспоненциальной форме
Записывается в виде:
[цифры][.][ цифры]{E|e}[+|-][ цифры]
Примеры записи:
0.2E5 .1e-5 10E5
Символьная константа – один или более символов в апострофах. Примеры:
`A’ `\h’ `\0’ `OX17’ и др.
Строковые константы – последовательность символов, взятых в кавычки.
Примеры:
“Привет”
8)Выражения. Арифметические операции, операции отношения.
Операции
Арифметические операции:
- (унарный минус), +(унарный плюс),
+ (сложение), - (вычитание),
/ (деление), * (умножение),
% (остаток от деления целых величин),
++ (увеличение значения переменной на 1),
-- (уменьшение значения переменной на 1).
Унарный минус изменяет знак операнда целого или вещественного типа на противоположный.
Операция деления применима к операндам арифметического типа. Если оба операнда целочисленные, результат операции округляется до целого числа, в противном случае тип результата определяется правилами преобразования ().
Операция определения остатка от деления применяется только к целочисленным операндам.
Операции увеличения и уменьшения на 1 (++ и --). Эти операции, называемые также инкрементом и декрементом, имеют две формы записи-- префиксную, когда операция записывается перед операндом, и постфиксную. В префиксной форме сначала изменяется операнд, а затем его значение становится результирующим значением выражения, а в постфиксной форме значением выражения является исходное значение операнда, после чего он изменяется.
++a или a++
Операции отношения (сравнения):
< <= > >= == !=
сравнивают первый операнд со вторым.
Операнды могут быть арифметического типа или указателями. Результатом
операции является значение true или false (любое значение, не равное нулю, интерпретируется как true). Операции сравнения на равенство и неравенство имеют меньший приоритет, чем остальные операции сравнения.
Пример
x=A>B;
Если сравнение верное, то значение результата выражения = 1, иначе 0
9) Операции в С/С++: логические операции, операция условие.
Операции логические
&& - логическое умножение (and)
|| - логическое сложение (or)
! - отрицание (not)
Операнды логических операций могут иметь арифметический тип или быть указателями, при этом операнды в каждой операции могут быть различных типов. Преобразования типов не производятся, каждый операнд оценивается с точки зрения его эквивалентности нулю (операнд, равный нулю, рассматривается как false, не равный нулю — как true).
Результатом логической операции является true или false. Результат операции логическое И имеет значение true только если оба операнда имеют значение true. Результат операции логическое ИЛИ имеет значение true, если хотя бы один из операндов имеет значение true. Логические операции выполняются слева направо.
Если значения первого операнда достаточно, чтобы определить результат
операции, второй операнд не вычисляется.
Выполнение операций
x=a && b; Если а!=0 и b!=0, то х=1, иначе х=0
x=a || b; Если а=0 и b!=0 или a!=0 и b=0 или a!=0 и b!=0, то х=1, иначе x=0
x=!a; Если a!=0, то x=0, иначе x=1
где 0 – false; 1- true
Условная операция ?:
Эта операция тернарная, то есть имеет три операнда.
Ее формат:
операнд1 ? операнд2 : операнд3
Первый операнд может иметь арифметический тип или быть указателем. Он оценивается с точки зрения его эквивалентности нулю (операнд, равный нулю, рассматривается как false, не равный пулю — как true). Если результат вычисления операнда 1 равен true, то результатом условной операции будет значение второго операнда, иначе — третьего операнда. Вычисляется всегда либо второй операнд, либо третий. Их тип может различаться.
Формат записи можно представить и так:
(условие) ? (выражение1 при истине условия) : (выражение2, если условие ложь)
Примеры:
z = x > y ? sin(x)/(x*x+1) : cos(x+y);
z =
f = x < 10 ? x +1 : (x < 20 ? exp(x) : sin(x));
f =
10) Операции в С/С++: Поразрядные (побитовые) логические операции и операции сдвига.
Операции поразрядно-логические
& и
| или
~ инверсия
^ исключающее ИЛИ
Применяются только к целочисленным операндам и работают с их двоичными представлениями. При выполнении операций операнды сопоставляются побитово (первый бит первого операнда с первым битом
второго, второй бит первого операнда со вторым битом второго, и т д.).
В таблице приведено выполнение операций
А |
B |
A&b |
A|B |
~A |
A^b |
0 0 1 1 |
0 1 0 1 |
0 0 0 1 |
0 1 1 1 |
1 1 0 0 |
0 1 1 0 |
Примеры:
А=1110 В=1410
А=138 В=168
А=…0010112 В=…0011102
_______
К=а&b=…0010102=128=1010
К=a|b=…0011112=178=1510
К=~a=11111111111101002
Используются для быстрого выделения остатка от деления целых беззнаковых чисел на числа кратные 2, а так же для выделения одного или нескольких битов.
К=а&0х01;
Для определения остатка используется операция ‘и’ и следующие маски.
На 2 |
0x01 |
На 4 |
0x03 |
На 8 |
0x07 |
d = a & 0x01
Операции сдвига:
Сдвиг влево, обозначается двумя знаками <<. Производится сдвиг влево операнда, стоящего слева от знака операции на количество разрядов, заданных операндом, стоящим справа.
Сдвиг вправо, обозначается двумя знаками >>. Осуществляется сдвиг операнда, стоящего слева, вправо на количество разрядов, заданных операндом, стоящим справа.
a = b << c
b = 1101 a = 110100
c = 2
a = b >> с a = 0011
Сдвиг влево на 1, 2, 3 и более разрядов является наиболее быстрым способом умножения на 2, 4, 8, …. Сдвиг операндов вправо на 1.2,3 и более разрядов – быстрый способ деления на 2, 4, 8 …..
n=m>>1; c=m<<1; //деление 2, умножение на 2
11) Операции в С /С++: операция присваивания, операция sizeof.
Операция присваивание =
Операции присваивания могут использоваться в программе как законченные операторы.
Простое присваивание
переменная = выражение;
Например, y=2*x – 1/(x+1);
Выражение присваивание может быть записано в любом выражении.
Например, if ((t=x+b)>a) w=1;
Разрешено множественное присваивание
Переменная1=Переменная2=Переменная3=…=выражение;
Например, x=y=z=0;
4) Для рекуррентных соотношений типа
а = а операция выражение;
где а - переменная.
можно использовать сокращённую запись
а операция=выражение;
Например, х=х+2; это эквивалентно х+=2;
у=у/10; эквивалентно у/=10;
x=x*10; эквивалентно x*=10;
Операция определения размера sizeof предназначена для определения размера переменной или типа в байтах. Имеет две формы записи.
sizeof выражение
sizeof (тип)
Примеры
int c, k1;
char k;
double p;
k1=sizeof(c); //ответ 2 или 4
k1=sizeof int; // 2 or 4
k1=sizeof k; // 1
Можно определить размер массива и структуры.