Представление информации в языке Си: имена, типы данных, переменные и константы, массивы и строки
Имена переменных или констант могут состоять из букв латинского алфавита, цифр и символа подчеркивания ( _ ), который считается буквой. Первый символ имени обязательно должен быть буквой или символом подчеркивания. Строчные и заглавные буквы различаются, т. е. Beta, beta и BETA – это различные имена. Число символов в имени не ограничено, но значимыми (для компилятора) являются только первые 32 символа. Остальные символы имени игнорируются. Для удобства чтения программ рекомендуется в качестве имен переменных использовать только строчные буквы. Символ подчеркивания обычно используется для разделения слов, чтобы сделать имя более понятным, например, city_tax вместо citytax. В качестве имен переменных и констант нельзя использовать зарезервированные в Си слова (ключевые слова), например: if , else, for, const, char и т.д. Простые типы данных. В Си можно использовать различные типы данных для представления хранимой и обрабатываемой информации. Все типы можно разбить на две группы: целые и с плавающей точкой. Данные каждого типа занимают определенное количество байт памяти и могут принимать значения в известном диапазоне. Наиболее часто в программах на языке mikroC применяются следующие типы: char – однобайтное целое без знака, диапазон чисел (десятичный формат) от 0 до 255; signed char – однобайтное целое со знаком, диапазон чисел от -128 до 127; int – двухбайтное целое со знаком, диапазон от -32768 до 32767; unsigned int – двухбайтное целое без знака, диапазон от 0 до 65535; long – четырехбайтное целое со знаком, диапазон от -2147483648 до 2147483647; unsigned long – четырехбайтное целое без знака, диапазон от 0 до 42949667295; float – четырехбайтное число в формате с плавающей точкой.
Основные объекты, с которыми работает программа на языке Си – переменные и константы Константы. Термин константа, в общем случае, относится к значению, которое не может быть изменено в ходе выполнения программы. В языке mikroC константы могут быть строковыми, символьными, целыми и вещественными (с плавающей точкой). Табл. 1 описывает форматы, соответствующие каждому виду констант. Таблица 1
Переменные. Чтобы выделить память для данных конкретного типа, нужно определить (объявить) переменную. Сначала указывается тип данных, а затем имя переменной, как указано ниже: int i; // объявление целой двухбайтовой переменной со знаком char counter; // объявление однобайтной беззнаковой переменной Объявляя (определяя) переменную, можно присвоить ей начальное значение. Можно также определить несколько переменных одного типа, перечисляя их через запятую: char counter = 0; float num1 = 12.34, num2 = 56.78, num3;
Для объявления констант необходимо использовать ключевое слово const. Также рекомендуется имена констант записывать заглавными буквами. Константам следует присвоить значение при объявлении. Например: const int DAYS_IN_WEEK = 7; const char CLIENT = “Ivanov”;
Массивы и строки
Многие программы требуют использования многочисленных данных, которые имеют одинаковые характеристики. В таких случаях удобно поместить данные в массив, где они получат одно и то же имя. Формат объявления массива: тип_данных имя_массива[количество_элементов]; Количество элементов в массиве называют также размерностью массива. Например: char array[5]; // массив из 5 целых однобайтных чисел Доступ к элементам массива реализуется с помощью индекса – порядкового номера элемента, начинающегося с 0. Так, в рассматриваемом примере array[0] является 1-м элементом массива, а array[4] – это последний 5-й элемент массива. Массив хранится в памяти в последовательных ячейках следующим образом:
Адрес Содержимое
Данные могут быть записаны в массив путем указания имени массива и индекса. Например, для записи числа 25 во второй элемент массива мы должны записать: array[1] = 25; Похожим образом содержимое массива может быть прочитано с указанием имени массива и его индекса. Например, для копирования третьего элемента массива в переменную vrem мы должны записать: char vrem; ……………. vrem = array[2]; Содержимое массива может быть инициализировано во время объявления массива. Например: int digits[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; При инициализации массива можно его объявлять без указания его размера: int digits[ ] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; Компилятор сам определит размерность массива по количеству его элементов. В mikroC (как и в стандартном Си) могут использоваться многомерные массивы. Многомерный массив – это множество одномерных массивов. Двумерный массив объявляется следующим образом: тип_данных имя_массива[размер_1] [размер_2]; Здесь размер_1 – это число строк, а размер_2 – это число столбцов. Например: int mas[10] [2]; // двумерный массив 10 × 2 Двумерный массив обычно называют матрицей, а одномерный – вектором.
В языке mikroC (как и в стандартном Си) отсутствует строковый тип данных. Вместо этого используется массив, состоящий из символов в коде ASCII. Конечным элементом такого массива является нулевой символ, обозначаемый как ‘\0’. Иногда этот символ называют нуль-терминатором. Следует отметить, что ASCII-код символа ‘\0’ равен 0x00 = 0, в отличие от кода цифры 0, который равен значению 0x30 = 48. Строки могут быть объявлены двумя способами: 1) с указанием каждого символа, заключенного в одинарные кавычки (апострофы), и в конце строки помещается нулевой символ: char mystring[ ] = {‘C’, ‘O’, ‘M’, ‘P’, ‘\0’}; 2) путем заключения строки в двойные кавычки: char mystring[ ] = “COMP”; При размещении такой строки в памяти компилятор автоматически в конце добавит нулевой символ ‘\0’.
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (3093)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |