- •2). Арифметические преобразования
- •1) Основные типы данных, операции и выражения
- •Билет №4
- •Билет№5
- •1). Символьные константы
- •2). Условный оператор
- •1). Операции отношения
- •Тип возвращаемого значения
- •1). Логические операции
- •2). Определение функции
- •Идентификатор или имя функции
- •Список аргументов или параметров
- •2). Вызов функции
- •Вызывающее окружение
- •1) Адресные операции
- •1). Операции над структурами и объединениями
- •2). Указатели и массивы
- •1). Операция sizeof
- •2). Перечисления
- •2). Типы переменных
Идентификатор или имя функции
Идентификатор (имя) функции задаётся точно также, как и любой другой идентификатор. В данном примере мы создали функцию с идентификатором simple_function (simple - простой).
Список аргументов или параметров
Список аргументов функции записывается в круглых скобках после имени функции. В данном примере список аргументов пуст.
Список аргументов записывается через запятую. Каждый элемент списка состоит из типа и идентификатора. Рассмотрим пример заголовка функции со списком из двух аргументов:
int simple (int a, float b)
В скобках мы записали два аргумента: a и b. У аргумента a тип int, а у аргумента b тип float.
Аргументы используются, когда в функцию нужно передать какие-либо данные из вызывающего окружения.
Билет№13
1). Побитовые операции
Дополнение до единицы. В каждом разряде единица заменяется нулем, а нуль - единицей. Пример:
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
b = ~b; // переменная b стала равна 01110010, т.е. 114
Сдвиг вправо. Двоичное представление первого операнда сдвигается вправо на количество разрядов, равное значению второго операнда. Освобождающиеся "левые" разряды будут заполняться нулями.
Пример:
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
b = b >> 2; // переменная b стала равна 00100011, т.е. 67
Сдвиг влево. Двоичное представление первого операнда сдвигается влево на количество разрядов, равное значению второго операнда. Появившиеся "правые" разряды будут заполняться нулями.
Пример:
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
b = b << 2; // переменная b стала равна 1000110100, т.е. 564
Побитовая операция И. Результат будет содержать единицу в тех разрядах, где соответствующие разряды первого и второго операнда содержат единицу. В других случаях соответствующий бит результата будет равен 0.
Пример:
int a = 25; // начальное значение переменной a равно 25,
// что в двоичном представлении равно 00011001
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
a = a & b; // переменная a стала равна 00001001, т.е. 9
Побитовая операция ИЛИ. Результат будет содержать ноль в тех разрядах, где соответствующие разряды первого и второго операнда содержат ноль. В других случаях соответствующий бит результата будет равен 1.
Пример:
int a = 25; // начальное значение переменной a равно 25,
// что в двоичном представлении равно 00011001
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
a = a | b; // переменная a стала равна 10011101, т.е. 157
Побитовая операция исключающее ИЛИ. Значение результирующего выражения будет содержать 1 в тех разрядах, в которых x и y имеют разные двоичные значения, и 0 - во всех остальных разрядах.
Пример:
int a = 25; // начальное значение переменной a равно 25,
// что в двоичном представлении равно 00011001
int b = 141; // начальное значение переменной b равно 141,
// что в двоичном представлении равно 10001101
a = a ^ b; // переменная a стала равна 10010100, т.е. 148
