Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога экз 2 сем.docx
Скачиваний:
4
Добавлен:
14.12.2025
Размер:
1.99 Mб
Скачать

Вопрос 5. Побитовые операции

#include <stdio.h>

int main() {

int a = 5; // 0101

int b = 3; // 0011

printf("a & b = %d\n", a & b); //результат = 1

Побитовые операции — это операции, которые выполняются над двоичными представлениями целых чисел.

& побитовое и

| побитовое или

^ исключающее или

<< сдвиг влево

>> сдвиг вправо

~ отрицание

Вопрос 6. Изменение типа выражения

int x = 10;

double y = x; // Неявное преобразование int → double

Неявные преобразования типов в C/C++ выполняются компилятором автоматически в следующих случаях: Арифметические выражения: •Операнды разных типов приводятся к наибольшему типу (по диапазону и точности). •Целые типы меньше int всегда повышаются до int. Присваивание: •Тип выражения преобразуется к типу переменной, которой присваивается значение. Передача аргументов в функцию: •Тип аргумента преобразуется к типу формального параметра. Возврат значения из функции: •Тип возвращаемого значения преобразуется к объявленному типу возврата функции. Арифметические преобразования: •Приводят операнды к одному типу, который будет типом результата. •Иерархия преобразований (от наибольшего к наименьшему): long double -> double -> float -> unsigned long long -> long long -> unsigned long -> long -> unsigned int -> int (и тд).

Явное преобразование типов (приведение типов):  • Используют операторы: static_castdynamic_castconst_castreinterpret_cast. •Подавляют проверку типов компилятором, могут быть источником ошибок. 

double a = 5.7;

int b = (int)a; // Явное преобразование double → int

(отбрасывание дробной части)

void* указатель: -Может указывать на объект любого типа. -Используется, когда тип объекта неизвестен или может изменяться. -Называется универсальным указателем.

Вопрос 7. Литералы в С++

Литералы используются в тексте программы для обозначения числовых значений, символов, строк и логических констант. Литерал представляет собой постоянное значение, у которого нет имени. Литералы также называют константами. Литерал используют для отличия обычных констант, определенных директивой define.

Литералы подразделяются на: числовые(целые, длинные целые, с плавающей точкой), знаковые(char), строковые.

Целочисленные литералы состоят из цифр от 0 до 9 со знаком +, - или без знака.

Десятичный литерал представляется цифрами от 0 до 9, первая не 0.

Восьмеричный литерал состоит из цифр от 0 до 7, перед которыми стоит цифра 0.

Шестнадцатеричный литерал представляется 16-ричными цифрами (0-F), перед которыми записываются пара символов 0Х или Х0.

Строковые литералы используются для представления текстовых строк. Это строка символов, заключенная в кавычки. Строковые литералы могут располагаться на нескольких строках. Два и более строковых литерала, разделенные только пробелами, читаются как одна строка.

Литералы для представления логических значений: true, false. Ключевое слово null является литералом, представляющим пустую ссылку, которая не ссылается ни на один объект.

Символьные литералы(char) состоят из одного символа кода ASCII, заключенного в апострофы: “(пробел)”, 'в’(буква). char symbol = 'x';

Соседние файлы в предмете Программирование