Операции присваивания
Операция | Результат | Ограничения | Примеры выражений |
х=у | у приводится к типу х; х получает значение у | х, у могут быть любого типа, но не массивом | int a, b=2; char c='A' (код 65) float d=2.2; a=b (результат=2) a=c/2 (результат=32) а=d (результат=2) |
х <оп> =у | оп – знак операции (+, –, *, /, %, <<,>>,&, |, ^) х оп у приводится к типу х, х получает значение х оп у. | х, у могут быть любого типа, но не массивом или структурой | k+=2 (k=k+2) k*=2 (k=k*2) k>>=2 (k=k>>+2) k&=2 (k=k&2) |
Таблица приоритетов
Приоритет | Знак операции | Тип операции | Порядок выполнения операций одного приоритета |
( ) [ ] . - > | первичные (вызов функции, выбор элемента массива, доступ к полю структуры) | слева направо | |
- ~ ! * ++ -- & (тип) sizeof | унарные | слева направо | |
* / % | мультипликативные | слева направо | |
+ - | аддитивные | слева направо | |
<< >> | сдвиг | слева направо | |
< <= > >= | отношение (неравенство) | слева направо | |
= != | сравнения на равенство | слева направо | |
& | побитовое И | слева направо | |
^ | побитовое исключающее ИЛИ | слева направо | |
| | побитовое ИЛИ | слева направо | |
&& | логическое И | слева направо | |
|| | логическое ИЛИ | слева направо | |
? : | условие | слева направо | |
= *= /= %= += -= <<= >>= | присваивание | слева направо | |
, | запятая | слева направо |
Пример 1.
/*Программа демонстрирует работу с арифметическими операциями и операциями присваивания*/
#include <stdio.h>
void main() {
int a=5, b=2, vych, znak,
i=1, in, d=4, de, v=7,iv, q=3,dq,
t, r=8, n=41, k=28;
float c=2.7, sum, pro, del, ost, p=6.5, m=12.4;
/*Аддитивные операции*/
sum=a+c; /*сложение*/
printf("%2.1f\n",sum);
vych=a-b; /*вычитание*/
printf("%d\n\n",vych);
/*Мультипликативные операции*/
pro=a*c; /*произведение*/
printf("%3.2f\n",pro);
del=a/b; /*частное от деления*/
printf("%.2f\n",del);
ost=a%b; /*остаток от деления*/
printf("%1.2f\n",ost);
znak=-a; /*изменение знака*/
printf("%d\n\n",znak);
/*Операции увеличения (инкремент) и уменьшения (декремент)*/
in=++i; /*i увеличивается перед использованием*/
printf("%d %d\n",in,i);
de=--d; /*d уменьшается перед использованием*/
printf("%d %d\n",de,d);
iv=v++; /*после использования v увеличивается*/
printf("%d %d\n",iv,v);
dq=q--; /*после использования q уменьшается*/
printf("%d %d\n\n",dq,q);
/*Операции присваивания*/
t=a; /*t получает значение a*/ printf("%d\n",t);
r+=2; /*эквивалентно r=r+2*/ printf("%d\n",r);
p-=2; /*эквивалентно p=p-2*/ printf("%f\n",p);
n*=3; /*эквивалентно n=n*3*/ printf("%d\n",n);
m/=4; /*эквивалентно m=m/4*/ printf("%.3f\n",m);
k%=5; /*эквивалентно k=k%5*/ printf("%d\n",k);
}
Задания
1.Наберите код программы из Примера 1. Сохраните код в файл с именем aropoppr.cpp. Выполните компиляцию и запуск программы.
2.Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным штифтом). Используйте форматированный ввод-вывод данных. Добавьте комментарии к программному коду.
Вычисление стоимости покупки.
Введите исходные данные:
Цена тетради (руб.) -> 10.75
Количество тетрадей -> 5
Цена карандаша (руб.) -> 8.8
Количество карандашей -> 2
Стоимость покупки: 71.35 руб.
3.Написать программу вычисления площади полной поверхности прямоугольного параллелепипеда. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным штифтом). Используйте стандартные потоки ввода-вывода данных. Добавьте комментарии к программному коду.
Вычисление площади прямоугольного параллелепипеда.
Введите исходные данные:
Длина (см) -> 9
Ширина (см) -> 7.5
Высота (см) -> 5
Площадь поверхности: 300.00 кв. см
Домашние задания
1.Написать программу, вычисляющую скорость, с которой бегун пробежал дистанцию. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным штифтом). Используйте стандартные потоки ввода-вывода данных. Добавьте комментарии к программному коду.
Вычисление скорости бегуна.
Введите длину дистанции (метров)-> 1000
Введите время (с) -> 195
Дистанция (км): 1.0
Время (мин, с): 3 мин 15 с
Вы бежали со скоростью 0.3077 км/мин
2. Индивидуальное задание. Номер варианта определяется по журналу. В данном задании используйте форматированный ввод-вывод данных. Добавьте комментарии к программному коду.
Варианты индивидуального задания
№ | Задание |
1. | Дана длина ребра куба. Найти объем куба, площадь его боковой поверхности и объем шара, вписанного в этот куб. |
2. | Составить программу, отгадывающую натуральное четное число, загаданное пользователем. Ниже представлен рекомендуемый вариант диалога во время работы программы. Загадайте натуральное четное число Прибавьте к нему 4 Уменьшите на 6 Поделите на 2 Что у Вас получилось? Вы загадали число 8!!! |
3. | Продаются товары двух видов. Запросить с клавиатуры для каждого вида товаров цену, количество в начале рабочего дня и количество проданного товара. Вывести стоимость всех товаров в начале рабочего дня и стоимость всех непроданных товаров. |
4. | Продаются товары двух видов. Запросить с клавиатуры для каждого вида товаров цену, количество в начале рабочего дня и количество проданного товара. Вывести величину максимальной выручки, которую можно получить, и величину выручки, полученной на самом деле. |
5. | Покупаются продукты двух видов. Запросить с клавиатуры количество денег у покупателя, цену продуктов каждого вида и количество продуктов каждого вида, приобретенное покупателем. Вывести на экран, сколько денег осталось у покупателя. |
6. | Сколько Мбайт информации содержит сообщение, записанное с помощью N-символьного алфавита (N = 2, 8, 16, 32)? В сообщении S страниц, на каждой странице K строк по T символов. |
7. | Файл содержит точечную черно-белую фотографию 10´15 см, каждый квадратный сантиметр содержит 300 точек, используется палитра из 8 цветовых градаций. Каков общий информационный объем файла в килобайтах? |
8. | Даны R – радиус основания и H – высота цилиндра. Составьте программу вычисления объема и площади полной поверхности цилиндра. |
9. | Продав квартиру, вы получили 52 000 долларов и положили их в банк. Банк начисляет 1% в первый месяц, а каждый следующий – тоже 1%, но уже с общей суммы с учетом начисленных процентов. Сколько денег будет в банке на вашем счету через год? |
10. | Допустим, вы получили наследство 1 000 000 долларов и хотите красиво пожить. После долгих раздумий вы решаете, что будете жить на 8000 долларов в месяц. На сколько лет и месяцев вам хватит наследства? |
11. | Идет k-я секунда суток. Определить, сколько полных часов (Н) и полных минут (М) прошло к этому моменту (Например, Н=3 и М=40, если k=13 237=3*3600+40*60+37). |
12. | Даны три сопротивления R1, R2 и R3, которые соединены параллельно. Найдите сопротивление соединения. Ответ дать с точность до трех знаков после запятой. |
13. | Сумма первых n элементов арифметической прогрессии вычисляется по формуле Sn = (a1 + an) · n/2. Даны a1, d, m, n. Составьте программу вычисления суммы членов арифметической прогрессии, начиная с номера m до n включительно (m<n). |
14. | Полторы кошки за полтора часа съедают полторы мышки. Сколько мышек съедят x кошек за y часов? |
15. | Дана величина I, выражающая информационный объем в битах. Составьте программу, которая переводит эту величину в Мегабайты, Килобайты, байты. |
16. | Смешано v1 литров воды температуры t1 c v2 литрами воды температуры t2. Найти объем и температуру образовавшейся смеси. Потерями энергии пренебречь. |
17. | Известна длина окружности с. Найти площадь круга, ограниченного этой окружностью. Ответ дать с точностью до 4-х знаков после запятой. |
18. | Найти произведение цифр заданного четырехзначного числа. |
19. | Дано действительное число х. Используя только сложение, вычитание и умножение, вычислите значение выражения за 8 операций: 2x4– 3x3+ 4x2– 5x + 6. |
20. | Найти сумму цифр заданного пятизначного числа. |
21. | Дано вещественное число. Составьте программу, печатающую цифру разряда десятых данного числа. |
22. | Дано трехзначное число. Составьте программу вывода на экран числа полученного перестановкой цифр сотен и единиц данного числа. Например, из числа 123 получится 321. |
23. | Дано трехзначное число. В нем зачеркнули цифру сотен и приписали ее в конце справа. Составьте программу, печатающую полученное число. Например, из числа 123 получится 231. |
24. | Слили два раствора кислоты: первый раствор массой m1 и концентрацией k1, второй массой m2 и концентрацией k2. Составьте программу определения массы и концентрации смеси. |
25. | Собственная скорость катера v1 км/ч, скорость течения реки v2 км/ч. Катер прошел по озеру s1 км и s2 км по реке, впадающей в это озеро. Составьте программу нахождения всего времени движения катера. Ответ дайте с точностью до двух цифр после запятой. |
26. | Из цилиндра с высотой h и радиусом основания r вырезали конус с такой же высотой и таким же радиусом основания. Найдите объем оставшейся части. |
27. | В течение года цена на товар выросла трижды: на Р1%, на Р2% и на Р3%. На сколько процентов по сравнению с началом года выросла цена на товар? |
28. | От круга радиуса R отрезали сектор с дугой a градусов (0o<a<360o). Найдите объем конуса, в который свернули сектор. |
Дата добавления: 2015-02-16; просмотров: 735;