Целочисленные значения
принимают любые, возвращают 0 или 1
если принят не 0, то вернётся 1
Целочисленные значения или символы
от -128 до 127
Беззнаковые целочисленные значения
от 0 до 255
Целочисленные значения
от -32’768 до 32’767
В Arduino Due, тип int идентичен типу long
Беззнаковые целочисленные значения
от 0 до 65’535
В Arduino Due, тип unsigned int идентичен типу unsigned long
Целочисленные значения
от -2’147’483’648 до 2’147’483’647
Беззнаковые целочисленные значения
от 0 до 4’294’967’295
Числа с плавающей точкой
от -2’147’483’648,0 до 2’147’483’647,0
Числа с плавающей точкой удвоенной точности
от -9’223’372’036’854’775’808,0 до 9’223’372’036’854’775’807,0
Тип double действует как тип float, кроме Arduino Due
Целочисленные значения
от -9’223’372’036’854’775’808 до 9’223’372’036’854’775’807
Беззнаковые целочисленные значения
от 0 до 18’446’744’073’709’551’615
Отсутствие данных
Нет принимаемых или возвращаемых значений
Строка
Массив A указанного размера, с элементами указанного типа
Массив А указанного типа, без прямого указания размера
Двумерный массив А указанного типа и размера
Двумерный массив А указанного типа, без прямого указания размера
Массив или строка, состоящая из указанного кол-ва символов
Массив или строка, без прямого указания количества символов
Приводит значение A к указанному типу.
Приводит результат A+B к указанному типу.
Сначала приводит A и B, к указанному типу, а потом вычисляет результат A+B.
Приводит указатель A к указанному типу указателя.
Объявление переменной в виде константы, её можно читать, но нельзя менять, т.к. она хранится в области flash памяти.
Объявление переменной, значение которой может быть изменено без явного использования оператора присвоения =. Используются для работы с прерываниями.
Объявление локальной переменной, значение которой не теряется, между вызовами функции. Если переменная объявлена глобально (вне функций), то её нельзя подключить в другом файле.
Объявление глобальной переменной, которая определена во внешнем файле.
Объявление локальной переменной, значение которой требуется хранить в регистрах процессора, а не в ОЗУ, для обеспечения ускоренного доступа.
Ложь, используются вместо 0
Истина, используется вместо 1
Низкий уровень
Высокий уровень
Конфигурация вывода как вход
Конфигурация вывода как выход
Конфигурация вывода как вход с подтяжкой
Передача младшим битом вперёд
Передача старшим битом вперёд
Тактовая частота Arduino в Гц
Число Пи
Половина числа Пи
Два числа Пи
Число Эйлера
Запись числа в 2ой системе (0b10101)
Запись числа в 2ой системе (B10101)
// до 8 бит
Запись числа в 8ой системе (012345)
Запись числа в 16ой системе (0x1234A)
Число типа long (12345L)
Число типа long lond (12345LL)
Число беззнакового типа (12345U)
Комбинация модификаторов (12345UL)
Показатель экспоненты (3E-5 = 3•10-5)
Это указание имени и типа переменной.
int A; // объявление переменной А
Это выделение памяти под переменную.
A=1; // определение ранее объявленной A
Действуют постоянно, в любом месте кода.
Создаются внутри функций, циклов и т.д.
удаляются из памяти при выходе из них.
Указывается в одинарных кавычках.
char A='Z'; // присвоение символа «Z»
Указывается в двойных кавычках.
String A="Z"; // присвоение строки «XY»
Это переменная с указанием класса, вместо типа, через объект можно обращаться к методам класса
Ссылка, это альтернативное имя переменной, она возвращает значение переменной, на которую ссылается.
int A=5; // создана переменная A = 5
int &C=A; // создана ссылка C на переменную A
A++; C++; // в результате A=7 и C=7
// Ссылку нельзя переопределить: &C=Z;
Указатель, это переменная, значением которой является адрес.
int *Y1=&A; // указателю Y1, передан адрес переменной A
int (*Y2)(int)=F; // указателю Y2, передан адрес функции F
B=Y1; // получаем адрес переменной A из указателя Y1
B=*Y1; // получаем значение A разыменовывая указатель
// Указатель можно переопределять: Y1=&Z;
Создание альтернативного имени для типа
typedef bool dbl; // создаём свой тип «dbl», как тип bool
dbl A=1; // создаём переменную A типа bool
Это переменная состоящая из нескольких однотипных элементов, доступ к значениям которых осуществляется по их индексу.
int A[5]; // объявлен массив A из 5 элементов типа int
int A[2]={7,9}; // объявлен и определён массив A из 2 эл-тов
char A[ ]="Hi"; // создана строка A, как массив символов
Это объединение нескольких переменных под одним именем.
struct { int A=5; float B=3; } C; // создана структура «С»
int D = C.A; // получаем значение переменной A структуры С
int Z = C.A; // присваиваем Z значение A структуры С
Ложь, используются вместо 0
Истина, используется вместо 1
for(инициализация; условие; приращение){тело;}
Инициализация - выполняется однократно. Условие - проверяется перед каждым проходом. Приращение - выполняется после каждого прохода. Код в теле цикла - выполняется, если выполняется условие.
while (условие) {тело цикла;}
Условие - проверяется перед каждым проходом. Код в теле цикла - выполняется, если выполняется условие.
do {тело цикла;} while (условие);
Условие - проверяется после каждого прохода. Код в теле цикла - выполняется, если выполняется условие.
if (условие) {тело оператора;}
Код в теле оператора - будет выполнен если выполняется условие.
if (условие) {тело1;} else {тело2;}
Если условие выполняется, то будет выполнен код тела1, иначе, код тела2.
if (условие1) {тело1;} else if (условие2) {тело2;}
Если выполняется условие1, то будет выполнен код тела1, иначе,
если выполняется условие2, то будет выполнен код тела2.
Можно указать любое количество условий
переменная = условие ? значение1 : значение2;
Если условие выполняется, то оператор ?: вернёт значение1, иначе, значение2. Аналог конструкции: if(условие){A=значение1;}else{A=значение2;}
switch (переменная) { // проверяемое значение
case константа1: код; break; // сравнение и код
case константа2: код; break; // сравнение и код
default: код; // не обязательно
}
Будет выполнен весь код, который следует после константы, значение которой совпало с переменной. Если совпадений нет, то выполняется весь код, который следует после, необязательного, ключевого слова default. Оператор break описан ниже.
Прерывает выполнение кода, в теле любого цикла или оператора switch ... case, завершая его выполнение.
Прерывает выполнение кода в теле любого цикла, но не завершает его выполнение, а переходит к следующему проходу этого цикла.
void функция(параметры){ тело; ... return; ... тело;}
Прерывает выполнение кода в теле функции и передаёт управление коду, вызвавшему эту функцию. После оператора return можно указать значение, которое вернёт функция.
метка: ... код; ... goto метка;
Прерывает выполнение кода и передаёт управление коду, следующему за меткой.
B=&C; // значением B станет адрес переменной C.
(взятие адреса) Возвращает адрес переменной или функции, а не значение.
B=*C; // значением B станет значение на которое ссылается указатель C.
(разыменование) Возвращает значение переменной по указателю, а не её адрес.
Подключение кода из файла: #include <имя_файла.h>
Установка макроса как константы: #define ccc 10
Установка макроса как функции: #define fff(a) ((a)*(a))
Отмена макроса: #undef fff
Директивы условной компиляции. Код между #if и #endif будет скомпилирован, только если выполняется условие.
Работает с директивой #if, как оператор if...else.
Работает с директивой #if, как оператор if...else if.
Сокращённая запись «#if defined fff»: #ifdef fff // если макрос установлен.
Сокращённая запись «#if (!defined fff)»: #ifndef fff // если макрос не установлен.
Вывод сообщения компилятором: #error сообщение об ошибке.
Вывод сообщения компилятором: #warning предупреждение.
Присвоение
int A = 18; // A = 18
Сложение
int A = 18 + 4; // A = 22
Умножение
int A = 18 * 4; // A = 72
Деление
int A = 18 / 4; // A = 4
Остаток от деления
int A = 18 % 4; // A = 2
Ложь, используются вместо 0
Истина, используется вместо 1
Ложь, используются вместо 0
Истина, используется вместо 1
Ложь, используются вместо 0
Истина, используется вместо 1
Ложь, используются вместо 0
Истина, используется вместо 1