Решение практических задач. Определение порядка управления операндов, страница 2

y+14=19                                    //окончательный ответ операции.

Задание 4. Выполнить программу на ПЭВМ. Получить результаты. Подробно объяснить значение операндов и полученные результаты.

# include <stdio.h>              //подключаем файл из стандартного каталога системы программирования

main ()                                    //главная функция(точка входа в программу)

{                                               //тело программы

intx=2,y=3,z=4;                   //производится объявление переменных и присваивание последним

//начальных значений

printf (“\nИсходные данные:x=%d,y=%d,z=%d\n”,x,y,z);        //печать исходных данных

x=x+y%z;                             //задано выражение с операциями для вычисления переменной x.

//По приоритету сначала будет вычислена операция деления по модулю,

// а затем операция сложения двух операндов. Результатом данного

//выражения будет число 5.

y+=++x;                                 //задано выражение с операциями для вычисления переменной y.

//Предыдущее значение переменной x будет увеличено на 1,

//т.е. переменная x сейчас будет равна 6. К имеющемуся значению

//переменной y (y=3) прибавляется увеличенное значение переменной x.

//Таким образом, y получит значение 9.

z=(y<<2) & (y>>2);            //задано выражение с операциями для вычисления переменной z.По

//приоритету сначала выполнится операция  сдвига y<<2, затем операция

//сдвига y>>2, и лишь затем побитовая операция &.

//для выполнения операции сдвига, необходимо перевести число 9 в

//двоичную систему счисления. В результате получаем y=9=1001.

// После выполнения операции сдвига влево   получим число 00001001.

// После выполнения операции сдвига вправо получим число 00000010.

//Выполняя побитовую операцию И  Z= (00001001) & (00000010)

//=00000000=0; получаем в результате 0.

printf (“Результат :x=%d, y=%d, z=%d\n\n ”,x,y,z);      //печать результатов вычисления.

}

ОТВЕТЫ: x=6, y=9, z=0

Задание 5. Изменить программу п.4 так, чтобы ввод исходных данных осуществлялся с клавиатуры по запросу.

# include <stdio.h>              //подключаем файл из стандартного каталога системы программирования

main ()                                    //главная функция(точка входа в программу)

{                                               /тело программы

intx, y ,z;                               //производится объявление переменных .

printf (“Введите x: ”);       //запрос исходных данных.

scanf(“%d”, &x);

printf (“Введите y: ”);       //запрос исходных данных.

scanf(“%d”, &y);

printf (“Введите z: ”)        //запрос исходных данных.

scanf(“%d”, &z);

x=x+y%z;                             //задано выражение с операциями для вычисления переменной x.

//По приоритету сначала будет вычислена операция деления по модулю,

// а затем операция сложения двух операндов. Результатом данного

//выражения будет число 5.

y+=++x;                                 //задано выражение с операциями для вычисления переменной y.

//Предыдущее значение переменной x будет увеличено на 1,

//т.е. переменная x сейчас будет равна 6. К имеющемуся значению

//переменной y (y=3) прибавляется увеличенное значение переменной x.

//Таким образом, y получит значение 9.

z=(y<<2) & (y>>2);            //задано выражение с операциями для вычисления переменной z.По

//приоритету сначала выполнится операция  сдвига y<<2, затем операция

//сдвига y>>2, и лишь затем побитовая операция &.

//для выполнения операции сдвига, необходимо перевести число 9 в

//двоичную систему счисления. В результате получаем y=9=1001.

// После выполнения операции сдвига влево   получим число 00001001.

// После выполнения операции сдвига вправо получим число 00000010.

//Выполняя побитовую операцию И  Z= (00001001) & (00000010)

//=00000000=0; получаем в результате 0.

printf (“Результат :x=%d, y=%d, z=%d\n ”,x,y,z);         //печать результатов вычисления.

}

ОТВЕТЫ: x=6, y=9, z=0.

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

#include <stdio.h>               //подключаем файл из стандартного каталога системы программирования

main ()                                    //главная функция(точка входа в программу)

{                                               //тело программы.

intb, a;                                 //происходит объявление переменных.

printf (“Введите a: ”);     //запрос исходных данных.

scanf(“%d”, &a);

b = (a<0)? –a: a;                //задана условная операция. При выполнении этой операции сначала

//проверяется, какое по знаку число а. Если а отрицательное, то мы

//изменяем знак у а; если же а положительное, то мы с операндом ничего

//не делаем и просто выводим его на печать.

printf (“Результат :b=%d”, b); //печать результатов вычисления.

}