Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Операция явного преобразования типа.




Операция преобразования (приведения) типа (ранг 2) имеет следующий формат:

(имя_типа) операнд

Такое выражение позволяет преобразовывать значение операнда к заданному типу. В качестве операнда используется унарное выражение, которое в простейшем случае может быть переменной, константой или любым выражением, заключенным в круглые скобки. Например, преобразования (long)8(внутреннее представление результата имеет длину 4 байта) и (char)8 (внутреннее представление результата имеет длину 1 байт) изменяют длину внутреннего представления целых констант, не меняя их значений.

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

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

16. Префиксные, постфиксные операции.

В языке существуют две нетрадиционные операции – операция увеличения (инкремента) «++» и операция уменьшения (декремента) «--» на единицу значения операнда. Операции имеют префиксную(++а или - - азначениеоперации стоит до операнда)и постфиксную(а++ или а--значениеоперации стоит после операнда) формы записи. Префиксная - значение операнда асначала изменяется, а затем используется для дальнейших вычислений. Постфиксная -значение операнда асначала используется, а затем изменяется .

17. Операция сравнения (возможно присваивания)Операция присваивания обозначается знаком = , и используется для реализации оператора присваивания. В отличие от других языков в языке С оператор присваивания может использоваться “внутри” различных управляющих операторов.В фрагменте If ((c=a-b)<0) printf (“число а меньше чем b“) сначала вычисляется величина a-b, которая присваивается переменной c, затем сравнивается ее значение с нулем. Кроме того, в языке С имется возможность многократного присваивания, например: a=b=c=x+y. Здесьсначала вычисляется значение x+y, затем оно присваивается переменной c, потом b, и лишь затем a. В левой части оператора присваивания должно стоять выражение, которому можно присвоить значение. Такое выражение в языке С, например просто переменная, называется величиной lvalue. Выражение 3 = 3 ошибочно, так как константе нельзя присвоить никакое значение: константа не является величиной lvalue.В языке С имеются дополнительные операции присваивания +=, -=, /=, *=, %=.Вместо выражения a=a+7 можно использовать выражение a+=7. Здесь += аддитивная операция присваивания, в результате выполнения которой величина, стоящая справа, прибавляется к значению переменной, стоящей слева. Аналогично выполняются остальные дополнительные операции присваивания.Дополнительные операции присваивания имеют тот же приоритет, что и операция =, т. е. ниже, чем приоритет арифметических операций. Необходимо отметить, что операция a+=7 выполняется быстрее, чем операция а=а+7. 18. Логические операции.Логические операции в языке С соответствуют классическим логическим операциям AND(&&), OR(||) и NOT(!), а их результат приводится в таблицеЛогические операции и их результат X Y X AND Y X OR Y NOT X X XOR Y 0 0 0 0 1 0 1 0 0 1 0 1 X Y X AND Y X OR Y NOT X X XOR Y 0 1 0 1 1 1 1 1 1 1 0 0Операция XOR называется операцией “исключающее или”. В языке С нет знака логической операции XOR, хотя она может быть реализована с помощью операций AND, OR, NOT. Далее будут рассмотрены побитовые операции, среди которых операция “исключающее или” уже есть.Логические операции имеют более низкий приоритет, чем арифметические операции.В логических выражениях также можно использовать круглые скобки, которые имеют наивысший приоритет. Кроме того, использование круглых скобок позволяет сделать логические выражения более понятными и удобными при чтении текста программ. Логические выражения, чаще всего, используются в управляющих операторах языка С

Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:

· ключевые слова;

· данные;

· выpажения и т.д.

Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).

 

19, 20 Условный оператор

Условный оператор является простейшим средством для программирования

разветвленных алгоритмов.

 

В качестве выражения_условия может использоваться арифметическое выражение, отношение и логическое выражение (т.е. произвольное выражение, приводимое к логическому значению).

Сначала вычисляется значение выражения, стоящего в скобках, если результатом является

логическое значение "истина" (выражение отлично от нуля), то выполняется оператор1. В противном случае выполняется оператор2 в else-части условного оператора.

Условный оператор может не иметь часть else , тогда он называется сокращённымусловным оператором.


Поделиться:

Дата добавления: 2015-04-18; просмотров: 121; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты