Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Константы вещественного типа
Данные константы размещаются в памяти в формате double, а во внешнем представлении могут иметь две формы: 1) с фиксированной десятичной точкой, формат записи: ±n.m, где n, m – целая и дробная части числа; 2) с плавающей десятичной точкой (экспоненциальная форма) представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (Е или е), а порядок – справа. Значение константы определяется как произведения мантиссы и числа 10, возведенного в указанную в порядке степень. Общий формат таких констант: ±n.mE±p, где n, m – целая и дробная части числа, р – порядок; ±0.xxxE±p – нормализованный вид, например, 1, 25× 10–8 = 0.125E–7. Примеры констант с фиксированной и плавающей точками: 1.0 –3.125 100е–10 0.12537е+12. Пробелы внутри чисел не допускаются, а для отделения целой части числа от дробной используется точка. Можно опустить нулевую дробную или целую части числа, но не обе сразу, например, 1.0 « 1. или 0.5 «.5. В любом случае при использовании вещественных констант наличие так называемой десятичной точки обязательно.
Символьные константы Символьная константа – это символ, заключенный в одинарные кавычки: 'A', 'х' (тип char занимает в памяти один байт). Также используются специальные последовательности символов – управляющие (escape) последовательности:
Символьная константа '\0' – это нулевой байт, каждый бит которого равен нулю. При присваивании символьным переменным значений констант значения констант заключаются в апострофы, например: char ss = ‘У’; Текстовые символы непосредственно вводятся с клавиатуры, а специальные и управляющие – представляются в исходном тексте парами символов, например: \\, \', \" . Примеры символьных констант: 'А', '9', '$', '\n'.
Строковые константы Строковая константа представляет собой последовательность символов кода ASCII, заключенную в кавычки (”). Во внутреннем представлении к строковым константам добавляется пустой символ '\0', который не является цифрой 0, на печать не выводится (в таблице кодов ASCII имеет код = 0) и является признаком окончания строки. Кавычки не являются частью строки, а служат только для ее ограничения. Строка в языке Си представляет собой массив, состоящий из символов. Внутреннее представление константы " 1234ABC": '1' '2' '3' '4' 'A' 'B' 'C' '\0'. Примеры строковых констант: " Система", " \n\t Аргумент \n", " Состояние \" WAIT \" " . Строковые константы еще называют строковыми литералами. В конец строковой константы компилятор автоматически помещает нуль-символ. Длинную строковую константу можно разбить на несколько, используя символ переноса – обратный слеш (\). Например: “Вы поступили и \ учитесь на факультете информационных технологий \ Белорусского государственного университета \ информатики и радиоэлектроники” Компилятор Си воспримет такую запись как единое целое, игнорируя символы обратного слеша. ГЛАВА 4. Обзор операций
Операции, выражения Выражения используются для вычисления значений (определенного типа) и состоят из операндов, операций и скобок. Каждый операнд может быть, в свою очередь, выражением или одним из его частных случаев – константой или переменной. Операнды задают данные для вычислений. Знак операции – это один или более символов, определяющих действие над операндами, т.е. операции задают действия, которые необходимо выполнить. Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарные – по количеству участвующих в них операндов, и выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Большинство операций выполняются слева направо, например, a+b+c ® ® (a+b)+c. Исключение составляют унарные операции, операции присваивания и условная операция (?: ), которые выполняются справа налево. В языке Си используются четыре унарные операции, имеющие самый высокий приоритет, их часто называют первичными: – операция доступа к полям структур и объединений при помощи идентификаторов «. » – точка; – операция доступа к полям структур и объединений при помощи указателей « –> » – стрелка; – операция [ ] индексации, используемая при декларации массива и обращении к его элементам; – операция ( ) обращения к функции. Первичные операции будут рассмотрены в соответствующих разделах. Полный список операций с указанием их приоритетов приводится в прил. 2.
Арифметические операции Обозначения арифметических операций: + (сложение); – (вычитание); / (деление, для int операндов – с отбрасыванием остатка); * (умножение); % (остаток от деления целочисленных операндов со знаком первого операнда – деление «по модулю»). Операндами традиционных арифметических операций (+ – * /) могут быть константы, переменные, обращения к возвращающим значения функциям, элементы массивов, любые арифметические выражения, указатели (с ограничениями). Порядок выполнения действий в арифметических выражениях следующий: выражения в круглых скобках; операции *, /, %; операции +, –. Унарные операции «знак числа» (+, –) обладают самым высоким приоритетом и определены для операндов числовых типов (имеющих числовой результат), при этом «+» носит только информационный характер, «–» меняет знак операнда на противоположный (неадресная операция). Операции *, /, % обладают высшим приоритетом над операциями +, –, поэтому при записи сложных выражений нужно использовать общепринятые математические правила: « x+y*z–a /(b+с), т.е. использовать круглые скобки.
Операция присваивания Формат операции присваивания: Операнд_1 = Операнд_2; Операндом_1 (левый операнд) может быть только переменная. Левый операнд операции присваивания получил название L–значение, (L–value, Left–value) – адресное выражение. Так в Си называют любое выражение, адресующее некоторый участок оперативной памяти, в который можно записать некоторое значение. Переменная – это частный случай адресного выражения. Операндом_2 (правый операнд) могут быть: константа, переменная или любое выражение, составленное в соответствии с синтаксисом языка Си. Правый операнд операции присваивания назвали R–значение, (R–value, Right–value). Присваивание значения в языке Cи, в отличие от традиционной интерпретации, рассматривается как выражение, имеющее значение левого операнда после присваивания. Таким образом, присваивание может включать несколько операций присваивания, изменяя значения нескольких операндов, например: int i, j, k; float x, y, z; ... i = j = k = 0; « k = 0, j = k, i = j; x = i + (y = 3) – (z = 0); « z = 0, y = 3, x = i + y – z; Примеры недопустимых выражений: – присваивание константе: 2 = x + y; – присваивание функции: getch() = i; – присваивание результату операции: (i + 1) = 2 + y; Популярное:
|
Последнее изменение этой страницы: 2016-03-16; Просмотров: 1755; Нарушение авторского права страницы