Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование лекции.doc
Скачиваний:
32
Добавлен:
03.12.2018
Размер:
4.85 Mб
Скачать

Контрольные вопросы

  1. Алфавит языка. Дайте его определение. Какое множество символов он включает?

  2. Чем определяются правила кодировки символов в С#? Какая кодировка символов используется в языке?

  3. Какие виды лексем существуют? Перечислите их.

  4. Осветите концепцию типов данных в языках программирования.

  5. Какие типы данных существуют? Дайте их классификацию.

  6. Какие типы данных относятся к простым встроенным типам?

  7. Охарактеризуйте каждый встроенный тип.

  8. Что такое стандартный и пользовательский типы данных?

  9. Что понимается под литералом, как распознается его тип? Поясните определенные соглашения распознавания типа литерала по умолчанию. Как можно явно наделить литерал требуемым типом?

  10. Что такое идентификаторы, разделители, специальные символы?

  11. Как интерпретируется и для чего исполь­зуется управ­ляющая последовательность?

  12. Дайте определение переменной. Для чего в программе предназначены переменные? Какие значения могут иметь переменные?

  13. Приведите примеры объявления переменных.

  14. Что такое область видимости переменных?

  15. Поясните назначение, правила определения и использования именованных констант.

Глава 5. Операции и выражения. Программы линейной структуры

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

5.1 Выражения

Выражение это синтаксическая единица языка, определяющая способ вычисления некоторого значения.

Для формирования выражений используются операнды. Выражения строятся из операндов, различных знаков операций и скобок. Операндами простейших выражений могут быть: константы, переменные, функции. Например, 2*х + 1 это выражение, в котором символы «*» и « являются знаками операций, а х и 1 – операндами. Частным случаем выражения является одиночный операнд.

Константы и переменные были рассмотрены в предыдущей главе.

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

5.1.1 Операции

В C#, как и в других языках, все операции в выражении выполняются в определенном порядке в соответствии с приоритетами. Ниже перечислены группы операций в порядке убывания их приоритетов:

  • первичные операции;

  • унарные операции;

  • мультипликативные операции;

  • аддитивные операции;

  • сдвиговые операции;

  • операции отношения и действия над ними;

  • проверка на равенство;

  • поразрядные логические;

  • условные логические;

  • условный оператор;

  • присваивания.

Пробелы внутри знака операции, состоящей из нескольких сим­волов, не допускаются. По количеству участвующих в одной операции опе­рандов операции делятся на унарные, бинарные и тернарную.

Несколько операций одного и того же приоритета выполняются слева направо. Исключением являются операции присваивания и условная операция, которые выполняются справа налево. Для изменения порядка выполнения опе­раций используются круглые скобки, уровень их вложенности не ограничен. При заключении в круглые скобки приоритет операции повышается. Наличие скобок не влияет на скорость вычислений.

Избыточные или дополнительные скобки не приводят к ошибкам. Однако при несовпадении количеств открывающих и закрывающих скобок будет диагностирована ошибка.

Любое выражение языка C# может включать символы табуляции или пробелы. Подобные возможности целесообразно использовать для повышения читабельности выражений, а следовательно, и понятности всей программы.

Примеры арифметических выражений:

(r*s)/25-pow(y,2)+log10(x);

(a*sin(sqrt(y*y-a)+d)-abs(a-e))/(d-pow(a+y,2));

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

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

Большую часть операций С#, назовем их основными, можно отнести к следующим категориям: арифметические, побитовые, логические, отношений. Рассмотрим эти категории.