Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РК-Информатика-2010.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
134.66 Кб
Скачать

47. Какие побитовые логические операции определены в языке c?

В C определенные следующие побитовые операторы:

~ - побитовое отрицание (1, если операнд равняется 0 и 0 – в противном случае).

& - побитовое И (бит в і-ой позиции поля результата равняется 1 только, если оба бита в і-ых позициях операндов равные 1, иначе – равняется 0).

| - побитовое ИЛИ (бит в і-ой позиции поля результата равняется 1, если хотя бы один из битов в і-ых позициях операндов равняется 1, иначе - равняется 0).

- побитовое ИЛИ, что исключает (бит в і-ой позиции поля результата равняется 1, только, если оба бита в і-ых позициях операндов не равные друг другу, иначе - 0).

<< - сдвиг влево битов поля первого операнда на количество битов, обусловленное вторым операндом (увольняющие биты заполняются нулями).

>> - сдвиг вправо битов поля первого операнда на количество битов, обусловленное вторым операндом (увольняющие биты заполняются нулями).

48. Какие классы памяти переменных на внутреннем уровне определены в языке c?

При объявлении переменной на внутреннем уровне можно использовать следующие спецификации класса памяти: auto, register, static и extern. Если спецификация класса памяти в сменной опущена, то предполагается класс auto.

Область действия сменной класса auto с локальным временем жизни распространяется на блок, в котором она объявлена и на все вложенные у него блоки.

Спецификация класса памяти register требует, чтобы компилятор выделил сменной память в регистре микропроцессора (если это возможно). Использование реестровой памяти обычно ускоряет доступ к переменной и уменьшает размер выполняемого кода программы.

Переменная, объявленная со спецификацией statіc на внутреннем уровне, имеет глобальное время жизни, но ее действие распространяется на блок, в котором она объявлена и на все вложенные у него блоки. В отличие от переменных класса auto, переменные классу static сохраняют свое значение при выходе из блока.

Переменная, объявленная со спецификацией extern на внутреннем уровне, является ссылкам на переменную с тем же именем, объявленную на внешнем уровне в любом исходном файле программы.

49. Какие виды кодирования символов используются в Windows?

При однобайтовом представлении можно использовать 256 разных символов. Диапазон значений кодов символов – от 0 до 255 (в десятичном представлении) или от 0 до FF (в шестнадцатеричном представлении).

В режиме командной строки употребится кодовая таблица ASCІІ (Amerіcan Standard Code for Іnformatіon Interchange), разработанная ANSІ (American National Standard Іnstіtute – Американским национальным институтoм стандартов).

Однако много алфавитов используют буквы, отличные от 26 латинских букв, заданных в первой половине кодовой таблицы ASCІІ. Поэтому были разработаны кодовые страницы и для этих языков. Каждой такой кодовой странице присвоен числовой номер.

В среде Windows однобайтовое кодирование символов называется ANSI-кодировкой.

В терминологии Windows кодирование ASCІІ называется OEM-кодированием (Original Equipment Manufacturer – производитель оригинального оборудования). Начиная с Windows 98, фирма Microsoft перешла на двухбайтовое кодирование символов или кодирование Unicode.

Кодирование Unicode разрешает закодировать все символы, используемые в живых языках, которые имеют письменность (включая китайские иероглифы).