- •Записать тернарную операцию для оператора (л.6):
- •Определите понятие «оператор». «Пустой оператор» и пример его использования. Каждый ли оператор заканчивается «точкой с запятой»? (л.6)
- •Синтаксис оператора if. (л.6).
- •Использование вложенного условного оператора для оптимизации выполнения условия. (л.6).
- •Указать область видимости переменной k: (л.6).
- •Использование операторов break, сontinue, return и функции exit() (л.6) .
- •Интерпретировать выражения:
- •Указать ошибку:
- •Являются ли эквивалентными приведенные две группы операторов:
- •Синтаксис оператора цикла с предусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла с постусловием. Организация на его основе бесконечного цикла (л.7) .
- •Синтаксис оператора цикла for. Организация на его основе бесконечного цикла. Использование «неполных» форм записи оператора цикла for (л.7) .
- •Выражение оператора цикла for через while (л.7) .
- •2.1. Определить, какому интервалу из области определения функции принадлежит текущее значение х.
- •2.2. Вычислить значение функции y по соответствующей формуле.
- •2.3. Вывести значения X и y
- •. Нахождение корня нелинейного уравнения методом половинного деления
- •Приемы эффективного программирования (л.7) .
- •Определение наибольшей степени целого числа 100, которую можно вычислить, пользуясь типом long
- •Табулирование функции на отрезке с выбором расчетной формулы (л.7) . Табулирование функции на отрезке
- •Вычисление суммы членов бесконечного ряда (ряд Тейлора) на отрезке (л.7) .
- •Вычисление значения многочлена на отрезке по схеме Горнера (л.7) .
- •Проверить, является ли заданное число простым. (л.7) Проверка, является ли число простым
- •Логическое представление в компьютере целых чисел (с примерами) (л.8) .
- •Логическое представление в компьютере вещественных чисел (с примерами) (л.8) .
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Объяснить получение результата*:
- •Определение и способы инициализации указателей. Операции над указателями (л.9) .
- •Операции над указателями
- •Операции инкремента и декремента
- •Укажите особенности использования указателей типа void * (л.9) .
- •Составить описание типа(л.9):
- •Проинтерпретируйте выражение int *(*pp[15])(). (л.9)
- •Проинтерпретируйте выражение int *(*pp[15])(int *).(л.9)
- •Определите понятие «ссылка». Как инициализировать ссылку? (л.9)
- •Как изменить значение ссылки после инициализации? Можно ли построить ссылку на ссылку? указатель на ссылку? (л.9)
- •Виды указателей (указатель на константу, константный указатель, константный указатель на константу) и их особенности (л.9) . Виды указателей указатель на константу
- •Указатель-константа
- •Указатель-константа на константу
- •Указатель на указатель
- •Возможные присваивания (л.9):
- •Указать и объяснить ошибку, если она есть (л.9):
Логическое представление в компьютере целых чисел (с примерами) (л.8) .
Логическое представление целых положительных чисел:
Исходное целое число переводится в 16-ичную систему счисления (чтобы сократить количество операций деления).
Полученное число из 16-ичной системы счисления переводится в 2-ичную систему счисления (каждый 16-ичный знак заменяется соответствующей ему тетрадой двоичных чисел).
Записываем двоичное представление числа:
Последовательно в битах справа налево записывается полученное двоичное представление числа.
В крайнем слева бите записывается знак числа – в данном случае 0.
Логическое представление отрицательных целых чисел (представление в дополнительном двоичном коде):
Исходное число рассматривается как положительное и переводится в 16-ичную систему счисления.
Полученное число из 16-ичной системы счисления переводится в 2-ичную систему счисления.
Полученное представление числа инвертируется (нули заменяются единицами, а единицы – нулями).
К полученному представлению добавляется 1 в самый младший разряд.
Записываем двоичное представление числа:
Последовательно в битах справа налево записывается полученное двоичное представление числа.
В крайнем слева бите записывается знак числа – в данном случае 1.
Логическое представление в компьютере вещественных чисел (с примерами) (л.8) .
Вещественное число в представлении с плавающей точкой записывается в виде мантиссы и порядка:
A= M*q+p, где M – мантисса числа, обычно 0< M< 1; q – основание системы счисления, p – порядок числа.
12345. (целое число) 1.2345*104
1.2345 (неправильная дробь) 0.012345 (правильная дробь) 0.12345 (правильная дробь)
12.345*10-1 12345*10-6 123450*10-6
Представление вещественных чисел с плавающей точкой служит для хранения в памяти целых и дробных чисел. Раньше числа с плавающей точкой хранились в компьютере в виде нормализованной мантиссы и порядка. Нормализованная мантисса – это правильная дробь, у которой первая цифра после точки отлична от нуля. Сегодня это представление немного изменено.
Общий вид представления чисел в форме с плавающей точкой:
-
знак числа
знак порядка
порядок
нормализованная мантисса
изменен на:
-
знак числа
характеристика
усеченная мантисса
Если двоичное представление числа преобразовать таким образом, чтобы целая часть его стала содержать всего одну единицу, то число, получившееся после запятой, есть усеченная мантисса. При этом изменяется и порядок числа (он увеличивается или уменьшается соответственно количеству перемещений позиции запятой влево или вправо) и становится усеченным порядком. Характеристика – это число, полученное от сложения усеченного порядка с числом 7F (для 4-хбайтного представления) или 3FF (для 8-ибайтного представления)2.
Алгоритм получения логического представления числа с плавающей точкой:
Исходное число переводится в 16-ичную систему счисления (отдельно целая и дробная части).
Полученное представление числа в 16-ичной системе счисления преобразуется в его представление в 2-ичной системе счисления.
2-ичное представление числа преобразуется для получения усеченной мантиссы и усеченного порядка.
Записывается двоичное представление числа:
в первом слева бите записывается знак числа (0 – для положительных чисел или 1 – для отрицательных);
в следующих 8 битах слева направо (для 4-хбайтного представления) или 11 (для 8-ибайтного представления) записывается характеристика;
в оставшихся битах записывается усеченная мантисса (слева направо): под нее отводится 23 бита для 4-хбитного представления: (4*8=32 – 1 знаковый бит – 8 бит под характеристику = 23 бита) и 52 бита для 8-байтного представления (8*8=64 – 1 знаковый бит – 11 бит под характеристику = 52 бита).
Например:
-256,510 = ?
25610 = 010016 =1 0000 00002
0,510 = 0.816 = 0.10002
Внутреннее представление величины целого типа со спецификатором unsigned (л.8) .
Объяснить получение результатаi*:
printf ("%d\n", char(2&123)); 2
printf ("%u\n", char(2&123)); 2
printf ("%d\n", int(2&123)); 2
printf ("%u\n", int(2&123)); 2
printf ("%d\n", unsigned(2&123)); 2
printf ("%u\n", unsigned(2&123)); 2
Объяснить получение результата*:
printf ("%d\n", char(~11)); -12
printf ("%u\n", char(~11)); 4294967284
printf ("%d\n", int(~11)); -12
printf ("%u\n", int(~11)); 4294967284
printf ("%d\n", unsigned(~11)); ?
printf ("%u\n", unsigned(~11)); ?
Объяснить получение результата*:
printf ("%d\n", char(11 & 2)); 2
printf ("%u\n", char(11 & 2)); 2
printf ("%d\n", unsigned char(11 & 2)); 2
printf ("%u\n", unsigned char(11 & 2)); 2
printf ("%d\n", int(11 & 2)); 2
printf ("%u\n", int(11 & 2)); 2
printf ("%d\n", unsigned(11 & 2)); 2
printf ("%u\n", unsigned(11 & 2)); 2
Объяснить получение результата*:
printf ("%d\n", char(11 | 2)); 11
printf ("%u\n", char(11 | 2)); 11
printf ("%d\n", unsigned char(11 | 2)); 11
printf ("%u\n", unsigned char(11 | 2)); 11
printf ("%d\n", int(11 | 2)); 11
printf ("%u\n", int(11 | 2)); 11
printf ("%d\n", unsigned(11 | 2)); 11
printf ("%u\n", unsigned(11 | 2)); 11
