Приведите определение одного и того же числа в 10-ной и 16-ной системах счисления. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Приведите определение одного и того же числа в 10-ной и 16-ной системах счисления.



Приведите определение одного и того же числа в 10-ной и 16-ной системах счисления.

int dec = 31; (в десятичной)

int hex = 0x1f; (в 16-ной системе)

2. Приведите примеры различного определения символа. Как определить символьную константу с использованием 16-ричных чисел и символа /. Приведите примеры определения специальных символов (с использованием /).

const char c='1';
const char d=49;

const char e='\0x31';

char f='\t'; // символ табуляции(для выравнивания текста по горизонтали)

\t - знак табуляции

\n - переход в начало следующей строки.

\a - сигнал.

\r - возврат каретки.

\” - двойные кавычки.

3. Приведите примеры различного определения вещественной константы. Обязательно ли употребление десятичной точки при определении вещественных констант? Определите вещественные числа в экспоненциальной форме.

const float a = 1.2F; (суффикс F после значения константы указывает конкретный тип – float, - занимает 4 байта (7 знаков после запятой))
const long double d = -3.3L;(суффикс L указывает на то, что константа типа long double, если просто double, - занимает 8 байт (до 15 знаков после запятой), суффикс D по умолчанию)

Употребление десятичной точки не обязательно.

const double expF = 5.5e-2;(=0.55)

const double expA = 1.23456e3 (=1234.56)

4. Приведите примеры определения строковых литералов. Как разместить длинную строковую константу в нескольких строках? Что такое «пустая строка»? Ее внутреннее представление.

(Строковые литералы являются последовательностью (возможно, пустой) литер в одном из возможных форматов представления, заключённых в двойные кавычки.)

char c[] = "bev";
char* c2 = "bev";
char c3[10] = "\x62\x65v";

char longStr = “Это очень длинная строка, которая не умещается”

“на одной строке, поэтому мы разбили её на 3.”

“И не обязательно писать '+' между строками, компилятор сам склеит.”

Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту. Например, строка

“Никто не доволен своей \

внешностью, но все довольны\

своим умом”

полностью эквивалентна строке “Никто не доволен своей внешностью, но все довольны своим умом”

char str[] = “”;

В строке содержится только нулевой символ ('\0'), если строка задана указателем на чар char*

если же как выше через string, то надо смотреть представления класса string, а там думаю просто пустой массив

Как определить размер памяти для переменной типа int. От чего он зависит? Зачем используется спецификатор short? Зачем используется спецификатор long? Укажите внутреннее представление величины целого типа. Укажите внутреннее представление величины целого типа в зависимости от модификатора signed.

Размер памяти определяется оператором sizeof(int).Он зависит от компилятора и процессора(является системно-зависимым/аппаратно-зависимым).(Например в 32-разрядных операционных системах, размер переменной int равен 4 байтам(32 битам), в MS DOS тип int занимал всего 2 байта). Зависит от процессора (на 64-битном 8 байт, на 32 – 4 байта)

Спецификаторы short и long используют для изменения размера типа. (short – уменьшение, long – увеличение),

Тип short в любой операционной системе имеет размер, равный 2 байтам. Диапазон значений типа short - от -32 768 до 32 768.

Размер типа long всегда равен 4 байтам и совпадает с размером типа int в случае 32-разрядных систем. Диапазон значений типа long совпадает с диапазоном значений типа int - от -2 147 483 648 до 2 147 483 647.

Signed - старший(первый) бит идёт под знак.

signed int x,y; - отбрасываются положительные, все отрицательные.

unsigned int x,y; - все числа положительные.

Как явно указать, что константа должна иметь некоторый требуемый тип?

Чтобы явно указать, надо указать после числа суффикc: 1.22F, 11234L

Как явно определить вещественную константу нужного типа?

const float PI = 3.14159F

Указать после числа один из следующих суффиксов:

l – long;
u – unsigned;
f – float;
lf – long double.

Можно ли описать несколько переменных одного типа в одном определении? Можно ли описать несколько переменных разных типов в одном определении? Можно ли инициализировать несколько переменных в одном операторе?

Можно описать несколько переменных одного типа в одном определении. (int a,b;)

Можно описать несколько переменных разного типа в одном определенни. (int *p, d;)

Можно инициализировать несколько переменных в одном операторе.(int x,q; x = q = 1;)

Укажите отличия

char str[]=”qwerty”; char str[10]=”qwerty”; char *str=”qwerty”;

в первом случае памяти будет выделено ровно на 7 элементов – на само слово и на ноль в конце

в втором памяти будет на 10 элементов.

