Представление информации в языке Си

Простые типы данных. В Си можно использовать различные типы данных для представления хранимой и обрабатываемой информации. В MPLAB C18 используются две разновидности типов: целые и с плавающей точкой. Данные каждого типа занимают определенное количество байт памяти.

Основные целые типы данных:

char – однобайтное;

int – двухбайтное;

long – четырехбайтное.

По умолчанию целые типы являются данными со знаком. При использовании их без знака, они записываются как unsigned char, unsigned int, unsigned long.

Данные каждого типа могут принимать значения в известном диапазоне. Например, char как однобайтное число со знаком имеет диапазон от -128 до +127. Беззнаковое unsigned char имеет диапазон от 0 до 255.

Данные с плавающей точкой обозначаются как float и занимают в памяти 4 байта.

Основные объекты, с которыми работает программа на языке Си – переменные и константы

Константы. Термин константа, в общем случае, относится к значению, которое не может быть изменено в ходе выполнения программы. В языке Си константы могут быть строковыми, символьными, целыми и вещественными (с плавающей точкой). Табл. 1 описывает форматы, соответствующие каждому виду констант.

Таблица 1.

Константа Формат Примеры
символьная Символ, заключенный в апострофы ‘A’, ’!’
целая Десятичный: последовательность цифр, не начинающаяся с нуля Шестнадцатиричный: префикс 0x, за которым следуют шестнадцатиричные цифры Двоичный: префикс 0b, за которым следуют двоичные цифры   23 , 69 , 789   0x57 , 0xA5   0b10101010
вещественная Десятичный: [цифры].[ цифры ] Экспоненциальный: [цифры]Е(е)+(-)[цифры ] 1. , 2.54 5е6, 2.3Е-8, 5.67е-5
строковая “Символы” “hello”

 

Переменные. Чтобы выделить память для данных конкретного типа, нужно определить (объявить) переменную. Сначала указывается тип данных, а затем имя переменной, как указано ниже:

int i; // Определение целой двухбайтовой переменной i со знаком

unsigned char counter = 0; //Определение и инициализация однобайтной

// беззнаковой переменной counter

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

Имена переменных могут состоять из букв латинского алфавита, цифр и символа подчеркивания ( _ ), который считается буквой. Первый символ имени обязательно должен быть буквой или символом подчеркивания. Строчные и заглавные буквы различаются, т. е. Beta, beta и BETA – это различные имена. Число символов в имени не ограничено, но значимыми (для компилятора) являются только первые 32 символа. Остальные символы имени игнорируются. Для удобства чтения программ рекомендуется в качестве имен переменных использовать только строчные буквы. Символ подчеркивания обычно используется для разделения слов, чтобы сделать имя более понятным, например, city_tax вместо citytax.

В качестве имен переменных и констант нельзя использовать зарезервированные в Си слова (ключевые слова), например: if , else, for, const, char и т.д.


Операции и выражения в Си

Выражения в языке Си – это последовательность операндов, операций и символов-разделителей. Операнды – это переменные, константы либо другие выражения. По числу операндов, участвующих в операции, различают две группы операций: унарные (один операнд) и бинарные (два операнда). По типу выполняемой операции различают арифметические, поразрядные логические, сдвига, логические, операции отношения и др.

Арифметические операции. Язык Си включает стандартный набор арифметических операций сложения (+), вычитания (-), умножения (*) и деления (/), не требующих особого пояснения. Специфичными для Си являются операции определения остатка (%), инкремента (++) и декремента (--).

Поразрядные логические операции. В Си используются:

& - поразрядное логическое И (AND);

| - поразрядное логическое ИЛИ (OR);

^ - поразрядное исключающее ИЛИ (XOR);

~ - поразрядная инверсия.

Операции сдвига. Си имеет две операции поразрядного сдвига:

<< - сдвиг операнда влево на число двоичных разрядов, указанное справа от знака операции;

>> - сдвиг операнда вправо на число двоичных разрядов, указанное справа от знака операции.

Логические операции и операции отношения. Эти операции используются для формирования логических выражений, имеющих только два значения: 1, если логическое выражение ИСТИННО (по англ. TRUE), и 0, если логическое выражение ЛОЖНО (по англ. FALSE). Следует отметить, что в языке Си нет логических данных (boolean).

Операции отношения обозначаются следующим образом:

== равно; != не равно; < меньше; > больше; <= меньше или равно; >= больше или равно.

Логические операции обозначаются:

&& - логическое И;

| | - логическое ИЛИ;

! – логическое НЕ.