Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c-operators.doc
Скачиваний:
7
Добавлен:
08.11.2018
Размер:
198.14 Кб
Скачать
      1. Символьные константы

Символьная константа - это один символ из допустимого набора символов, заключенный в одиночные кавычки (апострофы):

  • 'A'

  • 'x'

  • '3'

  • '\'

  • '+'

  • '.'

Таблица кодов символов, используемая компьютером, определяет те целые значения, которые будут связаны с каждым символом. Сами же символьные константы не зависят от этой таблицы, поэтому программы на Си не связаны с особенностями конкретного компьютера.

Так как для хранения символа используется один байт, то имеется возможность дополнить эту таблицу расширением для кодов от 128 до 255, куда включают символы национальных алфавитов, псевдографики и другие.

Символьные константы во внутреннем представлении нужно рассматривать как небольшие целые числа.

      1. Строковые константы

Строковая константа состоит из последовательности любого числа символов, в том числе и ни одного, заключенных в двойные кавычки:

  • "green"

  • "270-32-3456"

  • ""

  • "\19.95"

  • "Строка 1nСтрока 2n"

  • "\verb*! !"

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

В тех случаях, когда требуется включить в строку backslash () или кавычки, их нужно представить в виде соответствующих escape-последовательностей.

Компилятор автоматически помещает нулевой символ (0) в конец каждой строковой константы. Этот символ не высвечивается, а служит признаком конца строковой константы. Это очень полезно при посимвольной обработке строк и позволяет избежать необходимости задания максимальной длины строки.

Важно заметить, что символьная константа и соответствующая ей строковая константа из одного символа, например, 'A' и "A", не эквивалентны, так как строковая константа содержит два символа. Кроме того, символьная константа эквивалентна некоторому целому числу, а строковая - нет (вообще говоря, строковая константа представляет некоторое значение - это ее адрес в памяти).

      1. Задание.

Определить, где и какие допущены ошибки при записи следующих констант:

  • 'a' 'n' '' '052' 'a' '/n' 'ф' '8.15 p.m.'

  • "Красное и черное" "Chapter 3 (Cont 'd" "1.3e12"

  • "Он сказал: "Не спите на занятиях"

      1. Вопросы.

1. В чем преимущества беззнаковых и длинных констант?

2. Может ли отрицательная восьмеричная константа быть длинной?

3. Какие максимально допустимые значения могут принимать:

a) беззнаковая шестнадцатеричная длинная константа;

б) беззнаковая длинная восьмеричная константа?

4. Какие ошибки допущены при записи следующих констант:

0X1a234 01281 X19FA 0x1AL1 0xAB.12

5. Какая форма записи констант носит название научной нотации?

6. Почему константы с плавающей точкой по своей природе являются приближенными?

  1. Основные операции языка Си

    1. Общие положения

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

Элементы данных ( data items), которые участвуют в операции, называются операндами. В зависимости от числа операндов, операции делятся на унарные (с одним операндом), бинарные (с двумя операндами). В Си имеется также операция, в которой используются три операнда ( тернарная). В качестве операндов у большинства операций могут быть выражения.

Другая классификация операций основана на их содержании — арифметические, логические, сравнения и т.п.

Все операции в Си сгруппированы иерархически в соответствии с их приоритетом. Операции с более высоким приоритетом выполняются раньше, чем операции с более низким. Естественный порядок выполнения операций можно изменить с помощью круглых скобок.

Другим важным свойством операций является их ассоциативность, т.е. порядок, в котором будут выполняться последовательно расположенные операции одного приоритета. По этому признаку операции делятся на левоассоциативные, выполняемые в порядке записи (слева направо), и правоассоциативные (справа налево).

Третье свойство, определяющее операции, — это позиция символа операции (оператора) по отношению к операндам в записи операции. Различаются три позиции:

  • префиксная — символ операции стоит перед операндом, на которыйон воздействует;

  • инфиксная — символ операции стоит между операндами;

  • постфиксная — когда символ операции стоит после операнда.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]