В третьем, случае str - указатель на char. Проблема в том, сам по себе указатель можно изменять, но указателю присваивается адрес строкового литерала, который является константным. Таким образом, мы можем считать строку, на которую указывает str, но изменить её, т.е. написать нечто вроде str[3] = '2'; мы не можем.

Стоит ещё добавить, что *str – указатель на константу, так что отдельные символы изменять нельзя, в отличие от str[] и str[10]

ИЛИ

template <class Ttype> тип имя_функции(список_параметров) {тело_функции}

Когда компилятор создает конкретную версию этой ф-ии (вместо Ttype подставляет нужный тип) создается ее конкретизация. Явная специализация шаблона-вручную перегруженная версия шаблона

Когда вызывается конструктор? Наследуется ли конструктор? Укажите синтаксис списка инициализаций при вызове конструктора. Можно ли определить конструктор в закрытой секции? Можно ли явно вызвать конструктор?

Конструктор вызывается в момент создания объекта. Конструктор не наследуется.

class my

{ const int a,b,c;

public:

my(могут быть параметры): a(5),b(3),c(4){};

};

Определить конструктор в закрытой части можно. Оно компилится. Вот тока ни один объект создать не получится.

Нет, вызвать явно конструктор нельзя.

 

Приведите определение одного и того же числа в 10-ной и 16-ной системах счисления.

int dec = 31; (в десятичной)

int hex = 0x1f; (в 16-ной системе)

2. Приведите примеры различного определения символа. Как определить символьную константу с использованием 16-ричных чисел и символа /. Приведите примеры определения специальных символов (с использованием /).

const char c='1';
const char d=49;

const char e='\0x31';

char f='\t'; // символ табуляции(для выравнивания текста по горизонтали)

\t - знак табуляции

\n - переход в начало следующей строки.

\a - сигнал.

\r - возврат каретки.

\” - двойные кавычки.

3. Приведите примеры различного определения вещественной константы. Обязательно ли употребление десятичной точки при определении вещественных констант? Определите вещественные числа в экспоненциальной форме.

const float a = 1.2F; (суффикс F после значения константы указывает конкретный тип – float, - занимает 4 байта (7 знаков после запятой))
const long double d = -3.3L;(суффикс L указывает на то, что константа типа long double, если просто double, - занимает 8 байт (до 15 знаков после запятой), суффикс D по умолчанию)

Употребление десятичной точки не обязательно.

const double expF = 5.5e-2;(=0.55)

const double expA = 1.23456e3 (=1234.56)

4. Приведите примеры определения строковых литералов. Как разместить длинную строковую константу в нескольких строках? Что такое «пустая строка»? Ее внутреннее представление.

(Строковые литералы являются последовательностью (возможно, пустой) литер в одном из возможных форматов представления, заключённых в двойные кавычки.)

char c[] = "bev";
char* c2 = "bev";
char c3[10] = "\x62\x65v";

char longStr = “Это очень длинная строка, которая не умещается”

“на одной строке, поэтому мы разбили её на 3.”

“И не обязательно писать '+' между строками, компилятор сам склеит.”

Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту. Например, строка

“Никто не доволен своей \

внешностью, но все довольны\

своим умом”

полностью эквивалентна строке “Никто не доволен своей внешностью, но все довольны своим умом”

char str[] = “”;

В строке содержится только нулевой символ ('\0'), если строка задана указателем на чар char*

если же как выше через string, то надо смотреть представления класса string, а там думаю просто пустой массив

Как определить размер памяти для переменной типа int. От чего он зависит? Зачем используется спецификатор short? Зачем используется спецификатор long? Укажите внутреннее представление величины целого типа. Укажите внутреннее представление величины целого типа в зависимости от модификатора signed.

Размер памяти определяется оператором sizeof(int).Он зависит от компилятора и процессора(является системно-зависимым/аппаратно-зависимым).(Например в 32-разрядных операционных системах, размер переменной int равен 4 байтам(32 битам), в MS DOS тип int занимал всего 2 байта). Зависит от процессора (на 64-битном 8 байт, на 32 – 4 байта)

Спецификаторы short и long используют для изменения размера типа. (short – уменьшение, long – увеличение),

Тип short в любой операционной системе имеет размер, равный 2 байтам. Диапазон значений типа short - от -32 768 до 32 768.

Размер типа long всегда равен 4 байтам и совпадает с размером типа int в случае 32-разрядных систем. Диапазон значений типа long совпадает с диапазоном значений типа int - от -2 147 483 648 до 2 147 483 647.

Signed - старший(первый) бит идёт под знак.

signed int x,y; - отбрасываются положительные, все отрицательные.

unsigned int x,y; - все числа положительные.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 562; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.192.53.34 (0.029 с.)