Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решения по С++(Слабженников).doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
336 Кб
Скачать
☆

Void main()

{

int n_int=INT_MAX;

short n_short=SHRT_MAX;

long n_long=LONG_MAX;

cout<<"int is "<<sizeof(int)<<" bytes.\n";

cout<<"short is "<<sizeof(short)<<" bytes.\n";

cout<<"long is "<<sizeof(long)<<" bytes.\n";

getch();

}

Добавьте в код программы инструкцию вывод на экран количество байт, выделяемых операционной системой под переменные типа float, double и long double.

#include <iostream> #include <climits>//#include <limits.h>#include <float.h> using namespace std; void main() { int n_int=INT_MAX; short n_short=SHRT_MAX; long n_long=LONG_MAX; cout<<"int is "<<sizeof(int)<<" bytes.\n"; cout<<"short is "<<sizeof(short)<<" bytes.\n"; cout<<"long is "<<sizeof(long)<<" bytes.\n"; cout<<"float is "<<sizeof(float)<<" bytes.\n"; cout<<"double is "<<sizeof(double)<<" bytes.\n"; cout<<"long double is "<<sizeof(long double)<<" bytes.\n"; cin.get(); }

7.*T4.5

#include <iostream> #include <climits> using namespace std; #define ZERO 0 void main() { // присваиваем максимальное значение для типа short = 32767 short s=SHRT_MAX; unsigned short us=s; cout<<"s="<<s<<" us="<<us<<"\n";

s=s+1; us+=1; cout<<"s="<<s<<" us="<<us<<"\n"; s=ZERO; us=ZERO; cout<<"s="<<s<<" us="<<us<<"\n"; s--; us--; cout<<"s="<<s<<" us="<<us<<"\n"; cin.get(); } Объясните результаты вывода.

#include <iostream> #include <climits> using namespace std; #define ZERO 0 void main() { // присваиваем максимальное значение для типа short = 32767 short s=SHRT_MAX; unsigned short us=s; // будет выведено s=32767 us=32767 cout<<"s="<<s<<" us="<<us<<"\n"; /* Увеличение на единицу максимального значения приводит к выходу за границы диапазона значений типа short. Происходит переход к первому значению диапазона, т.е. к -32768. ( границы диапазонов соединены, и каждый из диапазонов образует кольцо) */ s=s+1; // диапазон у unsigned short равен 0..65535, и поэтому значение // переменной просто увеличивается на 1 us+=1; // будет выведено s=-32768 us=32768 cout<<"s="<<s<<" us="<<us<<"\n"; // присвоили 0, так как благодаря define ZERO = 0 s=ZERO; us=ZERO; // будет выведено s=0 us=0 cout<<"s="<<s<<" us="<<us<<"\n"; // значение переменной уменьшится на 1 s--; // диапазон значений у unsigned short равен 0..65535, поэтому // призойдет переход к максимальному значению диапазона: 65535 us--; // будет выведено s=-1 us=65535 cout<<"s="<<s<<" us="<<us<<"\n"; cin.get(); }

8.*Т4.6

#include<iostream> using namespace std; void main() { int d=42; int h=0x42; int o=042; //cout<<dec; //cout<<hex; //cout<<oct; cout<<"d="<<d<<"\n"; cout<<"h="<<h<<"\n"; cout<<"o="<<o<<"\n"; cin.get(); } 1. Загрузите программу на выполнение, и определите, какая система счисления установлена компилятором по умолчанию для отображения числовых значений.

Десятичная, так как при запуске программы было выведено:

d=42 // десятичное число осталось без изменений, в то время как остальные преобразовались к десятичной системе счисления h=66 o=34