Основы программирования на C++, PASCAL
char→shot→int→long
Порядок старшинства вещественных типов следующий:
float→double→long double
Следует иметь в виду, что при преобразовании целой величины к плавающему типу может произойти потеря точности (вместо 1 получится 0,999).
Следующий пример иллюстрирует порядок выполнения операций и происходящие преобразования типов при вычислении выражения (рис. 43, цифры вверху — порядок операций).
char ch; int i; float f;
double d; long double r;
Упражнения
1. Определить тип константы:
а) 315; б)-32.4; в) 102408; г) 3.7Е57; д) 0315;
е) 0х24; ж) 2.6L; з) 70700U; и) ' 5'; к) '\121'.
2. В программе объявлена переменная: int n=10. Определить результаты вычислений следующих выражений:
а) n++; б)++n; в) n%2; г) n/3; д) n/3.;
е) ++n+5; ж) 5+n++; з) (float)n/4;
и) sizeof(n); к) sizeof(l.*n).
3. Координаты точки на плоскости заданы переменными Х и Y. Записать следующие условия в форме логических выражений:
а) точка лежит в первой четверти координатной плоскости;
б) точка лежит на оси X;
в) точка лежит на одной из осей;
г) точка лежит в первой или второй четверти внутри единичной окружности;
д) точка лежит на единичной окружности в третьей или четвертой четверти;
е) точка лежит внутри кольца с внутренним радиусом 1 и внешним радиусом 2 во второй или четвертой четверти.
4. В программе объявлена переменная: float х=2. Какое значение получит переменная х в результате вычисления следующих выражений?
а) х+=2; б) х/=10; в) х*=(х+1); г) х+=х+=х+=1.
5. Определить значения выражений для трех вариантов объявления переменной х: 1) float x=l.; 2) float x=10.; 3) int x=l.
a) x>i?2*x:x; б) x/5==2?5:x/10; в) х>0&&х<=1?1:0.