![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 142143144145146147148 ... 159 ♦ unsigned int (целый без знака); ♦ float (с плавающей точкой). Разрядность целочисленных данных int обычно равна размеру слова процессора или операционной системы. Для PC int может быть словом (16 бит) или двойным словом (32 бита). Для PIC-микроконтроллера int, как правило, составляет 8 бит (байт). В реализации языка могут задаваться и другие базовые типы. Одномерные массивы объявляются следующим образом: Тип имя массива [размер] [= {начальные значения...}]; Обратите внимание, что размер (Size) массива заключен в квадратные скобки ([ и ]) и его не надо путать с необязательными параметрами, например значением при инициализации. Строки определяются в виде одномерных ASCIIZ-массивов char String [11] = "Это строка"; где последний знак - ASCII-ноль (NUL). Строки также могут задаваться как указатели знаков: char .String = "Это строка"; хотя при такой реализации текст "Это строка должен сохраняться в двух местах (в программе и в области данных). В случае PIC-микроконтроллеров и других процессоров с гарвардской архитектурой текстовые данные могут записываться в пространство данных в то время, когда приложение запускается как аргумент (то есть как объект обработки) компилятора языка. При определении многомерных массивов каждый размер указывается отдельно в квадратных скобках: int ThreeDSpace [32 ] [32 ] [ 32 ]; Размерность массива необходимо задавать всегда, если это не указатель одномерного массива. Указатели объявляются с помощью знака «звездочка» (♦), стоящего после типа: char *String = "Это строка"; Адрес (значение указателя) объекта в памяти может быть получен при помощи знака (операции) &: StringAddr = &String; Адрес определенного элемента в строке получа) тся с помощью знака (операции) & следующим образом: StringStart = &String [n]; Для ПК, работающих с MS DOS, рекомендуете [, чтобы «длинные» 32-разрядные указатели (fa г) внутри простраг ства памяти ПК всегда использовались с абсолютными адресами j формате «сегмент: смещение», что позволит избежать проблем, связанных с изменением сегментов. Что касается Р1С-микроконт оллеров, в этом случае все адреса могут задаваться двумя байтами. Тип переменной легко переопределить, если г оставить перед ней новый тип, заключенный в круглые скобки: (long) StringAddr = 0x0123450000; Операторы Главная программа приложения имеет следующий вид: main (envp) char *envp; { Начало программы приложения. : Код приложения. } Конец программы приложения. Формат функции выглядит так: тип функции имя функции (спецификация формальных параметров) тело функции и записывается следующим образом: Return Type Function ( Type Parameter [, Type Parameter...]) i Начало функции. : Код функции. return value Возвращаемое значение. } Конец функции. Прототип функции (описание функции) обозна [ается как: Тип функции имя функции (спецификация формальных параметров) тело функции; Пример записи: Return Type Function ( Type Parameter [, Type Parameter,..]); Выражения представляются в виде: [( ] переменная 1 константа [оператор [( ] переменная константа ] [) ]] Оператор присваивания языка С: Variable = Expression, (Переменная = Выражение) Условные операторы языка С В языке С существуют следующие условные операторы: if, while, do, for и switch. Оператор if определяется таким образом: if ( Оператор ), I {оператор присваивания условный оператор ) оператор присваивания условный оператор [else, I { оператор присваивания условный оператор } оператор присваивания условный оператор Оператор ? (условное выражение задается лексемами и ) анализирует выражение (обычно это сравнение). Если оно не равно О, то выполняется первый оператор, в противном случае - оператор, стоящий после двоеточия: оператор оператор присваивания условный оператор оператор присваивания условный оператор Оператор while применяется согласно следующему определению: while ( оператор ) (оператор присваивания условный оператор ) оператор присваивания условный оператор While (выражение услсвие) тело цикла Оператор for определяется так: for ( инициализация цикла, 8ыражение условие список выражений) тело цикла Для выхода из текущего цикла предназначен оператор break: Ьгеак, 0 ... 142143144145146147148 ... 159 |