Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_raboty.doc
Скачиваний:
65
Добавлен:
11.03.2015
Размер:
517.63 Кб
Скачать

Контрольные вопросы

  1. Охарактеризуйте каждый из целочисленных типов Си.

  2. Охарактеризуйте вещественные типы Си.

  3. Перечислите арифметические операции Си и сравните их с соответствующими существующими операциями в Паскале.

  4. В каком порядке выполняются операции при вычислении значений арифметических выражений в Турбо Си?

  5. Чем отличается использование символа ";" в языках Паскаль и Си?

  6. Какие значения будут присвоены переменным после обращения к функции ввода:

int j;

float r;

char s[10];

scanf("%4f %2d %s", &r, &j ,s);,

если на входе набрана строка

"157.123 код ошибки"?

  1. Что будет выведено после выполнения следующего фрагмента программы:

int i = 851;

float f = -0.151E-1;

char s[] = "первый курс";

printf("i = %+5i, f=%-5.2g=%1.2f \n%10.6s\n", i, f, f, s);?

  1. Вычислить значения переменных b и i после каждого из следующих операторов:

int i = 2, b = i++;

b*=++i; i /= - -b;.

Лабораторная работа №12 Побитовые операции в Си и в Турбо Паскале

Цель работы: получить навыки работы с отдельными разрядами целочисленных объектов.

Задание для подготовки к работе

  1. Изучить побитовые операции в языках Си и Турбо Паскаль.

  2. Разработать алгоритм и составить программы на языках Си и Паскаль для решения задачи соответствующего варианта. Bo всех случаях, где возможно, использовать побитовые операции.

  3. Подобрать тестовые данные.

Варианты заданий

  1. Выполнить циклический сдвиг в двоичном представлении данного натурального числа на k битов влево.

  2. Определить, является ли восьмеричное представление данного натурального числа палиндромом.

  3. Преобразовать целое число, переставив цифры двоичного представления данного натурального числа в обратном порядке.

  4. Вывести в десятичном виде поле длины k двоичного представления данного натурального числа слева от n-го разряда.

  5. Выполнить циклический сдвиг в двоичном представлении данного натурального числа на n разрядов вправо.

  6. Преобразовать число, поменяв местами цифры каждой пары соседних цифр в двоичной записи данного натурального числа. Обмен начинается с младших разрядов. Непарная старшая цифра остается без изменения.

  7. Определить, является ли двоичное представление данного натурального числа палиндромом.

  8. Преобразовать число, переставив в обратном порядке цифры в шестнадцатеричном представлении данного натурального числа.

  9. Преобразовать число, поменяв местами цифры каждой пары соседних разрядов в восьмеричной записи данного натурального числа. Непарная старшая цифра остается без изменения.

  10. Выполнить циклический сдвиг на k цифр влево в восьмеричном представлении данного натурального числа.

  11. Определить, является ли шестнадцатеричное представление данного натурального числа палиндромом.

  12. Определить минимальную цифру в восьмеричной записи данного неотрицательного длинного целого.

  13. Дано целое неотрицательное число n<216. Получить длинное целое число, нечетные биты которого равны нулю, а последовательность четных битов представляет собой данное число n.

  14. Даны два символа ch1 и ch2. Получить целое число, последовательность нечетных битов которого представляет собой код ch1, а последовательность четных – код ch2.

  15. Дано длинное целое неотрицательное число k. Получить целое число, отбросив нечетные биты данного числа k.

  16. Дано целое неотрицательное число n. Получить два однобайтовых целых числа, одно из которых представляется последовательностью четных битов данного n, а другое – последовательностью нечетных битов.

  17. Дано длинное целое неотрицательное число. Получить число, инвертируя его нечетные биты.

  18. Дано целое неотрицательное число 216. Получить число перестановкой битов каждого байта данного числа в обратном порядке.

  19. Определить максимальную длину последовательности подряд идущих битов, равных единице в двоичном представлении данного целого числа.

  20. Определить максимальную цифру в восьмеричной записи данного неотрицательного длинного целого.

  21. Просматривая биты данного длинного целого от старших к младшим, заменить каждое вхождение 101 на 000.

  22. Удалить цифру А в записи данного шестнадцатеричного числа.

  23. Дано длинное целое неотрицательное число. Получить число, инвертируя его четные биты.

  24. Дано длинное целое неотрицательное число. Получить число, удалив в двоичной записи данного числа нули.

  25. Дано длинное целое неотрицательное число. Заменить каждую цифру 7 в восьмеричной записи этого числа нулем.

  26. Дано длинное целое неотрицательное число. Получить число, удалив каждую вторую цифру в двоичной записи данного числа, начиная со старших цифр.

  27. Просматривая последовательность битов данного длинного целого от младших к старшим, удалить каждое вхождение подпоследова-тельности 101, сдвигая все биты слева от удаляемых на 3 вправо. Освобождающиеся биты справа заполнить нулями.

  28. Удалить в шестнадцатеричной записи данного целого числа четные цифры.

  29. Просматривая биты данного длинного целого от младших к старшим, заменить каждое вхождение 110 на 000.

  30. Удалить цифру 1 в записи данного восьмеричного числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]