39. Типы данных
Все данные в программе должны быть описаны с помощью операторов объявления типа данных, имеющих следующий вид: <имя типа> <список переменных>;
Типы данных задаются ключевыми словами int (целый), long (длинный), short (короткий), unsigned (беззнаковый), char (символьный), float (действительный одинарной точности), double (действительный двойной точности), pointer (указатель), unum (перечислимый). Например, оператор int i, j; описывает переменные i и j как целые, а оператор float t; определяет переменную t как действительную с одинарной точностью. Допустимые в языке типы данных, их размеры в битах и диапазон представления:
Тип | Размер, бит | Диапазон |
unsigned char | 8 | 0–255 |
char | 8 | -128–127 |
enum | 16 | -32768–32767 |
unsigned short | 16 | 0–65535 |
short | 16 | -32768–32767 |
unsigned int | 16 | 0–65535 |
int | 16 | -32768–32767 |
unsigned long | 32 | 0–4294967295 |
long | 32 | -2147483648–2147483647 |
float | 32 | 3.4 10^-38–3.4 10^38 |
double | 64 | 1.7 10^-308–1.7 10^308 |
long double | 80 | 1.7 10^-4932–1.7 10^4932 |
pointer | 16 32 | (указатели near, _cs, _ds, _es, _ss) (указатели far, huge) |
Язык С поддерживает стандартные механизмы по автоматическому преобразованию одного типа данных в другой. Если в выражении присутствуют операнды различных типов, то они преобразуются в некоторый общий тип, при этом к каждому арифметическому операнду применяется следующая последовательность правил: char и short преобразуются в int; float преобразуется в double; если один из операндов двойной точности, то другие приводятся к двойной точности и результат будет типа double; если один из операндов типа long, то другие преобразуются в long и результат будет long; если один из операндов unsigned, то другие преобразуются в тип unsigned и результат будет иметь тип unsigned; в противном случае операнды должны быть типа int и результат будет типа int.
Преобразование типов происходит и при выполнении операции присваивания: значение правой части преобразуется в тип левой, при этом если преобразование идет от длинного типа к более короткому, то старшие разряды теряются.
40. Операции в языке C++
1. Унарные операции: 1.1. Адресные: & получение адреса операнда; * обращение по адресу или операция косвенного обращения.
1.2. Преобразования знака: - унарный минус; + унарный плюс.
1.3. Побитовые:~ инвертирования (побитового) отриц.; ! логического отриц.
1.4. sizeof определение размера объекта или типа.
1.5. Увеличения и уменьшения значения: ++ инкремент, или увеличения на единицу; -- декремент, уменьшение на единицу.
1.6. Операции динамического распределения памяти: new выделения памяти; delete освобождения памяти.
1.7. :: операция доступа. Обеспечивает обращение к именованной глобальной области памяти, находящейся вне области видимости.
2. Бинарные: 2.1. Аддитивные: + сложение; - вычитание.
2.2. Мультипликативные: * умножение; / деление; % получение остатка от деления целочисленных операндов (деление по модулю).
2.3.Cдвига: << левый сдвиг; >> правый сдвиг.
2.4. Поразрядные: & Поразрядная конъюнкция битовых представлений значений целочисленных операндов; | поразрядная дизъюнкция …; ^ поразрядная исключающая дизъюнкция ….
2.5.Сравнения: <,<=,>,>=,==,!= меньше, меньше равно, больше, больше равно, равно, не равно.
2.6. Логические бинарные: &&,|| и, или.
2.7. Операция присваивания: = простая форма операции присваивания.
2.8. Специальные формы операций присваивания: *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^= присвоения произведения, присвоения… и тп.
2.10. Операции обращения к компонентам класса: .* обращение к компоненте класса по имени объекта или ссылки на объект (левый операнд операции) и указателю на компоненту класса (правый операнд операции); ->* обращение к компоненте класса по указателю на объект …; :: операция доступа к компоненте класса по имени класса и имени компоненты.
2.11. Операция управления процессом вычисления значений: , запятая.
2.12. () вызов функции.
2.13. () преобразование (или приведения) типа.
2.14. [] Операция индексации.
3. Операция с тремя операндами: ?: условная операция.
4. Операция typeid. Обеспечивает динамическую идентификацию типов.
41. Операторы в языке C++
Условный оператор.
if (<выражение>)<операторы1>;
[else <операторы2>;]
if, else – если, иначе. Конструкция else может отсутствовать. Если выражение – истина, то выполняется операторы1, если ложь – выполняется операторы2.
Оператор переключатель
Если необходимо выбрать один из нескольких многочисленных вариантов, то вместо if целесообразно использовать switch.
switch(<выражение>){
case<константа 1>:<операторы 1>;
case<константа n>:<операторы n>;
[default:<операторы>]
}
Выбирается тот вариант, константа которого совпадает со значение выражения. После осуществляется проверка соответствия следующего варианта, если соответствий не найдено выполняется необязательный default.
Операторы цикла с параметром.
for(<инициализация параметра цикла>;<условие продолжение цикла>;<условие продолжения цикла>) <оператор>;
Оператор цикла с предусловием
while(<выражение>)<оператор>;
Если выражение - true выполняется оператор, пока выражение не станет false.
Оператор с постусловием
do <оператор>;
while (<выражение>);
Сначала выполняется оператор. После проверяется выражение, если true снова выполняется оператор, пока выражение не станет false.
- 1. Теория и практика формообразования заготовок.
- 2. Основы технологии формообразования отливок из черных и цветных сплавов.
- 3. Основы технологии формообразования сварных конструкций из различных сплавов. Понятие о технологичности заготовок.
- 4. Пайка материалов.
- 6. Понятие о технологичности деталей.
- Закономерности и связи, проявляющиеся в процессе проектирования и создания машин.
- Методы разработки технологического процесса изготовления машины.
- 9. Принципы построения производственного процесса изготовления машины.
- 10. Технология сборки.
- 11. Разработка технологического процесса изготовления деталей.
- 13. Требования к деталям, критерии работоспособности и влияющие на них факторы.
- 14. Механические передачи
- 18. Муфты механических приводов
- 20. Технические регламенты.
- 21. Стандартизация.
- 22. Подтверждение соответствия.
- 23. Государственный контроль (надзор) за соблюдением требований технических регламентов.
- 24.Метрология. Прямые и косвенные измерения.
- 25. Основные понятия и определения: информация, алгоритм, программа, команда, данные, технические устройства.
- 26. Системы счисления. Представление чисел в позиционных и непозиционных системах
- 27. Системы счисления. Перевод чисел из одной системы счисления в другую.
- Принцип двоичного кодирования
- 30. Принципы организации вычислительного процесса. Гарвардская архитектура эвм.
- 31 Архитектура и устройство базовой эвм.
- 32 Адресация оперативной памяти. Сегментные регистры.
- 33 Система команд процессора i32. Способы адресации.
- 34 Система команд процессора i32. Машинная обработка. Байт способа адресации.
- 35 Разветвляющий вычислительный процесс.
- 36. Циклический вычислительный процесс
- 37. Рекурсивный вычислительный процесс.
- 39. Типы данных
- 42. Объектно-ориентированное программирование
- Функции устройств ввода/вывода
- Методы адресации
- 58,. Базовый функциональный блок микроконтроллера включает:
- 62. Модули последовательного ввода/вывода
- 67.Приборы силовой электроники.
- 69. Полевой транзистор
- 71. Цепи формирования траектории рабочей точки транзистора
- 72. Цфтрт с рекуперацией энергии
- 73. Последовательное соединение приборов
- 74. Параллельное соединение приборов.
- 76. Защита силовых приборов от перенапряжения.
- 77. Расчет драйвера igbt-транзистора.
- 78. Трансформаторы.
- 79. Машины постоянного тока.
- 80. Асинхронные и синхронные машины.
- 81. Элементная база современных электронных устройств.
- 82. Усилители электрических сигналов.
- 83. Основы цифровой электроники.