Добавил:
ПОИТ 2016-2020 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пустовалова 1 сем / OAIP_voprosy_i_otvety_-_beta.docx
Скачиваний:
67
Добавлен:
29.04.2018
Размер:
413.34 Кб
Скачать
  1. Побитовые логические операции (конъюнкция, дизъюнкция, сдвиги, инвертирование).

Конъюнкция - битовая операция AND (и) - & - если какой-то бит в одном из операндов равен 0, то результирующий бит тоже будет 0 – сброс битов.

int a = 15, b = 27;

_itoa_s (a & b, tmp, 2);

cout<< tmp <<endl;

1111

11011

a & b = 1011

Дизъюнкция - битовая операция OR (или) - | - если какой-то бит в одном из операндов равен 1, то результирующий бит тоже будет 1 - установка битов

int a = 15, b = 27;

_itoa_s (a | b, buffer, 2);

cout<< buffer<<endl;

1111

11011

a | b = 11111

Битовая операция XOR (исключающее или) - ^ - результирующий бит равен 1, если сравниваемые биты различны

int a = 15, b = 27;

_itoa_s (a ^ b, buffer, 2);

cout<< buffer<<endl;

1111

11011

a ^ b = 10100

Инвертирование - битовая операция NOT (не) - ~ - меняются все биты на противоположные

int a = 15;

_itoa_s ( ~ a, buffer, 2);

1111

~ a = 11…10000

Битовая операция << (сдвиг влево) - удваивается значение

int a = 15;

_itoa_s (a << 1, buffer, 2);

cout<<buffer<<endl;

1111

a<<1 = 11110

При сдвиге вправо >> (сдвиг вправо) – значение уменьшается в два раза.

  1. Символы, строки (примеры объявления, инициализации).

Символ – элементарная единица, некоторый набор которых несет определенный смысл. В языке программирования С++ предусмотрено использование символьных констант. Символьная константа – это целочисленное значение (типа int) представленное в виде символа, заключённого в одинарные кавычки, например 'a'.

// объявления символьной переменной

char symbol = 'a';

// где symbol – имя переменной типа char

// char – тип данных для хранения символов

Строки в С++ представляются как массивы элементов типа char, заканчивающиеся нуль-терминатором \0 называются С строками или строками в стиле С.

Символьные строки состоят из набора символьных констант, заключённых в двойные кавычки. При объявлении строкового массива необходимо учитывать наличие в конце строки нуль-терминатора, и отводить дополнительный байт под него.

// пример объявления строки

char string[10]; // где string – имя строковой переменной

// 10 – размер массива, то есть в данной строке может поместиться 9 символов , последнее место отводится под нуль-терминатор.

Строка при объявлении может быть инициализирована начальным значением, например, так:

char string[10] = "abcdefghf";

Если подсчитать кол-во символов в двойных кавычках после символа равно их окажется 9, а размер строки 10 символов, последнее место отводится под нуль–терминатор, причём компилятор сам добавит его в конец строки.

// посимвольная инициализация строки:

char string[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'f', '\0'}; // десятый символ это нуль-терминатор.

При объявлении строки не обязательно указывать её размер, но при этом обязательно нужно её инициализировать начальным значением. Тогда размер строки определится автоматически и в конец строки добавится нуль-терминатор.

//инициализация строки без указания размера

char string[] = "abcdefghf";

//всё то же самое только размер не указываем.

Строка может содержать символы, цифры и специальные знаки. В С++ строки заключаются в двойные кавычки. Имя строки является константным указателем на первый символ.

Соседние файлы в папке Пустовалова 1 сем