Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Условная операция ?: (тернарная операция)Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Формат записи: E1? E2: E3; где E1 – выражение целочисленного или вещественного типа; типы E1 и E2 должны совпадать и могут быть любыми. Выполнение данной операции зависит от истинности E1: - если E1 отлично от нуля, то вычисляется выражение E2, и результатом всей операции будет E2, при этом выражение E3 игнорируется; - если E1 равно нулю, то вычисляется E3, которое и будет результатом всей операции, при этом E2 вычисляться не будет. Логические выражения Логические выражения вычисляются так же, как и арифметические – в соответствии с приоритетами. В них можно так же изменять порядок выполнения операций расстановкой круглых скобок. Порядок и направление выполнения операций В выражении различные операции можно комбинировать. Рассмотрим некоторые из них. Например, выражение 2+2*2 будет равно 8 или 6? Операции, приведенные в таблице выше, будут вычислены раньше, или, как говорят, имеют более высокий приоритет, чем те, которые расположены ниже. Рассмотрим ещё один пример: какой результат даст выражение 40/5*2? Приоритет выполнения операций “/” и “*” одинаков, но в зависимости от того, какая операция будет вычислена первой, в данном случае можно получить два ответа: 16 или 4. Таким образом, при выполнении операций необходимо учитывать их направление: слева на право или наоборот. Эти данные также приведены в таблице.
Таким образом, при выполнении операций слева направо, первой из двух, имеющих одинаковый приоритет, будет выполнена левая операция, при выполнении справа налево – правая. Задание: Пример работы с АОС: Через ОПЕРАЦИИ | РЕЖИМ САМОСТОЯТЕЛЬНОЙ РАБОТЫ | (ОПЕРАЦИИ: ЛОГИЧЕСКИЕ И УВЕЛИЧЕНИЯ + ОПЕРАЦИИ ОТНОШЕНИЯ И УСЛОВИЯ + ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ) выйти к меню (цифры могут отличаться): Внимательно прочесть теорию (<F2>). Вычислить предложенные примеры, например: 1) PRINT(x||y||!z); Следуя вышеизложенным правилам и учитывая, что x, y, z уже заданы, имеем: 0||0||!2 т.е. 0||0||0, что равно 0. 2) z=++x + 2; PRINT(x); PRINT(z); имеем: z = 5 + 2 (x=5 при вычислении, т.к. префиксная форма записи указывает на инкремент до использования переменной в выражении). При выполнении этой строки переменные x и z принимают значения, равные 5 и 7 соответственно. Значение последней строки равно –2, проверьте. Переписать задание и ответы в тетрадь для лабораторных работ и перейти к выполнению следующего задания (нажать любую клавишу). Таким образом выполнить все предложенные задания. Для перехода к следующей теме («Операции отношения и условия») нажать <F10>. Переписать задание и ответы в тетрадь для лабораторных работ и перейти к выполнению следующего задания (нажать любую клавишу). Таким образом выполнить все предложенные задания. Для перехода к следующей теме (Логические выражения) нажать <F10>: Контрольные вопросы 1. Перечислите, какие логические операции вы знаете, и над какими типами выражений они могут производиться? 2. В чем заключается правило усечения? 3. Какие действия выполняет операция «++» и над какими типами она может выполняться? 4. Чем отличается запись ‘ X=Y ’ от ‘ X==Y ’? 5. Перечислите последовательность выполнения операций в выражении 6. При каком значении x в выражении --x&&++y&&++z; значение переменной y не изменится?
Лабораторная работа №8
Операторы и операции
Цель работы: Изучение арифметических, логических операций и операций отношения и присваивания.
Теоретические сведения Основу языка С составляют операторы. Оператором выражения называют выражение, вслед за которым стоит точка с запятой. В С точки с запятой используются для разделения операторов. Принято группировать все операторы в следующие классы: присваивания, вызов функции, ветвления и цикла. В операторе присваивания используется операция присваивания =, Например: c = a * b; Действие такого оператора можно описать следующими словами: " с присваивается значение а, умножение на b ". Значение, присваиваемое переменной с, равняется произведению текущих значений переменных а и b. Операторы часто относятся более чем к одному из четырех классов. Например: оператор: if ((c = cube(a * b)) > d) ... составлен из представителей следующих классов: присваивания, вызов функции, и ветвление. К понятию оператора вплотную примыкает понятие операции. Различаютследующие группы операций С: арифметические операции, операции отношения, операции присваивания, логические операции, побитовые операции, операция вычисления размера (sizeof) и операция следования (запятая). Арифметические операции К арифметическим операциям относятся: сложение (+), вычитание (-), деление (/), умножение (*) и остаток (%). Все операции (за исключением остатка) определены для переменных типа int, char, float. Остаток не определен для переменных типа float. Все арифметические операции с плавающей точкой производятся над операндами двойной точности. Операции отношения В языке определены следующие операции отношения: проверка на равенство (==), проверка на неравенство (!=), меньше (<), меньше или равно (<=), больше (>), больше или равно (>=). Все перечисленные операции вырабатывают результат типа int. Если данное отношение между операндами истинно, то значение этого целого - единица, а если ложно, то нуль. Все операции типа больше-меньше имеют равный приоритет, причем он выше, чем приоритет операций == и!=. Приоритет операции присваивания ниже приоритета всех операций отношений. Для задания правильного порядка вычислений используются скобки. Логические операции В языке имеются три логические операции: && операции И (and) || операции ИЛИ (or) ! отрицание Аргументами логических операций могут быть любые числа, включая задаваемые аргументами типа char. Результат логической операции - единица, если истина, и нуль, если ложь. Вообще все значения, отличные от нуля, интерпретируются как истинные. Логические операции имеют низкий приоритет, и поэтому в выражениях с такими операциями скобки используются редко. Вычисление выражений, содержащих логические операции, производится слева направо и прекращается (усекается), как только удается определить результат. Если выражение составлено из логических утверждений (т.е. выражения, вырабатывающие значения типа int), соединенных между собой операцией И (&&), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается значение нуль. Если выражение составлено из логических утверждений, соединенных между собой операцией ИЛИ (||), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается ненулевое значение. Вот несколько примеров, в которых используются логические операции: if(i > 50 && j == 24) ... if(value1 < value2 && (value3 > 50 || value4 < 20)) ... Операции присваивания К операциям присваивания относятся =, +=, -=, *= и /=, а также префиксные и постфиксные операции ++ и --. Все операции присваивания присваивают переменной результат вычисления выражения. Если тип левой части присваивания отличается от типа правой части, то тип правой части приводится к типу левой. В одном операторе операция присваивания может встречаться несколько раз. Вычисления производятся справа налево. Например: a = (b = c) * d; Вначале переменной d присваивается значение с, затем выполняется операция умножения на d, и результат присваивается переменной а. Операции +=, -=, *= и /= являются укороченной формой записи операции присваивания. Их применение проиллюстрируем при помощи следующего описания: a += b означает a = a + b. a -= b означает a = a - b. a *= b означает a = a * b. a /= b означает a = a / b. Префиксные и постфиксные операции ++ и -- используют для увеличения (инкремент) и уменьшения (декремент) на единицу значения переменной. Семантика указанных операций следующая: ++a увеличивает значение переменной а на единицу до использования этой переменной в выражении. а++ увеличивает значение переменной а на единицу после использования этой переменной в выражении. --a уменьшает значение переменной а на единицу до использования этой переменной в выражении. a-- уменьшает значение переменной а на единицу после использования этой переменной в выражении. Операцию sizeof (размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом. Например: printf ("\nРазмер памяти под целое %d", sizeof(int)); printf ("\nРазмер памяти под cимвол %d", sizeof(сhar)); Задание: Cоставить программу, использующую оператор присваивания, все арифметические операции, инкремент и декремент для вычислния какой-либо переменной по заданной самостоятельно формуле, а также операцию sizeof для определения занимаемого этой переменной объема памяти. Лабораторная работа № 9
Работа с автоматизированной обучающей системой: Цель работы: получить навыки в использовании операций управления языка С в автоматизированной обучающей системе.
Теоретические сведения В программировании часто встречаются такие ситуации, когда выполнение какого-нибудь действия зависит от определённых условий. Для разрешения этой проблемы в языке С существуют условные операторы if и switch. Операторы if, if…else Формат: if (условие) оператор [else оператор] где условие – это любое вычисляемое выражение. Если условие истинно, т.е. результат вычисления этого выражения отличен от нуля, то выполняется оператор (возможно, составной), стоящий после круглых скобок. После его выполнения вычисления продолжаются с первого оператора, стоящего сразу после оператора if. Если присутствует ветвь else, то при истинности условия оператор, стоящий после ключевого else, не выполняется. Он выполняется только в том случае, если условие ложно, т.е. результат вычисления условия равен нулю. Если условие ложно, а ветвь else отсутствует, то весь оператор if не выполнит никаких действий. Следует обратить внимание на то, что условие обязательно заключается в круглые скобки!!! В некоторых случаях возникает необходимость в совместном использовании нескольких операторов if, что может привести к неоднозначности типа «висящего else». Например:
|
|||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-08; просмотров: 601; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.96.108 (0.011 с.) |